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

gcp.bigquerydatapolicy.DataPolicy

Explore with Pulumi AI

A BigQuery Data Policy

To get more information about DataPolicy, see:

Example Usage

Bigquery Datapolicy Data Policy Basic

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const taxonomy = new gcp.datacatalog.Taxonomy("taxonomy", {
    region: "us-central1",
    displayName: "taxonomy",
    description: "A collection of policy tags",
    activatedPolicyTypes: ["FINE_GRAINED_ACCESS_CONTROL"],
});
const policyTag = new gcp.datacatalog.PolicyTag("policy_tag", {
    taxonomy: taxonomy.id,
    displayName: "Low security",
    description: "A policy tag normally associated with low security items",
});
const dataPolicy = new gcp.bigquerydatapolicy.DataPolicy("data_policy", {
    location: "us-central1",
    dataPolicyId: "data_policy",
    policyTag: policyTag.name,
    dataPolicyType: "COLUMN_LEVEL_SECURITY_POLICY",
});
Copy
import pulumi
import pulumi_gcp as gcp

taxonomy = gcp.datacatalog.Taxonomy("taxonomy",
    region="us-central1",
    display_name="taxonomy",
    description="A collection of policy tags",
    activated_policy_types=["FINE_GRAINED_ACCESS_CONTROL"])
policy_tag = gcp.datacatalog.PolicyTag("policy_tag",
    taxonomy=taxonomy.id,
    display_name="Low security",
    description="A policy tag normally associated with low security items")
data_policy = gcp.bigquerydatapolicy.DataPolicy("data_policy",
    location="us-central1",
    data_policy_id="data_policy",
    policy_tag=policy_tag.name,
    data_policy_type="COLUMN_LEVEL_SECURITY_POLICY")
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigquerydatapolicy"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/datacatalog"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		taxonomy, err := datacatalog.NewTaxonomy(ctx, "taxonomy", &datacatalog.TaxonomyArgs{
			Region:      pulumi.String("us-central1"),
			DisplayName: pulumi.String("taxonomy"),
			Description: pulumi.String("A collection of policy tags"),
			ActivatedPolicyTypes: pulumi.StringArray{
				pulumi.String("FINE_GRAINED_ACCESS_CONTROL"),
			},
		})
		if err != nil {
			return err
		}
		policyTag, err := datacatalog.NewPolicyTag(ctx, "policy_tag", &datacatalog.PolicyTagArgs{
			Taxonomy:    taxonomy.ID(),
			DisplayName: pulumi.String("Low security"),
			Description: pulumi.String("A policy tag normally associated with low security items"),
		})
		if err != nil {
			return err
		}
		_, err = bigquerydatapolicy.NewDataPolicy(ctx, "data_policy", &bigquerydatapolicy.DataPolicyArgs{
			Location:       pulumi.String("us-central1"),
			DataPolicyId:   pulumi.String("data_policy"),
			PolicyTag:      policyTag.Name,
			DataPolicyType: pulumi.String("COLUMN_LEVEL_SECURITY_POLICY"),
		})
		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 taxonomy = new Gcp.DataCatalog.Taxonomy("taxonomy", new()
    {
        Region = "us-central1",
        DisplayName = "taxonomy",
        Description = "A collection of policy tags",
        ActivatedPolicyTypes = new[]
        {
            "FINE_GRAINED_ACCESS_CONTROL",
        },
    });

    var policyTag = new Gcp.DataCatalog.PolicyTag("policy_tag", new()
    {
        Taxonomy = taxonomy.Id,
        DisplayName = "Low security",
        Description = "A policy tag normally associated with low security items",
    });

    var dataPolicy = new Gcp.BigQueryDataPolicy.DataPolicy("data_policy", new()
    {
        Location = "us-central1",
        DataPolicyId = "data_policy",
        PolicyTag = policyTag.Name,
        DataPolicyType = "COLUMN_LEVEL_SECURITY_POLICY",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.datacatalog.Taxonomy;
import com.pulumi.gcp.datacatalog.TaxonomyArgs;
import com.pulumi.gcp.datacatalog.PolicyTag;
import com.pulumi.gcp.datacatalog.PolicyTagArgs;
import com.pulumi.gcp.bigquerydatapolicy.DataPolicy;
import com.pulumi.gcp.bigquerydatapolicy.DataPolicyArgs;
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 taxonomy = new Taxonomy("taxonomy", TaxonomyArgs.builder()
            .region("us-central1")
            .displayName("taxonomy")
            .description("A collection of policy tags")
            .activatedPolicyTypes("FINE_GRAINED_ACCESS_CONTROL")
            .build());

        var policyTag = new PolicyTag("policyTag", PolicyTagArgs.builder()
            .taxonomy(taxonomy.id())
            .displayName("Low security")
            .description("A policy tag normally associated with low security items")
            .build());

        var dataPolicy = new DataPolicy("dataPolicy", DataPolicyArgs.builder()
            .location("us-central1")
            .dataPolicyId("data_policy")
            .policyTag(policyTag.name())
            .dataPolicyType("COLUMN_LEVEL_SECURITY_POLICY")
            .build());

    }
}
Copy
resources:
  dataPolicy:
    type: gcp:bigquerydatapolicy:DataPolicy
    name: data_policy
    properties:
      location: us-central1
      dataPolicyId: data_policy
      policyTag: ${policyTag.name}
      dataPolicyType: COLUMN_LEVEL_SECURITY_POLICY
  policyTag:
    type: gcp:datacatalog:PolicyTag
    name: policy_tag
    properties:
      taxonomy: ${taxonomy.id}
      displayName: Low security
      description: A policy tag normally associated with low security items
  taxonomy:
    type: gcp:datacatalog:Taxonomy
    properties:
      region: us-central1
      displayName: taxonomy
      description: A collection of policy tags
      activatedPolicyTypes:
        - FINE_GRAINED_ACCESS_CONTROL
