import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This data source provides the list of Masking Policies Masking Columns in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of masking columns present in the specified masking policy and based on the specified query parameters.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testMaskingPoliciesMaskingColumns = oci.datasafe.getMaskingPoliciesMaskingColumns({
 *     maskingPolicyId: testMaskingPolicy.id,
 *     columnNames: maskingPoliciesMaskingColumnColumnName,
 *     dataTypes: maskingPoliciesMaskingColumnDataType,
 *     isMaskingEnabled: maskingPoliciesMaskingColumnIsMaskingEnabled === "true",
 *     isSeedRequired: maskingPoliciesMaskingColumnIsSeedRequired === "true",
 *     maskingColumnGroups: maskingPoliciesMaskingColumnMaskingColumnGroup,
 *     maskingColumnLifecycleState: maskingPoliciesMaskingColumnMaskingColumnLifecycleState,
 *     objects: maskingPoliciesMaskingColumnObject,
 *     objectTypes: maskingPoliciesMaskingColumnObjectType,
 *     schemaNames: maskingPoliciesMaskingColumnSchemaName,
 *     sensitiveTypeId: testSensitiveType.id,
 *     timeCreatedGreaterThanOrEqualTo: maskingPoliciesMaskingColumnTimeCreatedGreaterThanOrEqualTo,
 *     timeCreatedLessThan: maskingPoliciesMaskingColumnTimeCreatedLessThan,
 *     timeUpdatedGreaterThanOrEqualTo: maskingPoliciesMaskingColumnTimeUpdatedGreaterThanOrEqualTo,
 *     timeUpdatedLessThan: maskingPoliciesMaskingColumnTimeUpdatedLessThan,
 * });
 * ```
 */
export declare function getMaskingPoliciesMaskingColumns(args: GetMaskingPoliciesMaskingColumnsArgs, opts?: pulumi.InvokeOptions): Promise<GetMaskingPoliciesMaskingColumnsResult>;
/**
 * A collection of arguments for invoking getMaskingPoliciesMaskingColumns.
 */
export interface GetMaskingPoliciesMaskingColumnsArgs {
    /**
     * A filter to return only a specific column based on column name.
     */
    columnNames?: string[];
    /**
     * A filter to return only resources that match the specified data types.
     */
    dataTypes?: string[];
    filters?: inputs.DataSafe.GetMaskingPoliciesMaskingColumnsFilter[];
    /**
     * A filter to return the masking column resources based on the value of their isMaskingEnabled attribute. A value of true returns only those columns for which masking is enabled. A value of false returns only those columns for which masking is disabled. Omitting this parameter returns all the masking columns in a masking policy.
     */
    isMaskingEnabled?: boolean;
    /**
     * A filter to return masking columns based on whether the assigned masking formats need a seed value for masking. A value of true returns those masking columns that are using Deterministic Encryption or Deterministic Substitution masking format.
     */
    isSeedRequired?: boolean;
    /**
     * A filter to return only the resources that match the specified masking column group.
     */
    maskingColumnGroups?: string[];
    /**
     * A filter to return only the resources that match the specified lifecycle states.
     */
    maskingColumnLifecycleState?: string;
    /**
     * The OCID of the masking policy.
     */
    maskingPolicyId: string;
    /**
     * A filter to return only items related to a specific object type.
     */
    objectTypes?: string[];
    /**
     * A filter to return only items related to a specific object name.
     */
    objects?: string[];
    /**
     * A filter to return only items related to specific schema name.
     */
    schemaNames?: string[];
    /**
     * A filter to return only items related to a specific sensitive type OCID.
     */
    sensitiveTypeId?: string;
    /**
     * A filter to return only the resources that were created after the specified date and time, as defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Using TimeCreatedGreaterThanOrEqualToQueryParam parameter retrieves all resources created after that date.
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeCreatedGreaterThanOrEqualTo?: string;
    /**
     * Search for resources that were created before a specific date. Specifying this parameter corresponding `timeCreatedLessThan` parameter will retrieve all resources created before the specified created date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by RFC 3339.
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeCreatedLessThan?: string;
    /**
     * Search for resources that were updated after a specific date. Specifying this parameter corresponding `timeUpdatedGreaterThanOrEqualTo` parameter will retrieve all resources updated after the specified created date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by RFC 3339.
     */
    timeUpdatedGreaterThanOrEqualTo?: string;
    /**
     * Search for resources that were updated before a specific date. Specifying this parameter corresponding `timeUpdatedLessThan` parameter will retrieve all resources updated before the specified created date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by RFC 3339.
     */
    timeUpdatedLessThan?: string;
}
/**
 * A collection of values returned by getMaskingPoliciesMaskingColumns.
 */
export interface GetMaskingPoliciesMaskingColumnsResult {
    /**
     * The name of the substitution column.
     */
    readonly columnNames?: string[];
    /**
     * The data type of the masking column.
     */
    readonly dataTypes?: string[];
    readonly filters?: outputs.DataSafe.GetMaskingPoliciesMaskingColumnsFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Indicates whether data masking is enabled for the masking column.
     */
    readonly isMaskingEnabled?: boolean;
    readonly isSeedRequired?: boolean;
    /**
     * The list of masking_column_collection.
     */
    readonly maskingColumnCollections: outputs.DataSafe.GetMaskingPoliciesMaskingColumnsMaskingColumnCollection[];
    /**
     * The group of the masking column. All the columns in a group are masked together to ensure  that the masked data across these columns continue to retain the same logical relationship.  For more details, check <a href=https://docs.oracle.com/en/cloud/paas/data-safe/udscs/group-masking1.html#GUID-755056B9-9540-48C0-9491-262A44A85037>Group Masking in the Data Safe documentation.</a>
     */
    readonly maskingColumnGroups?: string[];
    readonly maskingColumnLifecycleState?: string;
    /**
     * The OCID of the masking policy that contains the masking column.
     */
    readonly maskingPolicyId: string;
    /**
     * The type of the object that contains the database column.
     */
    readonly objectTypes?: string[];
    /**
     * The name of the object (table or editioning view) that contains the database column.
     */
    readonly objects?: string[];
    /**
     * The name of the schema that contains the database column.
     */
    readonly schemaNames?: string[];
    /**
     * The OCID of the sensitive type associated with the masking column.
     */
    readonly sensitiveTypeId?: string;
    readonly timeCreatedGreaterThanOrEqualTo?: string;
    readonly timeCreatedLessThan?: string;
    readonly timeUpdatedGreaterThanOrEqualTo?: string;
    readonly timeUpdatedLessThan?: string;
}
/**
 * This data source provides the list of Masking Policies Masking Columns in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of masking columns present in the specified masking policy and based on the specified query parameters.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testMaskingPoliciesMaskingColumns = oci.datasafe.getMaskingPoliciesMaskingColumns({
 *     maskingPolicyId: testMaskingPolicy.id,
 *     columnNames: maskingPoliciesMaskingColumnColumnName,
 *     dataTypes: maskingPoliciesMaskingColumnDataType,
 *     isMaskingEnabled: maskingPoliciesMaskingColumnIsMaskingEnabled === "true",
 *     isSeedRequired: maskingPoliciesMaskingColumnIsSeedRequired === "true",
 *     maskingColumnGroups: maskingPoliciesMaskingColumnMaskingColumnGroup,
 *     maskingColumnLifecycleState: maskingPoliciesMaskingColumnMaskingColumnLifecycleState,
 *     objects: maskingPoliciesMaskingColumnObject,
 *     objectTypes: maskingPoliciesMaskingColumnObjectType,
 *     schemaNames: maskingPoliciesMaskingColumnSchemaName,
 *     sensitiveTypeId: testSensitiveType.id,
 *     timeCreatedGreaterThanOrEqualTo: maskingPoliciesMaskingColumnTimeCreatedGreaterThanOrEqualTo,
 *     timeCreatedLessThan: maskingPoliciesMaskingColumnTimeCreatedLessThan,
 *     timeUpdatedGreaterThanOrEqualTo: maskingPoliciesMaskingColumnTimeUpdatedGreaterThanOrEqualTo,
 *     timeUpdatedLessThan: maskingPoliciesMaskingColumnTimeUpdatedLessThan,
 * });
 * ```
 */
