// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
//   protoc-gen-ts_proto  v1.181.1
//   protoc               v3.12.4
// source: policy/ErrorHandling/ConditionalErrorProcessing.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";
import { type Xsl } from "../common/Xsl.js";

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

/** The Conditional Error Handling related information is captured in the message ConditionalErrorProcessing. */
export interface ConditionalErrorProcessing {
  kind?: string | undefined;
  apiVersion?:
    | string
    | undefined;
  /** common metadata to identify a specific asset in the files */
  metadata?: Metadata | undefined;
  kindEnum?: ConditionalErrorProcessing_KindEnums | undefined;
  spec?: ConditionalErrorProcessing_Spec | undefined;
}

/** Kind id supported for Error Processing */
export enum ConditionalErrorProcessing_KindEnums {
  ErrorProcessing = "ErrorProcessing",
}

/** The message specified the information related to the pre-processing */
export interface ConditionalErrorProcessing_PreProcessing {
  webMethodsISService?: Ref[] | undefined;
  xsl?: Xsl[] | undefined;
}

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

/** The message specified the information related to the post-processing */
export interface ConditionalErrorProcessing_PostProcessing {
  webMethodsISService?: Ref[] | undefined;
  xsl?: Xsl[] | undefined;
}

/** The Spec is used to define the list of condition, pre-processing, transformations, post-processing */
export interface ConditionalErrorProcessing_Spec {
  /** Single instance of condition can be given */
  condition?:
    | string
    | undefined;
  /**
   * Field 'pre_processing' with JSON name 'pre-processing' accepts the value of either 'pre_processing' or 'pre-processing' from the YAML file.
   * If both 'pre_processing' and 'pre-processing' are specified, the value of 'pre-processing' takes priority.
   * Multiple instances of pre processing can be given with JSON name "pre-processing".
   */
  "pre-processing"?:
    | ConditionalErrorProcessing_PreProcessing
    | undefined;
  /** Single instance of transformation can be given */
  transformations?:
    | ConditionalErrorProcessing_Transformations
    | undefined;
  /**
   * Field 'post_processing' with JSON name 'post-processing' accepts the value of either 'post_processing' or 'post-processing' from the YAML file.
   * If both 'post_processing' and 'post-processing' are specified, the value of 'post-processing' takes priority.
   * Multiple instances of post processing can be given with JSON name 'post-processing".
   */
  post_processing?: ConditionalErrorProcessing_PostProcessing | undefined;
}