Copy

Bigquery Datapolicy Data Policy Routine

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const taxonomy = new gcp.datacatalog.Taxonomy("taxonomy", {
    region: "us-central1",
    displayName: "taxonomy",
    description: "A collection of policy tags",
    activatedPolicyTypes: ["FINE_GRAINED_ACCESS_CONTROL"],
});
const policyTag = new gcp.datacatalog.PolicyTag("policy_tag", {
    taxonomy: taxonomy.id,
    displayName: "Low security",
    description: "A policy tag normally associated with low security items",
});
const test = new gcp.bigquery.Dataset("test", {
    datasetId: "dataset_id",
    location: "us-central1",
});
const customMaskingRoutine = new gcp.bigquery.Routine("custom_masking_routine", {
    datasetId: test.datasetId,
    routineId: "custom_masking_routine",
    routineType: "SCALAR_FUNCTION",
    language: "SQL",
    dataGovernanceType: "DATA_MASKING",
    definitionBody: "SAFE.REGEXP_REPLACE(ssn, '[0-9]', 'X')",
    returnType: "{\"typeKind\" :  \"STRING\"}",
    arguments: [{
        name: "ssn",
        dataType: "{\"typeKind\" :  \"STRING\"}",
    }],
});
const dataPolicy = new gcp.bigquerydatapolicy.DataPolicy("data_policy", {
    location: "us-central1",
    dataPolicyId: "data_policy",
    policyTag: policyTag.name,
    dataPolicyType: "DATA_MASKING_POLICY",
    dataMaskingPolicy: {
        routine: customMaskingRoutine.id,
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

taxonomy = gcp.datacatalog.Taxonomy("taxonomy",
    region="us-central1",
    display_name="taxonomy",
    description="A collection of policy tags",
    activated_policy_types=["FINE_GRAINED_ACCESS_CONTROL"])
policy_tag = gcp.datacatalog.PolicyTag("policy_tag",
    taxonomy=taxonomy.id,
    display_name="Low security",
    description="A policy tag normally associated with low security items")
test = gcp.bigquery.Dataset("test",
    dataset_id="dataset_id",
    location="us-central1")
custom_masking_routine = gcp.bigquery.Routine("custom_masking_routine",
    dataset_id=test.dataset_id,
    routine_id="custom_masking_routine",
    routine_type="SCALAR_FUNCTION",
    language="SQL",
    data_governance_type="DATA_MASKING",
    definition_body="SAFE.REGEXP_REPLACE(ssn, '[0-9]', 'X')",
    return_type="{\"typeKind\" :  \"STRING\"}",
    arguments=[{
        "name": "ssn",
        "data_type": "{\"typeKind\" :  \"STRING\"}",
    }])
data_policy = gcp.bigquerydatapolicy.DataPolicy("data_policy",
    location="us-central1",
    data_policy_id="data_policy",
    policy_tag=policy_tag.name,
    data_policy_type="DATA_MASKING_POLICY",
    data_masking_policy={
        "routine": custom_masking_routine.id,
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigquery"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigquerydatapolicy"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/datacatalog"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		taxonomy, err := datacatalog.NewTaxonomy(ctx, "taxonomy", &datacatalog.TaxonomyArgs{
			Region:      pulumi.String("us-central1"),
			DisplayName: pulumi.String("taxonomy"),
			Description: pulumi.String("A collection of policy tags"),
			ActivatedPolicyTypes: pulumi.StringArray{
				pulumi.String("FINE_GRAINED_ACCESS_CONTROL"),
			},
		})
		if err != nil {
			return err
		}
		policyTag, err := datacatalog.NewPolicyTag(ctx, "policy_tag", &datacatalog.PolicyTagArgs{
			Taxonomy:    taxonomy.ID(),
			DisplayName: pulumi.String("Low security"),
			Description: pulumi.String("A policy tag normally associated with low security items"),
		})
		if err != nil {
			return err
		}
		test, err := bigquery.NewDataset(ctx, "test", &bigquery.DatasetArgs{
			DatasetId: pulumi.String("dataset_id"),
			Location:  pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		customMaskingRoutine, err := bigquery.NewRoutine(ctx, "custom_masking_routine", &bigquery.RoutineArgs{
			DatasetId:          test.DatasetId,
			RoutineId:          pulumi.String("custom_masking_routine"),
			RoutineType:        pulumi.String("SCALAR_FUNCTION"),
			Language:           pulumi.String("SQL"),
			DataGovernanceType: pulumi.String("DATA_MASKING"),
			DefinitionBody:     pulumi.String("SAFE.REGEXP_REPLACE(ssn, '[0-9]', 'X')"),
			ReturnType:         pulumi.String("{\"typeKind\" :  \"STRING\"}"),
			Arguments: bigquery.RoutineArgumentArray{
				&bigquery.RoutineArgumentArgs{
					Name:     pulumi.String("ssn"),
					DataType: pulumi.String("{\"typeKind\" :  \"STRING\"}"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = bigquerydatapolicy.NewDataPolicy(ctx, "data_policy", &bigquerydatapolicy.DataPolicyArgs{
			Location:       pulumi.String("us-central1"),
			DataPolicyId:   pulumi.String("data_policy"),
			PolicyTag:      policyTag.Name,
			DataPolicyType: pulumi.String("DATA_MASKING_POLICY"),
			DataMaskingPolicy: &bigquerydatapolicy.DataPolicyDataMaskingPolicyArgs{
				Routine: customMaskingRoutine.ID(),
			},
		})
		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 taxonomy = new Gcp.DataCatalog.Taxonomy("taxonomy", new()
    {
        Region = "us-central1",
        DisplayName = "taxonomy",
        Description = "A collection of policy tags",
        ActivatedPolicyTypes = new[]
        {
            "FINE_GRAINED_ACCESS_CONTROL",
        },
    });

    var policyTag = new Gcp.DataCatalog.PolicyTag("policy_tag", new()
    {
        Taxonomy = taxonomy.Id,
        DisplayName = "Low security",
        Description = "A policy tag normally associated with low security items",
    });

    var test = new Gcp.BigQuery.Dataset("test", new()
    {
        DatasetId = "dataset_id",
        Location = "us-central1",
    });

    var customMaskingRoutine = new Gcp.BigQuery.Routine("custom_masking_routine", new()
    {
        DatasetId = test.DatasetId,
        RoutineId = "custom_masking_routine",
        RoutineType = "SCALAR_FUNCTION",
        Language = "SQL",
        DataGovernanceType = "DATA_MASKING",
        DefinitionBody = "SAFE.REGEXP_REPLACE(ssn, '[0-9]', 'X')",
        ReturnType = "{\"typeKind\" :  \"STRING\"}",
        Arguments = new[]
        {
            new Gcp.BigQuery.Inputs.RoutineArgumentArgs
            {
                Name = "ssn",
                DataType = "{\"typeKind\" :  \"STRING\"}",
            },
        },
    });

    var dataPolicy = new Gcp.BigQueryDataPolicy.DataPolicy("data_policy", new()
    {
        Location = "us-central1",
        DataPolicyId = "data_policy",
        PolicyTag = policyTag.Name,
        DataPolicyType = "DATA_MASKING_POLICY",
        DataMaskingPolicy = new Gcp.BigQueryDataPolicy.Inputs.DataPolicyDataMaskingPolicyArgs
        {
            Routine = customMaskingRoutine.Id,
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.datacatalog.Taxonomy;
import com.pulumi.gcp.datacatalog.TaxonomyArgs;
import com.pulumi.gcp.datacatalog.PolicyTag;
import com.pulumi.gcp.datacatalog.PolicyTagArgs;
import com.pulumi.gcp.bigquery.Dataset;
import com.pulumi.gcp.bigquery.DatasetArgs;
import com.pulumi.gcp.bigquery.Routine;
import com.pulumi.gcp.bigquery.RoutineArgs;
import com.pulumi.gcp.bigquery.inputs.RoutineArgumentArgs;
import com.pulumi.gcp.bigquerydatapolicy.DataPolicy;
import com.pulumi.gcp.bigquerydatapolicy.DataPolicyArgs;
import com.pulumi.gcp.bigquerydatapolicy.inputs.DataPolicyDataMaskingPolicyArgs;
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 taxonomy = new Taxonomy("taxonomy", TaxonomyArgs.builder()
            .region("us-central1")
            .displayName("taxonomy")
            .description("A collection of policy tags")
            .activatedPolicyTypes("FINE_GRAINED_ACCESS_CONTROL")
            .build());

        var policyTag = new PolicyTag("policyTag", PolicyTagArgs.builder()
            .taxonomy(taxonomy.id())
            .displayName("Low security")
            .description("A policy tag normally associated with low security items")
            .build());

        var test = new Dataset("test", DatasetArgs.builder()
            .datasetId("dataset_id")
            .location("us-central1")
            .build());

        var customMaskingRoutine = new Routine("customMaskingRoutine", RoutineArgs.builder()
            .datasetId(test.datasetId())
            .routineId("custom_masking_routine")
            .routineType("SCALAR_FUNCTION")
            .language("SQL")
            .dataGovernanceType("DATA_MASKING")
            .definitionBody("SAFE.REGEXP_REPLACE(ssn, '[0-9]', 'X')")
            .returnType("{\"typeKind\" :  \"STRING\"}")
            .arguments(RoutineArgumentArgs.builder()
                .name("ssn")
                .dataType("{\"typeKind\" :  \"STRING\"}")
                .build())
            .build());

        var dataPolicy = new DataPolicy("dataPolicy", DataPolicyArgs.builder()
            .location("us-central1")
            .dataPolicyId("data_policy")
            .policyTag(policyTag.name())
            .dataPolicyType("DATA_MASKING_POLICY")
            .dataMaskingPolicy(DataPolicyDataMaskingPolicyArgs.builder()
                .routine(customMaskingRoutine.id())
                .build())
            .build());

    }
}
Copy
resources:
  dataPolicy:
    type: gcp:bigquerydatapolicy:DataPolicy
    name: data_policy
    properties:
      location: us-central1
      dataPolicyId: data_policy
      policyTag: ${policyTag.name}
      dataPolicyType: DATA_MASKING_POLICY
      dataMaskingPolicy:
        routine: ${customMaskingRoutine.id}
  policyTag:
    type: gcp:datacatalog:PolicyTag
    name: policy_tag
    properties:
      taxonomy: ${taxonomy.id}
      displayName: Low security
      description: A policy tag normally associated with low security items
  taxonomy:
    type: gcp:datacatalog:Taxonomy
    properties:
      region: us-central1
      displayName: taxonomy
      description: A collection of policy tags
      activatedPolicyTypes:
        - FINE_GRAINED_ACCESS_CONTROL
  test:
    type: gcp:bigquery:Dataset
    properties:
      datasetId: dataset_id
      location: us-central1
  customMaskingRoutine:
    type: gcp:bigquery:Routine
    name: custom_masking_routine
    properties:
      datasetId: ${test.datasetId}
      routineId: custom_masking_routine
      routineType: SCALAR_FUNCTION
      language: SQL
      dataGovernanceType: DATA_MASKING
      definitionBody: SAFE.REGEXP_REPLACE(ssn, '[0-9]', 'X')
      returnType: '{"typeKind" :  "STRING"}'
      arguments:
        - name: ssn
          dataType: '{"typeKind" :  "STRING"}'
Copy

Create DataPolicy Resource

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

Constructor syntax

new DataPolicy(name: string, args: DataPolicyArgs, opts?: CustomResourceOptions);
@overload
def DataPolicy(resource_name: str,
               args: DataPolicyArgs,
               opts: Optional[ResourceOptions] = None)

@overload
def DataPolicy(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               data_policy_id: Optional[str] = None,
               data_policy_type: Optional[str] = None,
               location: Optional[str] = None,
               policy_tag: Optional[str] = None,
               data_masking_policy: Optional[DataPolicyDataMaskingPolicyArgs] = None,
               project: Optional[str] = None)
func NewDataPolicy(ctx *Context, name string, args DataPolicyArgs, opts ...ResourceOption) (*DataPolicy, error)
public DataPolicy(string name, DataPolicyArgs args, CustomResourceOptions? opts = null)
public DataPolicy(String name, DataPolicyArgs args)
public DataPolicy(String name, DataPolicyArgs args, CustomResourceOptions options)
type: gcp:bigquerydatapolicy:DataPolicy
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. DataPolicyArgs
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. DataPolicyArgs
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. DataPolicyArgs
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. DataPolicyArgs
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. DataPolicyArgs
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 dataPolicyResource = new Gcp.BigQueryDataPolicy.DataPolicy("dataPolicyResource", new()
{
    DataPolicyId = "string",
    DataPolicyType = "string",
    Location = "string",
    PolicyTag = "string",
    DataMaskingPolicy = new Gcp.BigQueryDataPolicy.Inputs.DataPolicyDataMaskingPolicyArgs
    {
        PredefinedExpression = "string",
        Routine = "string",
    },
    Project = "string",
});
Copy
example, err := bigquerydatapolicy.NewDataPolicy(ctx, "dataPolicyResource", &bigquerydatapolicy.DataPolicyArgs{
	DataPolicyId:   pulumi.String("string"),
	DataPolicyType: pulumi.String("string"),
	Location:       pulumi.String("string"),
	PolicyTag:      pulumi.String("string"),
	DataMaskingPolicy: &bigquerydatapolicy.DataPolicyDataMaskingPolicyArgs{
		PredefinedExpression: pulumi.String("string"),
		Routine:              pulumi.String("string"),
	},
	Project: pulumi.String("string"),
})
Copy
var dataPolicyResource = new DataPolicy("dataPolicyResource", DataPolicyArgs.builder()
    .dataPolicyId("string")
    .dataPolicyType("string")
    .location("string")
    .policyTag("string")
    .dataMaskingPolicy(DataPolicyDataMaskingPolicyArgs.builder()
        .predefinedExpression("string")
        .routine("string")
        .build())
    .project("string")
    .build());
Copy
data_policy_resource = gcp.bigquerydatapolicy.DataPolicy("dataPolicyResource",
    data_policy_id="string",
    data_policy_type="string",
    location="string",
    policy_tag="string",
    data_masking_policy={
        "predefined_expression": "string",
        "routine": "string",
    },
    project="string")
Copy
const dataPolicyResource = new gcp.bigquerydatapolicy.DataPolicy("dataPolicyResource", {
    dataPolicyId: "string",
    dataPolicyType: "string",
    location: "string",
    policyTag: "string",
    dataMaskingPolicy: {
        predefinedExpression: "string",
        routine: "string",
    },
    project: "string",
});
Copy
type: gcp:bigquerydatapolicy:DataPolicy
properties:
    dataMaskingPolicy:
        predefinedExpression: string
        routine: string
    dataPolicyId: string
    dataPolicyType: string
    location: string
    policyTag: string
    project: string
Copy

DataPolicy 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 DataPolicy resource accepts the following input properties:

DataPolicyId
This property is required.
Changes to this property will trigger replacement.
string
User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
DataPolicyType This property is required. string
The enrollment level of the service. Possible values are: COLUMN_LEVEL_SECURITY_POLICY, DATA_MASKING_POLICY.


Location
This property is required.
Changes to this property will trigger replacement.
string
The name of the location of the data policy.
PolicyTag This property is required. string
Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
DataMaskingPolicy DataPolicyDataMaskingPolicy
The data masking policy that specifies the data masking rule to use. Structure is documented below.
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
DataPolicyId
This property is required.
Changes to this property will trigger replacement.
string
User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
DataPolicyType This property is required. string
The enrollment level of the service. Possible values are: COLUMN_LEVEL_SECURITY_POLICY, DATA_MASKING_POLICY.


Location
This property is required.
Changes to this property will trigger replacement.
string
The name of the location of the data policy.
PolicyTag This property is required. string
Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
DataMaskingPolicy DataPolicyDataMaskingPolicyArgs
The data masking policy that specifies the data masking rule to use. Structure is documented below.
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
dataPolicyId
This property is required.
Changes to this property will trigger replacement.
String
User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
dataPolicyType This property is required. String
The enrollment level of the service. Possible values are: COLUMN_LEVEL_SECURITY_POLICY, DATA_MASKING_POLICY.


location
This property is required.
Changes to this property will trigger replacement.
String
The name of the location of the data policy.
policyTag This property is required. String
Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
dataMaskingPolicy DataPolicyDataMaskingPolicy
The data masking policy that specifies the data masking rule to use. Structure is documented below.
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
dataPolicyId
This property is required.
Changes to this property will trigger replacement.
string
User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
dataPolicyType This property is required. string
The enrollment level of the service. Possible values are: COLUMN_LEVEL_SECURITY_POLICY, DATA_MASKING_POLICY.


location
This property is required.
Changes to this property will trigger replacement.
string
The name of the location of the data policy.
policyTag This property is required. string
Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
dataMaskingPolicy DataPolicyDataMaskingPolicy
The data masking policy that specifies the data masking rule to use. Structure is documented below.
project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
data_policy_id
This property is required.
Changes to this property will trigger replacement.
str
User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
data_policy_type This property is required. str
The enrollment level of the service. Possible values are: COLUMN_LEVEL_SECURITY_POLICY, DATA_MASKING_POLICY.


location
This property is required.
Changes to this property will trigger replacement.
str
The name of the location of the data policy.
policy_tag This property is required. str
Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
data_masking_policy DataPolicyDataMaskingPolicyArgs
The data masking policy that specifies the data masking rule to use. Structure is documented below.
project Changes to this property will trigger replacement. str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
dataPolicyId
This property is required.
Changes to this property will trigger replacement.
String
User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
dataPolicyType This property is required. String
The enrollment level of the service. Possible values are: COLUMN_LEVEL_SECURITY_POLICY, DATA_MASKING_POLICY.


location
This property is required.
Changes to this property will trigger replacement.
String
The name of the location of the data policy.
policyTag This property is required. String
Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
dataMaskingPolicy Property Map
The data masking policy that specifies the data masking rule to use. Structure is documented below.
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Outputs

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

Id string
The provider-assigned unique ID for this managed resource.
Name string
Resource name of this data policy, in the format of projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.
Id string
The provider-assigned unique ID for this managed resource.
Name string
Resource name of this data policy, in the format of projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.
id String
The provider-assigned unique ID for this managed resource.
name String
Resource name of this data policy, in the format of projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.
id string
The provider-assigned unique ID for this managed resource.
name string
Resource name of this data policy, in the format of projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.
id str
The provider-assigned unique ID for this managed resource.
name str
Resource name of this data policy, in the format of projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.
id String
The provider-assigned unique ID for this managed resource.
name String
Resource name of this data policy, in the format of projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.

Look up Existing DataPolicy Resource

Get an existing DataPolicy 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?: DataPolicyState, opts?: CustomResourceOptions): DataPolicy
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        data_masking_policy: Optional[DataPolicyDataMaskingPolicyArgs] = None,
        data_policy_id: Optional[str] = None,
        data_policy_type: Optional[str] = None,
        location: Optional[str] = None,
        name: Optional[str] = None,
        policy_tag: Optional[str] = None,
        project: Optional[str] = None) -> DataPolicy
func GetDataPolicy(ctx *Context, name string, id IDInput, state *DataPolicyState, opts ...ResourceOption) (*DataPolicy, error)
public static DataPolicy Get(string name, Input<string> id, DataPolicyState? state, CustomResourceOptions? opts = null)
public static DataPolicy get(String name, Output<String> id, DataPolicyState state, CustomResourceOptions options)
resources:  _:    type: gcp:bigquerydatapolicy:DataPolicy    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:
DataMaskingPolicy DataPolicyDataMaskingPolicy
The data masking policy that specifies the data masking rule to use. Structure is documented below.
DataPolicyId Changes to this property will trigger replacement. string
User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
DataPolicyType string
The enrollment level of the service. Possible values are: COLUMN_LEVEL_SECURITY_POLICY, DATA_MASKING_POLICY.


Location Changes to this property will trigger replacement. string
The name of the location of the data policy.
Name string
Resource name of this data policy, in the format of projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.
PolicyTag string
Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
DataMaskingPolicy DataPolicyDataMaskingPolicyArgs
The data masking policy that specifies the data masking rule to use. Structure is documented below.
DataPolicyId Changes to this property will trigger replacement. string
User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
DataPolicyType string
The enrollment level of the service. Possible values are: COLUMN_LEVEL_SECURITY_POLICY, DATA_MASKING_POLICY.


Location Changes to this property will trigger replacement. string
The name of the location of the data policy.
Name string
Resource name of this data policy, in the format of projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.
PolicyTag string
Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
dataMaskingPolicy DataPolicyDataMaskingPolicy
The data masking policy that specifies the data masking rule to use. Structure is documented below.
dataPolicyId Changes to this property will trigger replacement. String
User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
dataPolicyType String
The enrollment level of the service. Possible values are: COLUMN_LEVEL_SECURITY_POLICY, DATA_MASKING_POLICY.


location Changes to this property will trigger replacement. String
The name of the location of the data policy.
name String
Resource name of this data policy, in the format of projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.
policyTag String
Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
dataMaskingPolicy DataPolicyDataMaskingPolicy
The data masking policy that specifies the data masking rule to use. Structure is documented below.
dataPolicyId Changes to this property will trigger replacement. string
User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
dataPolicyType string
The enrollment level of the service. Possible values are: COLUMN_LEVEL_SECURITY_POLICY, DATA_MASKING_POLICY.


location Changes to this property will trigger replacement. string
The name of the location of the data policy.
name string
Resource name of this data policy, in the format of projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.
policyTag string
Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
data_masking_policy DataPolicyDataMaskingPolicyArgs
The data masking policy that specifies the data masking rule to use. Structure is documented below.
data_policy_id Changes to this property will trigger replacement. str
User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
data_policy_type str
The enrollment level of the service. Possible values are: COLUMN_LEVEL_SECURITY_POLICY, DATA_MASKING_POLICY.


location Changes to this property will trigger replacement. str
The name of the location of the data policy.
name str
Resource name of this data policy, in the format of projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.
policy_tag str
Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
project Changes to this property will trigger replacement. str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
dataMaskingPolicy Property Map
The data masking policy that specifies the data masking rule to use. Structure is documented below.
dataPolicyId Changes to this property will trigger replacement. String
User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {dataPolicyId} in part of the resource name.
dataPolicyType String
The enrollment level of the service. Possible values are: COLUMN_LEVEL_SECURITY_POLICY, DATA_MASKING_POLICY.


location Changes to this property will trigger replacement. String
The name of the location of the data policy.
name String
Resource name of this data policy, in the format of projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.
policyTag String
Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Supporting Types

DataPolicyDataMaskingPolicy
, DataPolicyDataMaskingPolicyArgs

PredefinedExpression string
The available masking rules. Learn more here: https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options. Possible values are: SHA256, ALWAYS_NULL, DEFAULT_MASKING_VALUE, LAST_FOUR_CHARACTERS, FIRST_FOUR_CHARACTERS, EMAIL_MASK, DATE_YEAR_MASK.
Routine string
The name of the BigQuery routine that contains the custom masking routine, in the format of projects/{projectNumber}/datasets/{dataset_id}/routines/{routine_id}.
PredefinedExpression string
The available masking rules. Learn more here: https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options. Possible values are: SHA256, ALWAYS_NULL, DEFAULT_MASKING_VALUE, LAST_FOUR_CHARACTERS, FIRST_FOUR_CHARACTERS, EMAIL_MASK, DATE_YEAR_MASK.
Routine string
The name of the BigQuery routine that contains the custom masking routine, in the format of projects/{projectNumber}/datasets/{dataset_id}/routines/{routine_id}.
predefinedExpression String
The available masking rules. Learn more here: https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options. Possible values are: SHA256, ALWAYS_NULL, DEFAULT_MASKING_VALUE, LAST_FOUR_CHARACTERS, FIRST_FOUR_CHARACTERS, EMAIL_MASK, DATE_YEAR_MASK.
routine String
The name of the BigQuery routine that contains the custom masking routine, in the format of projects/{projectNumber}/datasets/{dataset_id}/routines/{routine_id}.
predefinedExpression string
The available masking rules. Learn more here: https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options. Possible values are: SHA256, ALWAYS_NULL, DEFAULT_MASKING_VALUE, LAST_FOUR_CHARACTERS, FIRST_FOUR_CHARACTERS, EMAIL_MASK, DATE_YEAR_MASK.
routine string
The name of the BigQuery routine that contains the custom masking routine, in the format of projects/{projectNumber}/datasets/{dataset_id}/routines/{routine_id}.
predefined_expression str
The available masking rules. Learn more here: https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options. Possible values are: SHA256, ALWAYS_NULL, DEFAULT_MASKING_VALUE, LAST_FOUR_CHARACTERS, FIRST_FOUR_CHARACTERS, EMAIL_MASK, DATE_YEAR_MASK.
routine str
The name of the BigQuery routine that contains the custom masking routine, in the format of projects/{projectNumber}/datasets/{dataset_id}/routines/{routine_id}.
predefinedExpression String
The available masking rules. Learn more here: https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options. Possible values are: SHA256, ALWAYS_NULL, DEFAULT_MASKING_VALUE, LAST_FOUR_CHARACTERS, FIRST_FOUR_CHARACTERS, EMAIL_MASK, DATE_YEAR_MASK.
routine String
The name of the BigQuery routine that contains the custom masking routine, in the format of projects/{projectNumber}/datasets/{dataset_id}/routines/{routine_id}.

Import

DataPolicy can be imported using any of these accepted formats:

  • projects/{{project}}/locations/{{location}}/dataPolicies/{{data_policy_id}}

  • {{project}}/{{location}}/{{data_policy_id}}

  • {{location}}/{{data_policy_id}}

When using the pulumi import command, DataPolicy can be imported using one of the formats above. For example:

$ pulumi import gcp:bigquerydatapolicy/dataPolicy:DataPolicy default projects/{{project}}/locations/{{location}}/dataPolicies/{{data_policy_id}}
Copy
$ pulumi import gcp:bigquerydatapolicy/dataPolicy:DataPolicy default {{project}}/{{location}}/{{data_policy_id}}
Copy
$ pulumi import gcp:bigquerydatapolicy/dataPolicy:DataPolicy default {{location}}/{{data_policy_id}}
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.