/** * Data Safe API * APIs for using Oracle Data Safe. * OpenAPI spec version: 20181201 * * * NOTE: This class is auto generated by OracleSDKGenerator. * Do not edit the class manually. * * Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved. * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. */ import * as model from "../model"; /** * Details to create a new masking policy. Use either a sensitive data model or a reference * target database to create your masking policy. *
To use a sensitive data model as the source of masking columns, set the columnSource * attribute to SENSITIVE_DATA_MODEL and provide the sensitiveDataModelId attribute. After * creating a masking policy, you can use the AddMaskingColumnsFromSdm operation to automatically * add all the columns from the associated sensitive data model. In this case, the target * database associated with the sensitive data model is used for column and masking format validations. *
You can also create a masking policy without using a sensitive data model. In this case, * you need to associate your masking policy with a target database by setting the columnSource * attribute to TARGET and providing the targetId attribute. The specified target database is * used for column and masking format validations. *
After creating a masking policy, you can use the CreateMaskingColumn or PatchMaskingColumns * operation to manually add columns to the policy. You need to add the parent columns only, * and it automatically adds the child columns (in referential relationship with the parent * columns) from the associated sensitive data model or target database. * */ export interface CreateMaskingPolicyDetails { /** * The display name of the masking policy. The name does not have to be unique, and it's changeable. */ "displayName"?: string; /** * The OCID of the compartment where the masking policy should be created. */ "compartmentId": string; /** * The description of the masking policy. */ "description"?: string; /** * Indicates if the temporary tables created during a masking operation should be dropped after masking. It's enabled by default. * Set this attribute to false to preserve the temporary tables. Masking creates temporary tables that map the original sensitive * data values to mask values. By default, these temporary tables are dropped after masking. But, in some cases, you may want * to preserve this information to track how masking changed your data. Note that doing so compromises security. These tables * must be dropped before the database is available for unprivileged users. * */ "isDropTempTablesEnabled"?: boolean; /** * Indicates if redo logging is enabled during a masking operation. It's disabled by default. Set this attribute to true to * enable redo logging. By default, masking disables redo logging and flashback logging to purge any original unmasked * data from logs. However, in certain circumstances when you only want to test masking, rollback changes, and retry masking, * you could enable logging and use a flashback database to retrieve the original unmasked data after it has been masked. * */ "isRedoLoggingEnabled"?: boolean; /** * Indicates if statistics gathering is enabled. It's enabled by default. Set this attribute to false to disable statistics * gathering. The masking process gathers statistics on masked database tables after masking completes. * */ "isRefreshStatsEnabled"?: boolean; /** * Specifies options to enable parallel execution when running data masking. Allowed values are 'NONE' (no parallelism), * 'DEFAULT' (the Oracle Database computes the optimum degree of parallelism) or an integer value to be used as the degree * of parallelism. Parallel execution helps effectively use multiple CPUs and improve masking performance. Refer to the * Oracle Database parallel execution framework when choosing an explicit degree of parallelism. * */ "parallelDegree"?: string; /** * Specifies how to recompile invalid objects post data masking. Allowed values are 'SERIAL' (recompile in serial), * 'PARALLEL' (recompile in parallel), 'NONE' (do not recompile). If it's set to PARALLEL, the value of parallelDegree * attribute is used. Use the built-in UTL_RECOMP package to recompile any remaining invalid objects after masking completes. * */ "recompile"?: string; /** * A pre-masking script, which can contain SQL and PL/SQL statements. It's executed before * the core masking script generated using the masking policy. It's usually used to perform * any preparation or prerequisite work before masking data. * */ "preMaskingScript"?: string; /** * A post-masking script, which can contain SQL and PL/SQL statements. It's executed after * the core masking script generated using the masking policy. It's usually used to perform * additional transformation or cleanup work after masking. * */ "postMaskingScript"?: string; "columnSource": model.CreateColumnSourceFromTargetDetails | model.CreateColumnSourceFromSdmDetails; /** * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm) *
Example: {@code {\"Department\": \"Finance\"}} * */ "freeformTags"?: { [key: string]: string; }; /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm) * Example: {@code {\"Operations\": {\"CostCenter\": \"42\"}}} * */ "definedTags"?: { [key: string]: { [key: string]: any; }; }; } export declare namespace CreateMaskingPolicyDetails { function getJsonObj(obj: CreateMaskingPolicyDetails): object; function getDeserializedJsonObj(obj: CreateMaskingPolicyDetails): object; }