// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
//   protoc-gen-ts_proto  v2.6.1
//   protoc               v3.17.1
// source: policy/Policy.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 related information is captured in the message policy */
export interface Policy {
  kind?: string | undefined;
  apiVersion?:
    | string
    | undefined;
  /** common metadata to identify a specific asset in the files */
  metadata?: Metadata | undefined;
  kindEnum?: Policy_KindEnums | undefined;
  spec?: Policy_Spec | undefined;
}

/** Kind id supported for global policy */
export enum Policy_KindEnums {
  GlobalPolicy = "GlobalPolicy",
}

/** The Spec is used to define the list of filter and policy sequences */
export interface Policy_Spec {
  "filter-api-type"?: string[] | undefined;
  "filter-http-methods"?:
    | string[]
    | undefined;
  /** Single instance of filter can be given */
  "filter-attributes"?:
    | string
    | undefined;
  /**
   * Field 'policy_seq' with JSON name 'policy-seq' accepts the value of either 'policy_seq' or 'policy-seq' from the YAML file.
   * If both 'policy_seq' and 'policy-seq' are specified, the value of 'policy-seq' takes priority.
   * Multiple instances of policy sequences can be given with JSON name "policy-seq".
   */
  "policy-sequence"?: Ref[] | undefined;
}