export declare function getMaskingPoliciesMaskingColumnsOutput(args: GetMaskingPoliciesMaskingColumnsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetMaskingPoliciesMaskingColumnsResult>;
/**
 * A collection of arguments for invoking getMaskingPoliciesMaskingColumns.
 */
export interface GetMaskingPoliciesMaskingColumnsOutputArgs {
    /**
     * A filter to return only a specific column based on column name.
     */
    columnNames?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return only resources that match the specified data types.
     */
    dataTypes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.DataSafe.GetMaskingPoliciesMaskingColumnsFilterArgs>[] | undefined>;
    /**
     * A filter to return the masking column resources based on the value of their isMaskingEnabled attribute. A value of true returns only those columns for which masking is enabled. A value of false returns only those columns for which masking is disabled. Omitting this parameter returns all the masking columns in a masking policy.
     */
    isMaskingEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * A filter to return masking columns based on whether the assigned masking formats need a seed value for masking. A value of true returns those masking columns that are using Deterministic Encryption or Deterministic Substitution masking format.
     */
    isSeedRequired?: pulumi.Input<boolean | undefined>;
    /**
     * A filter to return only the resources that match the specified masking column group.
     */
    maskingColumnGroups?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return only the resources that match the specified lifecycle states.
     */
    maskingColumnLifecycleState?: pulumi.Input<string | undefined>;
    /**
     * The OCID of the masking policy.
     */
    maskingPolicyId: pulumi.Input<string>;
    /**
     * A filter to return only items related to a specific object type.
     */
    objectTypes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return only items related to a specific object name.
     */
    objects?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return only items related to specific schema name.
     */
    schemaNames?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return only items related to a specific sensitive type OCID.
     */
    sensitiveTypeId?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the resources that were created after the specified date and time, as defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Using TimeCreatedGreaterThanOrEqualToQueryParam parameter retrieves all resources created after that date.
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeCreatedGreaterThanOrEqualTo?: pulumi.Input<string | undefined>;
    /**
     * Search for resources that were created before a specific date. Specifying this parameter corresponding `timeCreatedLessThan` parameter will retrieve all resources created before the specified created date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by RFC 3339.
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeCreatedLessThan?: pulumi.Input<string | undefined>;
    /**
     * Search for resources that were updated after a specific date. Specifying this parameter corresponding `timeUpdatedGreaterThanOrEqualTo` parameter will retrieve all resources updated after the specified created date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by RFC 3339.
     */
    timeUpdatedGreaterThanOrEqualTo?: pulumi.Input<string | undefined>;
    /**
     * Search for resources that were updated before a specific date. Specifying this parameter corresponding `timeUpdatedLessThan` parameter will retrieve all resources updated before the specified created date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by RFC 3339.
     */
    timeUpdatedLessThan?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getMaskingPoliciesMaskingColumns.d.ts.map