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

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

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

/** The policy sequence related information is captured in the message policy sequence */
export interface PolicySequence {
  kind?:
    | string
    | undefined;
  /** common metadata to identify a specific asset in the files */
  metadata?: Metadata | undefined;
  spec?: PolicySequence_Spec | undefined;
  kindEnum?: PolicySequence_KindEnums | undefined;
  apiVersion?: string | undefined;
}

/** Kind id supported for policy sequence */
export enum PolicySequence_KindEnums {
  PolicySequence = "PolicySequence",
}

/** The Spec is used to define the list of transport, iam, monitoring, routing, request processing, response processing, error handling */
export interface PolicySequence_Spec {
  /** Multiple instances of transport policy can be given */
  transport?:
    | Ref[]
    | undefined;
  /** Multiple instances of iam policy can be given */
  iam?:
    | Ref[]
    | undefined;
  /** Multiple instances of monitoring policy can be given */
  monitoring?:
    | Ref[]
    | undefined;
  /** Multiple instances of routing policy can be given */
  routing?:
    | Ref[]
    | undefined;
  /**
   * Field 'req_processing' with JSON name 'req-processing' accepts the value of either 'req_processing' or 'req-processing' from the YAML file.
   * If both 'req_processing' and 'req-processing' are specified, the value of 'req-processing' takes priority.
   * Multiple instances of request processing can be given with JSON name "req-processing".
   */
  "req-processing"?:
    | Ref[]
    | undefined;
  /**
   * Field 'resp_processing' with JSON name 'resp-processing' accepts the value of either 'resp_processing' or 'resp-processing' from the YAML file.
   * If both 'resp_processing' and 'response-processing' are specified, the value of 'resp-processing' takes priority.
   * Single instances of response processing can be given with JSON name "resp-processing".
   */
  "res-processing"?:
    | Ref[]
    | undefined;
  /**
   * Field 'error_handling' with JSON name 'error-handling' accepts the value of either 'error_handling' or 'error-handling' from the YAML file.
   * If both 'error_handling' and 'error-handling' are specified, the value of 'error-handling' takes priority.
   * Single instances of error handling can be given with JSON name "error-handling".
   */
  "error-handling"?: Ref[] | undefined;
}
