// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
//   protoc-gen-ts_proto  v2.6.1
//   protoc               v3.17.1
// source: policy/ReqProcessing/DataMasking.proto

/* eslint-disable */
import { type Metadata } from "../../common/Metadata.js";
import { type SetMask } from "../common/SetMask.js";

/** Copyright Super iPaaS Integration LLC, an IBM Company 2024 */

/** The Data Masking related information is captured in the message Data masking */
export interface DataMasking {
  kind?: string | undefined;
  apiVersion?:
    | string
    | undefined;
  /** common metadata to identify a specific asset in the files */
  metadata?: Metadata | undefined;
  kindEnum?: DataMasking_KindEnums | undefined;
  spec?: DataMasking_Spec | undefined;
}

/** Kind id supported for Data masking */
export enum DataMasking_KindEnums {
  DataMasking = "DataMasking",
}

export interface DataMasking_Filter {
  jpath?: string | undefined;
  xpath?: string | undefined;
  regex?: string | undefined;
}

/** The message specified the information related to the transformation */
export interface DataMasking_Transformations {
  setMask?: SetMask[] | undefined;
  remove?: DataMasking_Filter[] | undefined;
}

/** The Spec is used to define the list of match applications, transformation. */
export interface DataMasking_Spec {
  /** Can be enabled or disabled */
  enabled?:
    | boolean
    | undefined;
  /** Multiple instance of match applications can be given */
  matchApplications?:
    | string[]
    | undefined;
  /** single instance of transformation can be given */
  transformations?:
    | DataMasking_Transformations
    | undefined;
  /** Apply for transaction logging can be enabled or disabled */
  applyForTransactionLogging?:
    | boolean
    | undefined;
  /** Apply for pay load can be enabled or disabled */
  applyForPayload?: boolean | undefined;
}
