// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
//   protoc-gen-ts_proto  v1.181.1
//   protoc               v3.12.4
// source: policy/ReqProcessing/RequestProcessing.proto

/* eslint-disable */
import { type Metadata } from "../../common/Metadata.js";
import { type Ref } from "../../common/Ref.js";
import { type Namespaces } from "../common/Namespaces.js";
import { type Set } from "../common/Set.js";
import { type SetPayload } from "../common/SetPayload.js";

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

/** The Request Processing related information is captured in the message RequestProcessing */
export interface RequestProcessing {
  kind?: string | undefined;
  apiVersion?:
    | string
    | undefined;
  /** common metadata to identify a specific asset in the files */
  metadata?: Metadata | undefined;
  kindEnum?: RequestProcessing_KindEnums | undefined;
  spec?: RequestProcessing_Spec | undefined;
}

/** Kind id supported for request processing */
export enum RequestProcessing_KindEnums {
  TransformRequest = "TransformRequest",
}

/** The message specified the information related to the transformation */
export interface RequestProcessing_Transformations {
  set?: Set[] | undefined;
  setPayload?: SetPayload | undefined;
  remove?: string[] | undefined;
  namespaces?: Namespaces[] | undefined;
  setMethod?: string | undefined;
  webMethodsISService?: Ref[] | undefined;
}

/** The Spec is used to define the list of condition and transformation */
export interface RequestProcessing_Spec {
  /** Single instance of condition can be given */
  condition?:
    | string
    | undefined;
  /** Single instance of transformation can be given */
  transformations?: RequestProcessing_Transformations | undefined;
}
