{
  "api.ibm.com_v1_api.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "API"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "api-spec"
        ],
        "additionalProperties": false,
        "properties": {
          "api-spec": {
            "type": "object",
            "required": [
              "$path"
            ],
            "additionalProperties": false,
            "properties": {
              "$path": {
                "description": "Field 'path' with JSON name '$path' accepts the value of either 'path' or '$path' from the YAML file. If both are specified, the value of '$path' takes priority.\n",
                "type": "string"
              }
            }
          },
          "rest-def": {
            "type": "object",
            "required": [
              "$path"
            ],
            "additionalProperties": false,
            "properties": {
              "$path": {
                "description": "Field 'path' with JSON name '$path' accepts the value of either 'path' or '$path' from the YAML file. If both are specified, the value of '$path' takes priority.\n",
                "type": "string"
              }
            }
          },
          "uriSchemes": {
            "type": "object",
            "required": [
              "$ref"
            ],
            "additionalProperties": false,
            "properties": {
              "$ref": {
                "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.\n",
                "type": "string"
              }
            }
          },
          "properties": {
            "type": "object",
            "required": [
              "$ref"
            ],
            "additionalProperties": false,
            "properties": {
              "$ref": {
                "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.\n",
                "type": "string"
              }
            }
          },
          "cors": {
            "type": "object",
            "required": [
              "$ref"
            ],
            "additionalProperties": false,
            "properties": {
              "$ref": {
                "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.\n",
                "type": "string"
              }
            }
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.\n",
                  "type": "string"
                }
              }
            }
          },
          "policy-sequence": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.\n",
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_cors.json": {
    "description": "The CORS related information is captured in the message CORS",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "CORS"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "rules"
        ],
        "properties": {
          "rules": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "required": [
                "action",
                "originList"
              ],
              "additionalProperties": false,
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "allow",
                    "deny"
                  ]
                },
                "originList": {
                  "description": "Multiple instances of allowed origins can be given",
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "string"
                  }
                },
                "allowCredentials": {
                  "description": "Credential can be allowed or not allowed",
                  "type": "boolean"
                },
                "allowMethods": {
                  "description": "Multiple instances allowed methods can be given",
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "string"
                  },
                  "uniqueItems": true
                },
                "allowHeaders": {
                  "description": "Multiple instances of allowed headers can be given",
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "string"
                  }
                },
                "maxAge": {
                  "description": "Single instance of maximum age can be given",
                  "maximum": 4294967295,
                  "minimum": 0,
                  "type": "integer"
                },
                "exposeHeaders": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "predefined": {
                      "type": "boolean"
                    },
                    "custom": {
                      "type": "string"
                    },
                    "backend": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_countlimit.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "properties": {
      "kind": {
        "type": "string",
        "enum": [
          "CountLimit"
        ]
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "limits"
        ],
        "properties": {
          "limits": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "limitDef"
              ],
              "properties": {
                "limitDef": {
                  "type": "object",
                  "required": [
                    "name",
                    "definition"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "Unique name for the rate limit"
                    },
                    "definition": {
                      "type": "object",
                      "required": [
                        "$ref"
                      ],
                      "properties": {
                        "$ref": {
                          "type": "string",
                          "description": "Reference to the limit definition"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "extensions": {
            "type": "object",
            "properties": {
              "dp-nano-gateway": {
                "type": "object",
                "properties": {
                  "apiVersion": {
                    "type": "string",
                    "default": "api.ibm.com/v1"
                  },
                  "spec": {
                    "type": "object",
                    "properties": {
                      "limits": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "oneOf": [
                            {
                              "type": "object",
                              "required": [
                                "globalLimit"
                              ],
                              "properties": {
                                "globalLimit": {
                                  "type": "object",
                                  "required": [
                                    "name",
                                    "operation"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_countlimitdef.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "properties": {
      "kind": {
        "type": "string",
        "enum": [
          "CountLimitDef"
        ]
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "max",
          "autoDecrement"
        ],
        "properties": {
          "max": {
            "type": "integer",
            "description": "Size of the rate limit bucket"
          },
          "autoDecrement": {
            "type": "boolean",
            "description": "Whether the count should auto-decrement"
          },
          "extensions": {
            "type": "object",
            "properties": {
              "dp-nano-gateway": {
                "type": "object",
                "properties": {
                  "apiVersion": {
                    "type": "string",
                    "default": "api.ibm.com/v1"
                  },
                  "spec": {
                    "type": "object",
                    "properties": {
                      "weightExpr": {
                        "type": "string",
                        "description": "Optional dynamic string expression"
                      },
                      "dynamicValue": {
                        "type": "string",
                        "description": "Optional dynamic key to apply the rate limit to"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_quota.json": {
    "type": "object",
    "properties": {
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "kind": {
        "enum": [
          "Quota"
        ],
        "type": "string"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "properties": {
          "maxRequest": {
            "type": "integer",
            "description": "Size of the rate limit bucket"
          },
          "interval": {
            "type": "string",
            "description": "Time interval for the rate limit (e.g., 1s, 1m, 1h)"
          },
          "extensions": {
            "type": "object",
            "properties": {
              "dp-gateway": {
                "type": "object",
                "properties": {
                  "apiVersion": {
                    "type": "string",
                    "enum": [
                      "api.ibm.com/v1"
                    ]
                  },
                  "spec": {
                    "type": "object",
                    "properties": {
                      "onLimitReach": {
                        "type": "string",
                        "enum": [
                          "block",
                          "allow"
                        ]
                      }
                    }
                  }
                }
              },
              "dp-nano-gateway": {
                "type": "object",
                "properties": {
                  "apiVersion": {
                    "type": "string",
                    "enum": [
                      "api.ibm.com/v1"
                    ]
                  },
                  "spec": {
                    "type": "object",
                    "properties": {
                      "weightExpr": {
                        "type": "string",
                        "description": "Optional dynamic string expression"
                      },
                      "exceedAction": {
                        "type": "string",
                        "enum": [
                          "continue",
                          "return429",
                          "return500"
                        ]
                      },
                      "intervalOffset": {
                        "type": "integer"
                      },
                      "dynamicValue": {
                        "type": "string",
                        "description": "Optional dynamic key expression"
                      }
                    }
                  }
                }
              },
              "webm-gateway": {
                "type": "object",
                "properties": {
                  "apiVersion": {
                    "type": "string",
                    "enum": [
                      "api.ibm.com/v1"
                    ]
                  },
                  "spec": {
                    "type": "object",
                    "properties": {
                      "alertMessage": {
                        "type": "string"
                      },
                      "alertFrequency": {
                        "type": "string",
                        "enum": [
                          "always",
                          "once"
                        ]
                      },
                      "onLimitReach": {
                        "type": "string",
                        "enum": [
                          "block",
                          "allow"
                        ]
                      },
                      "notification": {
                        "type": "object",
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          },
                          "notifyAfter": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          },
                          "email": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ]
  },
  "api.ibm.com_v1_product.json": {
    "type": "object",
    "properties": {
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "kind": {
        "enum": [
          "Product"
        ],
        "type": "string"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "properties": {
          "info": {
            "type": "object",
            "properties": {
              "categories": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "contact": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  }
                }
              },
              "license": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  }
                }
              },
              "termsOfService": {
                "type": "string"
              },
              "summary": {
                "type": "string"
              }
            }
          },
          "apis": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "$ref": {
                  "type": "string"
                }
              }
            }
          },
          "plans": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "$ref": {
                  "type": "string"
                }
              }
            }
          },
          "extensions": {
            "type": "object",
            "properties": {
              "portal-config": {
                "type": "object",
                "properties": {
                  "apiVersion": {
                    "type": "string",
                    "enum": [
                      "api.ibm.com/v1"
                    ]
                  },
                  "spec": {
                    "type": "object",
                    "properties": {
                      "visibility": {
                        "type": "object",
                        "properties": {
                          "view": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "authenticated",
                                  "public",
                                  "custom"
                                ]
                              },
                              "orgs": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "tags": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "enabled": {
                                "type": "boolean"
                              }
                            }
                          },
                          "subscribe": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "authenticated",
                                  "custom"
                                ]
                              },
                              "orgs": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "tags": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "enabled": {
                                "type": "boolean"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "dp-nano-gateway": {
                "type": "object",
                "properties": {
                  "apiVersion": {
                    "type": "string",
                    "enum": [
                      "api.ibm.com/v1"
                    ]
                  },
                  "spec": {
                    "type": "object",
                    "properties": {
                      "properties": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "object",
                          "properties": {
                            "value": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "encoded": {
                              "type": "boolean"
                            }
                          }
                        }
                      },
                      "env": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            },
                            "valueFrom": {
                              "type": "object",
                              "properties": {
                                "configMapKeyRef": {
                                  "type": "object",
                                  "properties": {
                                    "name": {
                                      "type": "string"
                                    },
                                    "key": {
                                      "type": "string"
                                    }
                                  }
                                },
                                "secretKeyRef": {
                                  "type": "object",
                                  "properties": {
                                    "name": {
                                      "type": "string"
                                    },
                                    "key": {
                                      "type": "string"
                                    }
                                  }
                                },
                                "fieldRef": {
                                  "type": "object",
                                  "properties": {
                                    "fieldPath": {
                                      "type": "string"
                                    }
                                  }
                                },
                                "resourceFieldRef": {
                                  "type": "object",
                                  "properties": {
                                    "resource": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      },
                      "hostAliases": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "ip": {
                              "type": "string"
                            },
                            "hostnames": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      },
                      "logLevel": {
                        "type": "object",
                        "properties": {
                          "all": {
                            "type": "string",
                            "enum": [
                              "trace",
                              "debug",
                              "info",
                              "warn",
                              "error",
                              "off"
                            ]
                          }
                        }
                      },
                      "quotaService": {
                        "type": "object",
                        "properties": {
                          "cache": {
                            "type": "object",
                            "properties": {
                              "capacity": {
                                "type": "integer"
                              },
                              "maxAgeMilliseconds": {
                                "type": "integer"
                              },
                              "maxPercent": {
                                "type": "integer"
                              },
                              "fallback": {
                                "type": "object",
                                "additionalProperties": false,
                                "properties": {
                                  "enabled": {
                                    "type": "boolean"
                                  }
                                }
                              }
                            }
                          },
                          "responseHeaders": {
                            "type": "string"
                          },
                          "updateInterval": {
                            "type": "integer"
                          }
                        }
                      },
                      "replicas": {
                        "type": "integer"
                      },
                      "resources": {
                        "type": "object",
                        "properties": {
                          "limits": {
                            "type": "object",
                            "properties": {
                              "cpu": {
                                "type": "string"
                              },
                              "memory": {
                                "type": "string"
                              }
                            }
                          },
                          "requests": {
                            "type": "object",
                            "properties": {
                              "cpu": {
                                "type": "string"
                              },
                              "memory": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      },
                      "sqlInjectionFilters": {
                        "type": "object",
                        "properties": {
                          "commands": {
                            "type": "string"
                          },
                          "escapeSequence": {
                            "type": "string"
                          },
                          "keywordInjection": {
                            "type": "string"
                          },
                          "likeMatch": {
                            "type": "string"
                          },
                          "metacharacters": {
                            "type": "string"
                          },
                          "msSqlCommands": {
                            "type": "string"
                          },
                          "andOrAttack": {
                            "type": "string"
                          },
                          "oracleBufferOverflow": {
                            "type": "string"
                          },
                          "simpleMetacharacters": {
                            "type": "string"
                          },
                          "custom": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ]
  },
  "api.ibm.com_v1_plan.json": {
    "type": "object",
    "properties": {
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "kind": {
        "enum": [
          "Plan"
        ],
        "type": "string"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "properties": {
          "qos": {
            "type": "object",
            "required": [
              "withQuota"
            ],
            "properties": {
              "withQuota": {
                "type": "object",
                "properties": {
                  "unlimited": {
                    "type": "object"
                  }
                },
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "$ref"
                    ],
                    "properties": {
                      "$ref": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "extensions": {
            "type": "object",
            "properties": {
              "webm-gateway": {
                "type": "object",
                "properties": {
                  "apiVersion": {
                    "type": "string"
                  },
                  "spec": {
                    "type": "object",
                    "properties": {
                      "pricing": {
                        "type": "object",
                        "properties": {
                          "value": {
                            "type": "number"
                          },
                          "currency": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "value",
                          "currency"
                        ]
                      },
                      "withRateLimit": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "maxRequest": {
                              "type": "integer"
                            },
                            "interval": {
                              "type": "string"
                            },
                            "alertMessage": {
                              "type": "string"
                            },
                            "alertFrequency": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "maxRequest",
                            "interval",
                            "name"
                          ]
                        }
                      }
                    }
                  }
                }
              },
              "dp-nano-gateway": {
                "type": "object",
                "properties": {
                  "apiVersion": {
                    "type": "string"
                  },
                  "spec": {
                    "type": "object",
                    "properties": {
                      "isApprovalRequired": {
                        "type": "boolean"
                      },
                      "apis": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "$ref": {
                              "type": "string"
                            },
                            "operations": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "string"
                                  },
                                  "path": {
                                    "type": "string"
                                  },
                                  "method": {
                                    "type": "string"
                                  },
                                  "withQuota": {
                                    "type": "object",
                                    "properties": {
                                      "unlimited": {
                                        "type": "object"
                                      }
                                    },
                                    "additionalProperties": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "required": [
                                          "$ref"
                                        ],
                                        "properties": {
                                          "$ref": {
                                            "type": "string"
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "required": [
                            "$ref"
                          ]
                        }
                      },
                      "withAssemblyCountLimit": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      },
                      "properties": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "Arbitrary key-value pairs for custom properties"
                      },
                      "telemetry": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              },
              "dp-gateway": {
                "type": "object",
                "properties": {
                  "apiVersion": {
                    "type": "string"
                  },
                  "spec": {
                    "type": "object",
                    "properties": {
                      "isApprovalRequired": {
                        "type": "boolean"
                      },
                      "withRateLimit": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "maxRequest": {
                              "type": "integer"
                            },
                            "interval": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "maxRequest",
                            "interval",
                            "name"
                          ]
                        }
                      },
                      "withAssemblyCountLimit": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "maxRequest": {
                              "oneOf": [
                                {
                                  "type": "integer"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "hard-limit": {
                              "type": "boolean"
                            },
                            "cache-only": {
                              "type": "boolean"
                            },
                            "is-client": {
                              "type": "boolean"
                            },
                            "use-api-name": {
                              "type": "boolean"
                            },
                            "use-app-id": {
                              "type": "boolean"
                            },
                            "use-client-id": {
                              "type": "boolean"
                            },
                            "dynamic-value": {
                              "type": "integer"
                            },
                            "weight": {
                              "type": "integer"
                            },
                            "auto-decrement": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "name",
                            "maxRequest"
                          ]
                        }
                      },
                      "withAssemblyRateLimit": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "maxRequest": {
                              "type": "integer"
                            },
                            "interval": {
                              "type": "string"
                            },
                            "cache-only": {
                              "type": "boolean"
                            },
                            "is-client": {
                              "type": "boolean"
                            },
                            "use-api-name": {
                              "type": "boolean"
                            },
                            "use-app-id": {
                              "type": "boolean"
                            },
                            "use-client-id": {
                              "type": "boolean"
                            },
                            "dynamic-value": {
                              "type": "integer"
                            },
                            "weight": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "name",
                            "maxRequest",
                            "interval"
                          ]
                        }
                      },
                      "withAssemblyQuotaLimit": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "maxRequest": {
                              "type": "integer"
                            },
                            "interval": {
                              "type": "string"
                            },
                            "hard-limit": {
                              "type": "boolean"
                            },
                            "cache-only": {
                              "type": "boolean"
                            },
                            "is-client": {
                              "type": "boolean"
                            },
                            "use-api-name": {
                              "type": "boolean"
                            },
                            "use-app-id": {
                              "type": "boolean"
                            },
                            "use-client-id": {
                              "type": "boolean"
                            },
                            "dynamic-value": {
                              "type": "integer"
                            },
                            "weight": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "name",
                            "maxRequest",
                            "interval"
                          ]
                        }
                      },
                      "apis": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "$ref": {
                              "type": "string"
                            },
                            "operations": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "path": {
                                    "type": "string"
                                  },
                                  "method": {
                                    "type": "string"
                                  },
                                  "withQuota": {
                                    "type": "object",
                                    "properties": {
                                      "unlimited": {
                                        "type": "object"
                                      }
                                    },
                                    "additionalProperties": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "required": [
                                          "$ref"
                                        ],
                                        "properties": {
                                          "$ref": {
                                            "type": "string"
                                          }
                                        }
                                      }
                                    }
                                  }
                                },
                                "required": [
                                  "path",
                                  "method"
                                ]
                              }
                            }
                          },
                          "required": [
                            "$ref"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ]
  },
  "api.ibm.com_v1_stagedpolicysequence.json": {
    "description": "The policy sequence related information is captured in the message policy sequence\n",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "kind": {
        "enum": [
          "StagedPolicySequence"
        ],
        "type": "string"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "properties": {
          "transport": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.\n",
                  "type": "string"
                }
              }
            }
          },
          "security": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.\n",
                  "type": "string"
                }
              }
            }
          },
          "monitoring": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.\n",
                  "type": "string"
                }
              }
            }
          },
          "routing": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.\n",
                  "type": "string"
                }
              }
            }
          },
          "req-processing": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.\n",
                  "type": "string"
                }
              }
            }
          },
          "res-processing": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.\n",
                  "type": "string"
                }
              }
            }
          },
          "error-handling": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.\n",
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_scope.json": {
    "description": "The message identifies the scope",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "Scope"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "policy-sequence",
          "resources"
        ],
        "additionalProperties": false,
        "properties": {
          "policy-sequence": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.\n",
                  "type": "string"
                }
              }
            }
          },
          "resources": {
            "description": "Multiple instances of resources can be given",
            "type": "array",
            "items": {
              "description": "Multiple instances of methods for each resource can be given",
              "type": "object",
              "required": [
                "methods",
                "path"
              ],
              "additionalProperties": false,
              "properties": {
                "methods": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "string",
                    "enum": [
                      "get",
                      "post",
                      "put",
                      "delete",
                      "patch",
                      "head",
                      "keep"
                    ]
                  }
                },
                "path": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_validateapispecification.json": {
    "description": "The validate API Specification related information is captured in the message validateAPISpecification.\n",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "ValidateAPISpecification"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "input",
          "validate"
        ],
        "properties": {
          "input": {
            "type": "string",
            "enum": [
              "request",
              "response",
              "message"
            ]
          },
          "validate": {
            "oneOf": [
              {
                "required": [
                  "request"
                ],
                "properties": {
                  "request": {
                    "type": "object",
                    "properties": {
                      "schema": {
                        "type": "object",
                        "properties": {
                          "validate": {
                            "type": "boolean"
                          }
                        }
                      },
                      "query": {
                        "type": "boolean"
                      },
                      "path": {
                        "type": "boolean"
                      },
                      "header": {
                        "type": "boolean"
                      },
                      "cookie": {
                        "type": "boolean"
                      },
                      "contentType": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              },
              {
                "required": [
                  "response"
                ],
                "properties": {
                  "response": {
                    "type": "object",
                    "properties": {
                      "schema": {
                        "type": "object",
                        "properties": {
                          "validate": {
                            "type": "boolean"
                          }
                        }
                      },
                      "header": {
                        "type": "boolean"
                      },
                      "contentType": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              },
              {
                "required": [
                  "openApiSchemaRef"
                ],
                "properties": {
                  "openApiSchemaRef": {
                    "type": "object",
                    "required": [
                      "schemaReference",
                      "failureStatusCode"
                    ],
                    "properties": {
                      "schemaReference": {
                        "type": "string"
                      },
                      "failureStatusCode": {
                        "type": "string",
                        "enum": [
                          "400",
                          "500"
                        ]
                      }
                    }
                  }
                }
              },
              {
                "required": [
                  "file"
                ],
                "properties": {
                  "file": {
                    "type": "object",
                    "required": [
                      "$path",
                      "failureStatusCode"
                    ],
                    "properties": {
                      "$path": {
                        "type": "string"
                      },
                      "failureStatusCode": {
                        "type": "string",
                        "enum": [
                          "400",
                          "500"
                        ]
                      }
                    }
                  }
                }
              }
            ]
          }
        }
      }
    }
  },
  "api.ibm.com_v1_project.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "properties": {
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "kind": {
        "enum": [
          "Project"
        ],
        "type": "string"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "properties": {
          "api": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file.\nIf both 'ref' and '$ref' are specified, the value of '$ref' takes priority.\n",
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_urischemes.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "URISchemes"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "uriSchemes"
        ],
        "additionalProperties": false,
        "properties": {
          "uriSchemes": {
            "description": "Multiple instance of protocol can be given",
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string",
              "enum": [
                "http",
                "https"
              ]
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_properties.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "Properties"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "description": "Defines a set of named properties with value, description, and encoding flag",
        "additionalProperties": {
          "type": "object",
          "required": [
            "value",
            "encoded"
          ],
          "additionalProperties": false,
          "properties": {
            "value": {
              "type": "string",
              "description": "Actual property value"
            },
            "description": {
              "type": "string",
              "description": "Description of the property"
            },
            "encoded": {
              "type": "boolean",
              "description": "Indicates whether the value is base64 encoded"
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_loadbalancer.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "LoadBalancer"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "oneOf": [
          {
            "required": [
              "roundRobinHttp"
            ]
          },
          {
            "required": [
              "weightedRandomHttp"
            ]
          }
        ],
        "properties": {
          "input": {
            "type": "string"
          },
          "output": {
            "type": "string"
          },
          "weightedRandomHttp": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "verb": {
                "type": "string"
              },
              "statusException": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "pattern": {
                      "type": "string"
                    }
                  }
                }
              },
              "endpoints": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "type": "object",
                  "required": [
                    "endpoint"
                  ],
                  "properties": {
                    "endpoint": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "tlsClientProfile": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        },
                        "urlType": {
                          "type": "string",
                          "enum": [
                            "plain",
                            "variables",
                            "jsonata",
                            "distributedVariable"
                          ]
                        },
                        "version": {
                          "type": "string",
                          "enum": [
                            "HTTP/1.0",
                            "HTTP/1.1",
                            "HTTP/2"
                          ]
                        },
                        "timeout": {
                          "type": "integer"
                        },
                        "compressRequest": {
                          "type": "string",
                          "enum": [
                            "gzip",
                            "br",
                            "deflate",
                            "none"
                          ]
                        },
                        "decompressResponse": {
                          "type": "boolean"
                        },
                        "followRedirects": {
                          "type": "boolean"
                        },
                        "chunkedUpload": {
                          "type": "boolean"
                        },
                        "persistentConnections": {
                          "type": "boolean"
                        }
                      }
                    },
                    "suspendTimeout": {
                      "type": "integer"
                    },
                    "weight": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          },
          "roundRobinHttp": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "verb": {
                "type": "string"
              },
              "statusException": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "pattern"
                  ],
                  "properties": {
                    "pattern": {
                      "type": "string",
                      "pattern": "^[0-9*]{3}$",
                      "additionalProperties": false
                    }
                  }
                }
              },
              "endpoints": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "type": "object",
                  "required": [
                    "endpoint"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "suspendTimeout": {
                      "type": "integer"
                    },
                    "endpoint": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "tlsClientProfile": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        },
                        "urlType": {
                          "type": "string",
                          "enum": [
                            "plain",
                            "variables",
                            "jsonata",
                            "distributedVariable"
                          ]
                        },
                        "compressRequest": {
                          "type": "string",
                          "enum": [
                            "br",
                            "gzip",
                            "deflate",
                            "none"
                          ]
                        },
                        "version": {
                          "type": "string",
                          "enum": [
                            "HTTP/1.0",
                            "HTTP/1.1",
                            "HTTP/2"
                          ]
                        },
                        "timeout": {
                          "type": "integer"
                        },
                        "decompressResponse": {
                          "type": "boolean",
                          "default": false
                        },
                        "followRedirects": {
                          "type": "boolean",
                          "default": false
                        },
                        "chunkedUpload": {
                          "type": "boolean"
                        },
                        "persistentConnections": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_invokeawslambda.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "InvokeAWSLambda"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "functionName": {
            "description": "Name of the AWS Lambda function",
            "type": "string"
          },
          "qualifier": {
            "description": "Version of the AWS Lambda function",
            "type": "string"
          },
          "invocationType": {
            "type": "string",
            "enum": [
              "requestResponse",
              "event"
            ]
          },
          "region": {
            "type": "string"
          },
          "awsAuthType": {
            "type": "object",
            "properties": {
              "accessSecret": {
                "type": "string"
              }
            }
          },
          "tlsClientProfile": {
            "type": "string"
          },
          "input": {
            "type": "string"
          },
          "output": {
            "type": "string"
          },
          "clientConfig": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "socketTimeout": {
                "type": "integer"
              },
              "connectionTimeout": {
                "type": "integer"
              },
              "requestTimeout": {
                "type": "integer"
              },
              "clientExecutionTimeout": {
                "type": "integer"
              },
              "clientRetryCount": {
                "type": "integer"
              },
              "connectionExpirationTimeout": {
                "type": "integer"
              },
              "enableExpectContinue": {
                "type": "boolean"
              },
              "enableGzip": {
                "type": "boolean"
              },
              "enableHostPrefixInjection": {
                "type": "boolean"
              },
              "maxConnectionIdleTime": {
                "type": "integer"
              },
              "responseMetadataCacheSize": {
                "type": "integer"
              },
              "enableThrottledRetries": {
                "type": "boolean"
              },
              "enableKeepAlive": {
                "type": "boolean"
              },
              "enableResponseMetadataCache": {
                "type": "boolean"
              },
              "signatureAlgorithm": {
                "type": "string"
              },
              "tcpSendBufferSizeHint": {
                "type": "integer"
              },
              "tcpReceiveBufferSizeHint": {
                "type": "integer"
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_setauthorization.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "SetAuthorization"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "oneOf": [
          {
            "required": [
              "basic"
            ],
            "properties": {
              "basic": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "static"
                    ],
                    "properties": {
                      "static": {
                        "type": "object",
                        "required": [
                          "username",
                          "password"
                        ],
                        "properties": {
                          "username": {
                            "type": "string"
                          },
                          "password": {
                            "type": "string",
                            "pattern": "^\\$\\((?:[A-Za-z_][A-Za-z0-9_]*\\.)?[A-Za-z_][A-Za-z0-9_]*\\)$",
                            "description": "Must be a resource reference in format $(VARIABLE_NAME). Do not enter actual passwords."
                          }
                        }
                      },
                      "valueType": {
                        "type": "string",
                        "enum": [
                          "plain",
                          "jsonata"
                        ]
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "useIncoming"
                    ],
                    "properties": {
                      "useIncoming": {
                        "type": "object"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "secret"
                    ],
                    "properties": {
                      "secret": {
                        "type": "string",
                        "additionalProperties": false
                      }
                    }
                  }
                ]
              },
              "message": {
                "type": "string"
              }
            }
          },
          {
            "required": [
              "oAuth2"
            ],
            "properties": {
              "oAuth2": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "token"
                    ],
                    "properties": {
                      "token": {
                        "type": "string",
                        "pattern": "^\\$\\((?:[A-Za-z_][A-Za-z0-9_]*\\.)?[A-Za-z_][A-Za-z0-9_]*\\)$",
                        "description": "Must be a resource reference in format $(VARIABLE_NAME). Do not enter actual apiKey."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "useIncoming"
                    ],
                    "properties": {
                      "useIncoming": {
                        "type": "object"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "secret"
                    ],
                    "properties": {
                      "secret": {
                        "type": "string"
                      }
                    }
                  }
                ]
              },
              "message": {
                "type": "string"
              }
            }
          },
          {
            "required": [
              "ntlm"
            ],
            "properties": {
              "ntlm": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "static"
                    ],
                    "properties": {
                      "static": {
                        "type": "object",
                        "required": [
                          "username",
                          "password"
                        ],
                        "properties": {
                          "username": {
                            "type": "string"
                          },
                          "password": {
                            "type": "string",
                            "pattern": "^\\$\\((?:[A-Za-z_][A-Za-z0-9_]*\\.)?[A-Za-z_][A-Za-z0-9_]*\\)$",
                            "description": "Must be a resource reference in format $(VARIABLE_NAME). Do not enter actual passwords."
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "useIncoming"
                    ],
                    "properties": {
                      "useIncoming": {
                        "type": "object"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "transparent"
                    ],
                    "properties": {
                      "transparent": {
                        "type": "object",
                        "additionalProperties": false
                      }
                    }
                  }
                ]
              },
              "message": {
                "type": "string"
              }
            }
          },
          {
            "required": [
              "jwt"
            ],
            "properties": {
              "jwt": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "useIncoming"
                    ],
                    "properties": {
                      "useIncoming": {
                        "type": "object"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "secret"
                    ],
                    "properties": {
                      "secret": {
                        "type": "string",
                        "additionalProperties": false
                      }
                    }
                  }
                ]
              },
              "message": {
                "type": "string"
              }
            }
          },
          {
            "required": [
              "kerberos"
            ],
            "properties": {
              "kerberos": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "useIncoming"
                    ],
                    "properties": {
                      "useIncoming": {
                        "type": "object"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "delegateIncomingCredentials"
                    ],
                    "properties": {
                      "delegateIncomingCredentials": {
                        "type": "object",
                        "required": [
                          "clientPassword",
                          "clientPrincipal",
                          "servicePrincipal",
                          "servicePrincipalNameform"
                        ],
                        "properties": {
                          "clientPassword": {
                            "type": "string",
                            "pattern": "^\\$\\((?:[A-Za-z_][A-Za-z0-9_]*\\.)?[A-Za-z_][A-Za-z0-9_]*\\)$",
                            "description": "Must be a resource reference in format $(VARIABLE_NAME). Do not enter actual passwords."
                          },
                          "clientPrincipal": {
                            "type": "string"
                          },
                          "servicePrincipal": {
                            "type": "string"
                          },
                          "servicePrincipalNameform": {
                            "type": "string",
                            "enum": [
                              "Username",
                              "Hostbased"
                            ]
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "incomingHTTPBasicAuthCred"
                    ],
                    "properties": {
                      "incomingHTTPBasicAuthCred": {
                        "type": "object",
                        "required": [
                          "servicePrincipal",
                          "servicePrincipalNameform"
                        ],
                        "properties": {
                          "servicePrincipal": {
                            "type": "string"
                          },
                          "servicePrincipalNameform": {
                            "type": "string",
                            "enum": [
                              "Username",
                              "Hostbased"
                            ]
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "useCustomCredentials"
                    ],
                    "properties": {
                      "useCustomCredentials": {
                        "type": "object",
                        "required": [
                          "clientPassword",
                          "clientPrincipal",
                          "servicePrincipal",
                          "servicePrincipalNameform"
                        ],
                        "properties": {
                          "clientPassword": {
                            "type": "string",
                            "pattern": "^\\$\\((?:[A-Za-z_][A-Za-z0-9_]*\\.)?[A-Za-z_][A-Za-z0-9_]*\\)$",
                            "description": "Must be a resource reference in format $(VARIABLE_NAME). Do not enter actual passwords."
                          },
                          "clientPrincipal": {
                            "type": "string"
                          },
                          "servicePrincipal": {
                            "type": "string"
                          },
                          "servicePrincipalNameform": {
                            "type": "string",
                            "enum": [
                              "Username",
                              "Hostbased"
                            ]
                          }
                        }
                      }
                    }
                  }
                ]
              },
              "message": {
                "type": "string"
              }
            }
          },
          {
            "required": [
              "anonymous"
            ],
            "properties": {
              "anonymous": {
                "type": "object"
              },
              "message": {
                "type": "string"
              }
            }
          }
        ]
      }
    }
  },
  "api.ibm.com_v1_invoke.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "Invoke"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "endpoint"
        ],
        "properties": {
          "cache": {
            "type": "object",
            "properties": {
              "expire": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "fromMessageHeader"
                    ],
                    "properties": {
                      "fromMessageHeader": {
                        "type": "object",
                        "required": [
                          "headerName",
                          "messageName"
                        ],
                        "properties": {
                          "headerName": {
                            "type": "string"
                          },
                          "messageName": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "fromVariable"
                    ],
                    "properties": {
                      "fromVariable": {
                        "type": "object",
                        "required": [
                          "name"
                        ],
                        "properties": {
                          "name": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "fromCacheControl"
                    ],
                    "properties": {
                      "fromCacheControl": {
                        "type": "object",
                        "required": [
                          "messageName"
                        ],
                        "properties": {
                          "messageName": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "static"
                    ],
                    "properties": {
                      "static": {
                        "type": "object",
                        "required": [
                          "seconds"
                        ],
                        "properties": {
                          "seconds": {
                            "type": "integer",
                            "format": "uint64",
                            "minimum": 0
                          }
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                ]
              },
              "scope": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "narrowScope"
                    ],
                    "properties": {
                      "narrowScope": {
                        "type": "object"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "wideScope"
                    ],
                    "properties": {
                      "wideScope": {
                        "type": "object"
                      }
                    },
                    "additionalProperties": false
                  }
                ]
              }
            },
            "additionalProperties": false
          },
          "endpoint": {
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "http"
                ],
                "properties": {
                  "http": {
                    "type": "object",
                    "required": [
                      "target"
                    ],
                    "properties": {
                      "statusException": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "pattern"
                          ],
                          "properties": {
                            "pattern": {
                              "type": "string",
                              "pattern": "^[0-9*]{3}$"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "target": {
                        "type": "object",
                        "required": [
                          "url"
                        ],
                        "properties": {
                          "persistentConnections": {
                            "type": "boolean",
                            "default": true
                          },
                          "timeout": {
                            "type": "integer",
                            "format": "uint64",
                            "minimum": 0,
                            "default": 20
                          },
                          "tlsClientProfile": {
                            "type": "string"
                          },
                          "url": {
                            "type": "string"
                          },
                          "decompressResponse": {
                            "type": "boolean",
                            "default": false
                          },
                          "followRedirects": {
                            "type": "boolean",
                            "default": false
                          },
                          "chunkedUpload": {
                            "type": "boolean",
                            "default": false
                          },
                          "urlType": {
                            "type": "string",
                            "enum": [
                              "plain",
                              "variables",
                              "jsonata",
                              "distributedVariable"
                            ]
                          },
                          "compressRequest": {
                            "type": "string",
                            "enum": [
                              "br",
                              "gzip",
                              "deflate",
                              "none"
                            ]
                          },
                          "version": {
                            "type": "string",
                            "enum": [
                              "HTTP/1.0",
                              "HTTP/1.1",
                              "HTTP/2"
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      "verb": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              }
            ]
          },
          "input": {
            "type": "string"
          },
          "output": {
            "type": "string"
          }
        }
      }
    }
  },
  "api.ibm.com_v1_globalpolicy.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "GlobalPolicy"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "policy-sequence"
        ],
        "additionalProperties": false,
        "properties": {
          "filter-api-type": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string"
            }
          },
          "filter-http-methods": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string",
              "enum": [
                "GET",
                "POST",
                "PUT",
                "DELETE",
                "PATCH",
                "HEAD"
              ]
            }
          },
          "filter-attributes": {
            "type": "string"
          },
          "policy-sequence": {
            "description": "List of references",
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_iam.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "IAM"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "accessControl": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "oneOf": [
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "httpBasic": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "applicationSecurity": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "mode": {
                                "type": "string",
                                "enum": [
                                  "authorize",
                                  "identify",
                                  "authenticate"
                                ]
                              }
                            }
                          },
                          "credentialLocation": {
                            "type": "object",
                            "properties": {
                              "httpHeader": {
                                "type": "object",
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "credentialRegistry": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "userGroupAuthorization": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "requiredGroups": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "apiKey": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "applicationSecurity": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "mode": {
                                "type": "string",
                                "enum": [
                                  "authorize",
                                  "identify",
                                  "authenticate"
                                ]
                              }
                            }
                          },
                          "credentialLocation": {
                            "type": "object",
                            "properties": {
                              "httpHeader": {
                                "type": "object",
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "oauth": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "applicationSecurity": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "mode": {
                                "type": "string",
                                "enum": [
                                  "authorize",
                                  "identify",
                                  "authenticate"
                                ]
                              }
                            }
                          },
                          "credentialLocation": {
                            "type": "object",
                            "properties": {
                              "httpHeader": {
                                "type": "object",
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "providers": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "introspectionCredentials": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "idHeader": {
                                "type": "string"
                              },
                              "secretheader": {
                                "type": "string"
                              }
                            }
                          },
                          "audClaim": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "requiredScopes": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "properties": {
                                "provider": {
                                  "type": "string"
                                },
                                "scopes": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "jwt": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "applicationSecurity": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "mode": {
                                "type": "string",
                                "enum": [
                                  "authorize",
                                  "identify",
                                  "authenticate"
                                ]
                              }
                            }
                          },
                          "credentialLocation": {
                            "type": "object",
                            "properties": {
                              "httpHeader": {
                                "type": "object",
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "providers": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "requiredClaims": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "properties": {
                                "provider": {
                                  "type": "string"
                                },
                                "claims": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "properties": {
                                      "name": {
                                        "type": "string"
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "hostname": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "applicationSecurity": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "mode": {
                                "type": "string",
                                "enum": [
                                  "authorize",
                                  "identify",
                                  "authenticate"
                                ]
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "ipAddress": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "applicationSecurity": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "mode": {
                                "type": "string",
                                "enum": [
                                  "authorize",
                                  "identify",
                                  "authenticate"
                                ]
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "certificate": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "applicationSecurity": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "mode": {
                                "type": "string",
                                "enum": [
                                  "authorize",
                                  "identify",
                                  "authenticate"
                                ]
                              }
                            }
                          },
                          "credentialLocation": {
                            "type": "object",
                            "properties": {
                              "httpHeader": {
                                "type": "object",
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "payloadElement": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "name": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "httpHeaders": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "applicationSecurity": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "mode": {
                                "type": "string",
                                "enum": [
                                  "authorize",
                                  "identify",
                                  "authenticate"
                                ]
                              }
                            }
                          },
                          "credentialLocation": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_cacheserviceresult.json": {
    "description": "The Service Result Cache related information is captured in the message ServiceResultCache\n",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "CacheServiceResult"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "condition": {
            "description": "Single instance of condition can be given",
            "type": "string"
          },
          "enabled": {
            "description": "Can be enabled or disabled",
            "type": "boolean"
          },
          "maxSize": {
            "description": "single instance pf maximum size can be given",
            "type": "string"
          },
          "ttl": {
            "description": "Single instance of ttl can be given",
            "type": "string"
          }
        }
      }
    }
  },
  "api.ibm.com_v1_route.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "Route"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "oneOf": [
          {
            "type": "object",
            "description": "Routing info for conditional routing",
            "additionalProperties": false,
            "properties": {
              "default-endpoint": {
                "type": "object",
                "required": [
                  "$ref"
                ],
                "properties": {
                  "$ref": {
                    "type": "string"
                  }
                }
              },
              "conditional-endpoints": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "condition": {
                      "type": "string"
                    },
                    "endpoint": {
                      "type": "object",
                      "required": [
                        "$ref"
                      ],
                      "additionalProperties": false,
                      "properties": {
                        "$ref": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "description": "Routing info for content based routing",
            "additionalProperties": false,
            "properties": {
              "default-endpoint": {
                "type": "object",
                "required": [
                  "$ref"
                ],
                "properties": {
                  "$ref": {
                    "type": "string"
                  }
                }
              },
              "content-based-endpoints": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "payloadIdentifier": {
                      "oneOf": [
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "jPath": {
                              "type": "string"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "xpath": {
                              "type": "string"
                            },
                            "namespaces": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "additionalProperties": false,
                                "properties": {
                                  "prefix": {
                                    "type": "string"
                                  },
                                  "URI": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        },
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "regex": {
                              "type": "string"
                            }
                          }
                        }
                      ]
                    },
                    "endpoint": {
                      "type": "object",
                      "required": [
                        "$ref"
                      ],
                      "properties": {
                        "$ref": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "description": "Routing info for dynamic routing",
            "additionalProperties": false,
            "properties": {
              "default-endpoint": {
                "type": "object",
                "required": [
                  "$ref"
                ],
                "properties": {
                  "$ref": {
                    "type": "string"
                  }
                }
              },
              "dynamic-endpoints": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "useHeader": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "$ref": {
                        "type": "string"
                      }
                    }
                  },
                  "useContext": {
                    "type": "object",
                    "required": [
                      "$ref"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "$ref": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "description": "Routing info for mock routing",
            "additionalProperties": false,
            "properties": {
              "mock-endpoint": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  },
                  "$ref": {
                    "type": "string"
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "description": "Routing info for message config routing",
            "additionalProperties": false,
            "properties": {
              "messageConfig": {
                "type": "object",
                "required": [
                  "$ref"
                ],
                "properties": {
                  "$ref": {
                    "type": "string"
                  }
                }
              }
            }
          }
        ]
      }
    }
  },
  "api.ibm.com_v1_httpendpoint.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "HTTPEndpoint"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "url": {
            "type": "string"
          },
          "method": {
            "type": "string"
          },
          "connectTimeout": {
            "type": "integer",
            "minimum": 0,
            "maximum": 4294967295
          },
          "readTimeout": {
            "type": "integer",
            "minimum": 0,
            "maximum": 4294967295
          },
          "serviceRegistryParameters": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "name": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "sslConfig": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "keyAlias": {
                "type": "string"
              },
              "keyStoreAlias": {
                "type": "string"
              },
              "trustStoreAlias": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_mockendpoint.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "type": "string",
        "enum": [
          "MockEndpoint"
        ]
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "paths": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "get": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "defaultResponse": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string",
                                "description": "Field 'ref' with JSON name '$ref' accepts either 'ref' or '$ref'. If both are specified, '$ref' takes priority.\n"
                              }
                            }
                          }
                        }
                      }
                    },
                    "conditionalResponse": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "condition": {
                            "type": "string"
                          },
                          "statusCode": {
                            "type": "integer"
                          },
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "post": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "defaultResponse": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "conditionalResponse": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "condition": {
                            "type": "string"
                          },
                          "statusCode": {
                            "type": "string"
                          },
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "put": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "defaultResponse": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "conditionalResponse": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "condition": {
                            "type": "string"
                          },
                          "statusCode": {
                            "type": "string"
                          },
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "patch": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "defaultResponse": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "conditionalResponse": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "condition": {
                            "type": "string"
                          },
                          "statusCode": {
                            "type": "string"
                          },
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "delete": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "defaultResponse": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "conditionalResponse": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "condition": {
                            "type": "string"
                          },
                          "statusCode": {
                            "type": "string"
                          },
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "head": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "defaultResponse": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "conditionalResponse": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "condition": {
                            "type": "string"
                          },
                          "statusCode": {
                            "type": "string"
                          },
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "options": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "defaultResponse": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "conditionalResponse": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "condition": {
                            "type": "string"
                          },
                          "statusCode": {
                            "type": "string"
                          },
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "trace": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "defaultResponse": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "conditionalResponse": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "condition": {
                            "type": "string"
                          },
                          "statusCode": {
                            "type": "string"
                          },
                          "response": {
                            "type": "object",
                            "required": [
                              "$ref"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "$ref": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_mockresponse.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "MockResponse"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "integer"
          },
          "data": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "content": {
                  "type": "string"
                },
                "contentType": {
                  "type": "string"
                }
              }
            }
          },
          "headers": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_set.json": {
    "description": "The Throttling Policy related information is captured in the message ThrottlingPolicy",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "Set"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "oneOf": [
          {
            "required": [
              "messageHeader"
            ],
            "properties": {
              "messageHeader": {
                "type": "object",
                "required": [
                  "action",
                  "headerName",
                  "value",
                  "messageName"
                ],
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "set",
                      "add",
                      "combine"
                    ]
                  },
                  "headerName": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  },
                  "messageName": {
                    "type": "string"
                  }
                }
              },
              "valueType": {
                "type": "string",
                "enum": [
                  "webm-var-expression",
                  "plain",
                  "variables",
                  "jsonata",
                  "distributedVariable"
                ]
              }
            }
          },
          {
            "required": [
              "messageBody"
            ],
            "properties": {
              "messageBody": {
                "type": "object",
                "required": [
                  "messageName",
                  "value"
                ],
                "properties": {
                  "messageName": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                }
              },
              "valueType": {
                "type": "string",
                "enum": [
                  "plain",
                  "variables",
                  "jsonata",
                  "distributedVariable"
                ]
              }
            }
          },
          {
            "required": [
              "messageMethod"
            ],
            "properties": {
              "messageMethod": {
                "type": "object",
                "required": [
                  "messageName",
                  "method"
                ],
                "properties": {
                  "messageName": {
                    "type": "string"
                  },
                  "method": {
                    "type": "string"
                  }
                }
              },
              "valueType": {
                "type": "string",
                "enum": [
                  "plain",
                  "variables",
                  "jsonata",
                  "distributedVariable"
                ]
              }
            }
          },
          {
            "required": [
              "messageUri"
            ],
            "properties": {
              "messageUri": {
                "type": "object",
                "required": [
                  "messageName",
                  "nameType",
                  "path",
                  "queryParams"
                ],
                "properties": {
                  "messageName": {
                    "type": "string"
                  },
                  "nameType": {
                    "type": "string",
                    "enum": [
                      "plain",
                      "variables",
                      "jsonata",
                      "distributedVariable"
                    ]
                  },
                  "path": {
                    "type": "string"
                  },
                  "queryParams": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "name",
                        "value"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              },
              "valueType": {
                "type": "string",
                "enum": [
                  "plain",
                  "variables",
                  "jsonata",
                  "distributedVariable"
                ]
              }
            }
          },
          {
            "required": [
              "variable"
            ],
            "properties": {
              "variable": {
                "type": "object",
                "required": [
                  "name",
                  "value"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                }
              },
              "valueType": {
                "type": "string",
                "enum": [
                  "plain",
                  "variables",
                  "jsonata",
                  "distributedVariable"
                ]
              }
            }
          },
          {
            "required": [
              "distributedVariable"
            ],
            "properties": {
              "distributedVariable": {
                "type": "object",
                "required": [
                  "expire",
                  "name",
                  "setExclusive",
                  "value"
                ],
                "properties": {
                  "expire": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  },
                  "setExclusive": {
                    "type": "boolean"
                  },
                  "value": {
                    "type": "string"
                  }
                }
              },
              "valueType": {
                "type": "string",
                "enum": [
                  "plain",
                  "variables",
                  "jsonata",
                  "distributedVariable"
                ]
              }
            }
          },
          {
            "required": [
              "telemetry",
              "valueType"
            ],
            "additionalProperties": false,
            "properties": {
              "telemetry": {
                "type": "object",
                "required": [
                  "key",
                  "span",
                  "value"
                ],
                "additionalProperties": false,
                "properties": {
                  "key": {
                    "type": "string"
                  },
                  "span": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "object",
                        "oneOf": [
                          {
                            "required": [
                              "policySpan"
                            ],
                            "properties": {
                              "policySpan": {
                                "type": "string"
                              }
                            }
                          },
                          {
                            "required": [
                              "httpSpan"
                            ],
                            "properties": {
                              "httpSpan": {
                                "type": "string"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                }
              },
              "valueType": {
                "type": "string",
                "enum": [
                  "plain",
                  "variables",
                  "jsonata",
                  "distributedVariable"
                ]
              }
            }
          }
        ]
      }
    }
  },
  "api.ibm.com_v1_ratelimitdef.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "RateLimitDef"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "properties": {
          "consumerSpecific": {
            "type": "boolean"
          },
          "dynamicValue": {
            "type": "string"
          },
          "max": {
            "type": "integer"
          },
          "intervalLen": {
            "type": "integer"
          },
          "intervalUnit": {
            "type": "string",
            "enum": [
              "second",
              "minute",
              "hour",
              "day",
              "week",
              "calendarweek",
              "calendarmonth"
            ]
          }
        }
      }
    }
  },
  "api.ibm.com_v1_ratelimit.json": {
    "description": "The Throttling Policy related information is captured in the message ThrottlingPolicy",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "RateLimit"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "target": {
            "oneOf": [
              {
                "type": "string",
                "default": "ALL"
              },
              {
                "type": "object",
                "required": [
                  "specified"
                ],
                "properties": {
                  "specified": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            ]
          },
          "limits": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "limitDef"
              ],
              "properties": {
                "limitDef": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "name",
                    "definition"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "definition": {
                      "type": "object",
                      "required": [
                        "$ref"
                      ],
                      "additionalProperties": false,
                      "properties": {
                        "$ref": {
                          "type": "string"
                        }
                      }
                    },
                    "operation": {
                      "type": "string",
                      "enum": [
                        "update",
                        "consume",
                        "replenish",
                        "check"
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_redact.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "type": "string",
        "enum": [
          "Redact"
        ]
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "oneOf": [
          {
            "type": "object",
            "required": [
              "message"
            ],
            "additionalProperties": false,
            "properties": {
              "message": {
                "type": "object",
                "required": [
                  "messageName"
                ],
                "additionalProperties": false,
                "properties": {
                  "messageName": {
                    "type": "string"
                  },
                  "queryParameters": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "headers": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "body": {
                    "type": "object",
                    "required": [
                      "captures"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "captures": {
                        "oneOf": [
                          {
                            "type": "object",
                            "required": [
                              "jsonata"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "jsonata": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "regex"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "regex": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "variable"
            ],
            "additionalProperties": false,
            "properties": {
              "variable": {
                "type": "object",
                "required": [
                  "name",
                  "captures"
                ],
                "additionalProperties": false,
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "captures": {
                    "oneOf": [
                      {
                        "type": "object",
                        "required": [
                          "jsonata"
                        ],
                        "additionalProperties": false,
                        "properties": {
                          "jsonata": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "regex"
                        ],
                        "additionalProperties": false,
                        "properties": {
                          "regex": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "distributedVariable"
            ],
            "additionalProperties": false,
            "properties": {
              "distributedVariable": {
                "type": "object",
                "required": [
                  "name",
                  "captures"
                ],
                "additionalProperties": false,
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "captures": {
                    "oneOf": [
                      {
                        "type": "object",
                        "required": [
                          "jsonata"
                        ],
                        "additionalProperties": false,
                        "properties": {
                          "jsonata": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "regex"
                        ],
                        "additionalProperties": false,
                        "properties": {
                          "regex": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "telemetry"
            ],
            "additionalProperties": false,
            "properties": {
              "telemetry": {
                "type": "object",
                "required": [
                  "keys",
                  "span"
                ],
                "additionalProperties": false,
                "properties": {
                  "keys": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "span": {
                    "description": "Supports rootSpan (string) or structured spans.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "rootSpan"
                        ]
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "policySpan": {
                            "type": "string"
                          },
                          "httpSpan": {
                            "type": "string"
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  },
  "api.ibm.com_v1_remove.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "type": "string",
        "enum": [
          "Remove"
        ]
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "oneOf": [
          {
            "type": "object",
            "required": [
              "message"
            ],
            "additionalProperties": false,
            "properties": {
              "message": {
                "type": "object",
                "required": [
                  "messageName"
                ],
                "additionalProperties": false,
                "properties": {
                  "messageName": {
                    "type": "string"
                  },
                  "queryParameters": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "headers": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "body": {
                    "type": "object",
                    "required": [
                      "captures"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "captures": {
                        "oneOf": [
                          {
                            "type": "object",
                            "required": [
                              "jsonata"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "jsonata": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "regex"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "regex": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "variable"
            ],
            "additionalProperties": false,
            "properties": {
              "variable": {
                "type": "object",
                "required": [
                  "name",
                  "captures"
                ],
                "additionalProperties": false,
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "captures": {
                    "oneOf": [
                      {
                        "type": "object",
                        "required": [
                          "jsonata"
                        ],
                        "additionalProperties": false,
                        "properties": {
                          "jsonata": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "regex"
                        ],
                        "additionalProperties": false,
                        "properties": {
                          "regex": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "distributedVariable"
            ],
            "additionalProperties": false,
            "properties": {
              "distributedVariable": {
                "type": "object",
                "required": [
                  "name",
                  "captures"
                ],
                "additionalProperties": false,
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "captures": {
                    "oneOf": [
                      {
                        "type": "object",
                        "required": [
                          "jsonata"
                        ],
                        "additionalProperties": false,
                        "properties": {
                          "jsonata": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "regex"
                        ],
                        "additionalProperties": false,
                        "properties": {
                          "regex": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "telemetry"
            ],
            "additionalProperties": false,
            "properties": {
              "telemetry": {
                "type": "object",
                "required": [
                  "keys",
                  "span"
                ],
                "additionalProperties": false,
                "properties": {
                  "keys": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "span": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "object",
                        "oneOf": [
                          {
                            "required": [
                              "policySpan"
                            ],
                            "properties": {
                              "policySpan": {
                                "type": "string"
                              }
                            }
                          },
                          {
                            "required": [
                              "httpSpan"
                            ],
                            "properties": {
                              "httpSpan": {
                                "type": "string"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    }
  },
  "api.ibm.com_v1_transform.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "type": "string",
        "enum": [
          "Transform"
        ]
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "oneOf": [
          {
            "type": "object",
            "required": [
              "messageBody"
            ],
            "properties": {
              "messageBody": {
                "type": "object",
                "required": [
                  "messageName",
                  "jsonataTransforms"
                ],
                "properties": {
                  "messageName": {
                    "type": "string"
                  },
                  "jsonataTransforms": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "capture": {
                          "type": "string"
                        },
                        "transform": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "messageHeader"
            ],
            "properties": {
              "messageHeader": {
                "type": "object",
                "required": [
                  "messageName",
                  "jsonataTransforms"
                ],
                "properties": {
                  "messageName": {
                    "type": "string"
                  },
                  "jsonataTransforms": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "headerNames",
                        "transform"
                      ],
                      "properties": {
                        "headerNames": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "transform": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "messageUriQuery"
            ],
            "properties": {
              "messageUriQuery": {
                "type": "object",
                "required": [
                  "messageName",
                  "jsonataTransforms"
                ],
                "properties": {
                  "messageName": {
                    "type": "string"
                  },
                  "jsonataTransforms": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "queryNames",
                        "action",
                        "transform"
                      ],
                      "properties": {
                        "queryNames": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "action": {
                          "type": "string",
                          "enum": [
                            "add",
                            "update",
                            "set"
                          ]
                        },
                        "transform": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "messageUriPath"
            ],
            "properties": {
              "messageUriPath": {
                "type": "object",
                "required": [
                  "messageName",
                  "jsonataTransforms"
                ],
                "properties": {
                  "messageName": {
                    "type": "string"
                  },
                  "jsonataTransforms": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "capture": {
                              "type": "string"
                            },
                            "transform": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "variable"
            ],
            "properties": {
              "variable": {
                "type": "object",
                "required": [
                  "name",
                  "jsonataTransforms"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "jsonataTransforms": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "capture": {
                          "type": "string"
                        },
                        "transform": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "distributedVariable"
            ],
            "properties": {
              "distributedVariable": {
                "type": "object",
                "required": [
                  "name",
                  "expireIn",
                  "jsonataTransforms"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "expireIn": {
                    "type": "integer",
                    "description": "Expiry in seconds"
                  },
                  "jsonataTransforms": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "capture": {
                          "type": "string"
                        },
                        "transform": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "telemetry"
            ],
            "properties": {
              "telemetry": {
                "type": "object",
                "required": [
                  "keys",
                  "span",
                  "jsonataTransforms"
                ],
                "properties": {
                  "keys": {
                    "type": "object",
                    "properties": {
                      "keyLiterals": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "span": {
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "rootSpan"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "policySpan": {
                            "type": "string"
                          },
                          "httpSpan": {
                            "type": "string"
                          }
                        }
                      }
                    ]
                  },
                  "jsonataTransforms": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "capture": {
                          "type": "string"
                        },
                        "transform": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        ]
      }
    }
  },
  "api.ibm.com_v1_datapowerassembly.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "type": "string",
        "enum": [
          "DataPowerAssembly"
        ]
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "x-ibm-configuration": {
            "type": "object",
            "additionalProperties": true,
            "required": [
              "assembly"
            ],
            "properties": {
              "assembly": {
                "type": "object",
                "properties": {
                  "execute": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "set-variable": {
                          "type": "object",
                          "properties": {
                            "version": {
                              "type": "string"
                            },
                            "title": {
                              "type": "string"
                            },
                            "actions": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "set": {
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "value": {
                                    "type": "string"
                                  },
                                  "type": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "set",
                                  "value",
                                  "type"
                                ]
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_switch.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "type": "string",
        "enum": [
          "Switch"
        ]
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "cases"
        ],
        "additionalProperties": false,
        "properties": {
          "cases": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "condition",
                "execute"
              ],
              "additionalProperties": false,
              "properties": {
                "condition": {
                  "type": "string",
                  "description": "Expression used to evaluate whether this case matches"
                },
                "execute": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "$ref"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "$ref": {
                        "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file.\nIf both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "otherwise": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_if.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "type": "string",
        "enum": [
          "If"
        ]
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "condition",
          "execute"
        ],
        "additionalProperties": false,
        "properties": {
          "condition": {
            "type": "string",
            "description": "Expression that evaluates to true or false"
          },
          "execute": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_operationswitch.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "type": "string",
        "enum": [
          "OperationSwitch"
        ]
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "cases"
        ],
        "additionalProperties": false,
        "properties": {
          "cases": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "conditions",
                "execute"
              ],
              "additionalProperties": false,
              "properties": {
                "conditions": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "oneOf": [
                      {
                        "type": "object",
                        "required": [
                          "verbPath"
                        ],
                        "properties": {
                          "verbPath": {
                            "type": "object",
                            "required": [
                              "path",
                              "verb"
                            ],
                            "properties": {
                              "path": {
                                "type": "string"
                              },
                              "verb": {
                                "type": "string",
                                "enum": [
                                  "GET",
                                  "POST",
                                  "PUT",
                                  "DELETE",
                                  "PATCH",
                                  "OPTIONS",
                                  "HEAD"
                                ]
                              }
                            }
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "operationId"
                        ],
                        "properties": {
                          "operationId": {
                            "type": "object",
                            "required": [
                              "id"
                            ],
                            "properties": {
                              "id": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "path"
                        ],
                        "properties": {
                          "path": {
                            "type": "object",
                            "required": [
                              "path"
                            ],
                            "properties": {
                              "path": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "verb"
                        ],
                        "properties": {
                          "verb": {
                            "type": "object",
                            "required": [
                              "verb"
                            ],
                            "properties": {
                              "verb": {
                                "type": "string",
                                "enum": [
                                  "GET",
                                  "POST",
                                  "PUT",
                                  "DELETE",
                                  "PATCH",
                                  "OPTIONS",
                                  "HEAD"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                "execute": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "$ref"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "$ref": {
                        "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file.\nIf both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "otherwise": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_try.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "type": "string",
        "enum": [
          "Try"
        ]
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "execute"
        ],
        "additionalProperties": false,
        "properties": {
          "execute": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                  "type": "string"
                }
              }
            }
          },
          "catch": {
            "type": "array",
            "description": "Optional catch blocks for handling errors",
            "items": {
              "type": "object",
              "required": [
                "execute"
              ],
              "additionalProperties": false,
              "properties": {
                "errors": {
                  "type": "array",
                  "description": "List of error types to catch; if omitted, catch all errors",
                  "items": {
                    "type": "string",
                    "enum": [
                      "BadRequestError",
                      "CacheUnmetInputs",
                      "CacheUnmetOutputs",
                      "ConnectionError",
                      "CorsRejectError",
                      "CustomError",
                      "ForbiddenError",
                      "InternalError",
                      "JsonataError",
                      "JsonataNoMatchError",
                      "LimitExceededError",
                      "LuaScriptError",
                      "MethodNotAllowedError",
                      "NotFoundError",
                      "NotImplementedError",
                      "ParseError",
                      "TimeoutError",
                      "UnauthorizedError",
                      "ValidateError",
                      "RedirectsExceeded",
                      "SqlInjectionFilterError",
                      "ServiceUnavailableError"
                    ]
                  }
                },
                "execute": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "$ref"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "$ref": {
                        "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file.\nIf both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "finally": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_freeflowpolicysequence.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "FreeFlowPolicySequence"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "security": {
            "type": "object",
            "required": [
              "$ref"
            ],
            "additionalProperties": false,
            "properties": {
              "$ref": {
                "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file.\nIf both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                "type": "string"
              }
            }
          },
          "monitoring": {
            "type": "object",
            "required": [
              "$ref"
            ],
            "additionalProperties": false,
            "properties": {
              "$ref": {
                "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file.\nIf both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                "type": "string"
              }
            }
          },
          "main": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                  "type": "string"
                }
              }
            }
          },
          "error": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "errorType": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "execute": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "$ref"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "$ref": {
                        "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file.\nIf both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "finally": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_javascript.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "JavaScript"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "source": {
            "type": "string"
          }
        }
      }
    }
  },
  "api.ibm.com_v1_luascript.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "LuaScript"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "source": {
            "type": "string"
          },
          "actions": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "properties": {
                "$ref": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_enforcecircuitbreaker.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "EnforceCircuitBreaker"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "preventHalfOpen": {
            "type": "boolean",
            "default": false
          },
          "recoveryDuration": {
            "type": "integer",
            "minimum": 1,
            "maximum": 86400,
            "default": 10
          },
          "breakConditions": {
            "type": "object",
            "oneOf": [
              {
                "required": [
                  "reportedFailures"
                ]
              },
              {
                "required": [
                  "reportedFailuresAndConcurrency"
                ]
              },
              {
                "required": [
                  "concurrency"
                ]
              }
            ],
            "additionalProperties": false,
            "properties": {
              "reportedFailures": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "failureCount",
                  "failureDuration"
                ],
                "properties": {
                  "failureCount": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "failureDuration": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              },
              "reportedFailuresAndConcurrency": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "failureCount",
                  "failureDuration",
                  "maxConcurrentRequests"
                ],
                "properties": {
                  "failureCount": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "failureDuration": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "maxConcurrentRequests": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              },
              "concurrency": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "maxConcurrentRequests"
                ],
                "properties": {
                  "maxConcurrentRequests": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          },
          "execute": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                  "type": "string"
                }
              }
            }
          },
          "fallbackExecute": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_tokenmediation.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "TokenMediation"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "authUrl": {
            "type": "string"
          },
          "cookieName": {
            "type": "string"
          },
          "output": {
            "type": "string",
            "enum": [
              "response",
              "postEmbeddings",
              "getModels",
              "getModelsModel"
            ]
          },
          "tokenUrl": {
            "type": "string"
          },
          "tokenUrlTls": {
            "type": "string"
          }
        }
      }
    }
  },
  "api.ibm.com_v1_block.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "Block"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "oneOf": [
          {
            "type": "object",
            "required": [
              "ip"
            ],
            "additionalProperties": false,
            "properties": {
              "ip": {
                "oneOf": [
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "allowList"
                    ],
                    "properties": {
                      "allowList": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "denyList"
                    ],
                    "properties": {
                      "denyList": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "header"
            ],
            "additionalProperties": false,
            "properties": {
              "header": {
                "oneOf": [
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "allowList"
                    ],
                    "properties": {
                      "allowList": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "name",
                            "value"
                          ],
                          "additionalProperties": false,
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "denyList"
                    ],
                    "properties": {
                      "denyList": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "name",
                            "value"
                          ],
                          "additionalProperties": false,
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "queryParam"
            ],
            "additionalProperties": false,
            "properties": {
              "queryParam": {
                "oneOf": [
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "allowList"
                    ],
                    "properties": {
                      "allowList": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "name"
                          ],
                          "additionalProperties": false,
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "denyList"
                    ],
                    "properties": {
                      "denyList": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "name"
                          ],
                          "additionalProperties": false,
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "cookie"
            ],
            "additionalProperties": false,
            "properties": {
              "cookie": {
                "oneOf": [
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "allowList"
                    ],
                    "properties": {
                      "allowList": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "name",
                            "value"
                          ],
                          "additionalProperties": false,
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "denyList"
                    ],
                    "properties": {
                      "denyList": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "name",
                            "value"
                          ],
                          "additionalProperties": false,
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        ]
      }
    }
  },
  "api.ibm.com_v1_parse.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "Parse"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "string"
          },
          "output": {
            "type": "string"
          },
          "documentType": {
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "detectByContentType"
                ],
                "properties": {
                  "detectByContentType": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "maxDepth": {
                        "type": "integer"
                      },
                      "maxDocumentSize": {
                        "type": "integer"
                      },
                      "maxNameLength": {
                        "type": "integer"
                      },
                      "maxValueLength": {
                        "type": "integer"
                      },
                      "maxWidth": {
                        "type": "integer"
                      },
                      "maxNumberLength": {
                        "type": "integer"
                      }
                    }
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "detectByPayload"
                ],
                "properties": {
                  "detectByPayload": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "maxDepth": {
                        "type": "integer"
                      },
                      "maxDocumentSize": {
                        "type": "integer"
                      },
                      "maxNameLength": {
                        "type": "integer"
                      },
                      "maxValueLength": {
                        "type": "integer"
                      },
                      "maxWidth": {
                        "type": "integer"
                      },
                      "maxNumberLength": {
                        "type": "integer"
                      }
                    }
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "json"
                ],
                "properties": {
                  "json": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "maxDepth": {
                        "type": "integer"
                      },
                      "maxDocumentSize": {
                        "type": "integer"
                      },
                      "maxNameLength": {
                        "type": "integer"
                      },
                      "maxValueLength": {
                        "type": "integer"
                      },
                      "maxWidth": {
                        "type": "integer"
                      },
                      "maxNumberLength": {
                        "type": "integer"
                      }
                    }
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "binary"
                ],
                "properties": {
                  "binary": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "maxDocumentSize": {
                        "type": "integer"
                      }
                    }
                  }
                }
              }
            ]
          }
        }
      }
    }
  },
  "api.ibm.com_v1_cache.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "Cache"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "inputs",
          "outputs",
          "expire",
          "execute"
        ],
        "properties": {
          "inputs": {
            "type": "array",
            "description": "Identifiers for cache key.",
            "items": {
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "message"
                  ],
                  "properties": {
                    "message": {
                      "type": "object",
                      "required": [
                        "name"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "messageBody"
                  ],
                  "properties": {
                    "messageBody": {
                      "type": "object",
                      "required": [
                        "name"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "messageHeader"
                  ],
                  "properties": {
                    "messageHeader": {
                      "type": "object",
                      "required": [
                        "messageName",
                        "headerName"
                      ],
                      "properties": {
                        "messageName": {
                          "type": "string"
                        },
                        "headerName": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "variable"
                  ],
                  "properties": {
                    "variable": {
                      "type": "object",
                      "required": [
                        "name"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "custom"
                  ],
                  "properties": {
                    "custom": {
                      "type": "object",
                      "required": [
                        "expression"
                      ],
                      "properties": {
                        "expression": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "outputs": {
            "type": "array",
            "description": "Variables or message parts to cache.",
            "items": {
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "message"
                  ],
                  "properties": {
                    "message": {
                      "type": "object",
                      "required": [
                        "name"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "messageBody"
                  ],
                  "properties": {
                    "messageBody": {
                      "type": "object",
                      "required": [
                        "name"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "variable"
                  ],
                  "properties": {
                    "variable": {
                      "type": "object",
                      "required": [
                        "name"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "messageHeader"
                  ],
                  "properties": {
                    "messageHeader": {
                      "type": "object",
                      "required": [
                        "messageName",
                        "headerName"
                      ],
                      "properties": {
                        "messageName": {
                          "type": "string"
                        },
                        "headerName": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "scope": {
            "type": "object",
            "oneOf": [
              {
                "properties": {
                  "narrowScope": {
                    "type": "object"
                  }
                },
                "required": [
                  "narrowScope"
                ]
              },
              {
                "properties": {
                  "wideScope": {
                    "type": "object",
                    "properties": {
                      "scopeId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "scopeId"
                    ]
                  }
                },
                "required": [
                  "wideScope"
                ]
              }
            ]
          },
          "expire": {
            "type": "object",
            "oneOf": [
              {
                "properties": {
                  "static": {
                    "type": "object",
                    "properties": {
                      "seconds": {
                        "type": "number"
                      }
                    }
                  }
                },
                "required": [
                  "static"
                ]
              },
              {
                "properties": {
                  "fromMessageHeader": {
                    "type": "object",
                    "properties": {
                      "headerName": {
                        "type": "string"
                      },
                      "messageName": {
                        "type": "string"
                      }
                    }
                  }
                },
                "required": [
                  "fromMessageHeader"
                ]
              },
              {
                "properties": {
                  "fromVariable": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                },
                "required": [
                  "fromVariable"
                ]
              },
              {
                "properties": {
                  "fromCacheControl": {
                    "type": "object",
                    "properties": {
                      "messageName": {
                        "type": "string"
                      }
                    }
                  }
                },
                "required": [
                  "fromCacheControl"
                ]
              }
            ]
          },
          "execute": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "$ref"
              ],
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_antivirus.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "Antivirus"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "errorPolicy",
          "icapHost",
          "icapName",
          "icapPort",
          "icapServiceName",
          "message",
          "responseCacheExpiration",
          "scanType"
        ],
        "additionalProperties": false,
        "properties": {
          "errorPolicy": {
            "type": "string",
            "enum": [
              "log",
              "reject",
              "strip"
            ],
            "description": "Policy for handling errors"
          },
          "icapHost": {
            "type": "string",
            "format": "uri",
            "description": "ICAP server host URL"
          },
          "icapName": {
            "type": "string",
            "description": "ICAP server name"
          },
          "icapPort": {
            "type": "integer",
            "minimum": 1,
            "maximum": 65535,
            "description": "Port number of the ICAP server"
          },
          "icapServiceName": {
            "type": "string",
            "description": "Name of the ICAP service"
          },
          "message": {
            "type": "string",
            "description": "Message for scan"
          },
          "responseCacheExpiration": {
            "type": "integer",
            "minimum": 0,
            "description": "Cache expiration time in seconds"
          },
          "scanType": {
            "type": "object",
            "additionalProperties": false,
            "description": "Defines what to scan in the message",
            "properties": {
              "bodyAndAttachments": {
                "type": "object",
                "required": [
                  "bodyExpression",
                  "filterExpression"
                ],
                "additionalProperties": false,
                "properties": {
                  "bodyExpression": {
                    "type": "string",
                    "description": "Expression to select body content"
                  },
                  "filterExpression": {
                    "type": "string",
                    "description": "Expression to filter attachments"
                  }
                }
              },
              "attachments": {
                "type": "object",
                "required": [
                  "filterExpression"
                ],
                "additionalProperties": false,
                "properties": {
                  "filterExpression": {
                    "type": "string",
                    "description": "Expression to filter attachments"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_sqlinjectionfilter.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "SQLInjectionFilter"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "type": "object",
        "description": "Defines a message named Metadata",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "filterOn",
          "injectionRules",
          "message"
        ],
        "additionalProperties": false,
        "properties": {
          "filterOn": {
            "type": "string",
            "description": "Where to apply the filter.\nOptions: \"body\" (default) | \"uri\" | \"bodyAndUri\"\n",
            "enum": [
              "body",
              "uri",
              "bodyAndUri"
            ]
          },
          "injectionRules": {
            "type": "object",
            "required": [
              "predefined",
              "custom"
            ],
            "additionalProperties": false,
            "properties": {
              "predefined": {
                "type": "array",
                "description": "List of builtin/predefined injection rule names to enable",
                "items": {
                  "type": "string",
                  "enum": [
                    "likeMatch",
                    "escapeSequence",
                    "keywordInjection",
                    "mSSQLCommands",
                    "metacharacters",
                    "oracleBufferOverflow",
                    "commands",
                    "simpleMetacharacters",
                    "orAndAttack"
                  ]
                }
              },
              "custom": {
                "type": "array",
                "description": "Names of custom injection rules. The gateway/admin must supply the corresponding regex\nor rule definition (outside of this CR) mapped to these names.\n",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "message": {
            "type": "string",
            "description": "Message to use when rule is triggered (could be a message key or literal)"
          }
        }
      }
    }
  },
  "api.ibm.com_v1_test.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "test"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "api",
          "request"
        ],
        "additionalProperties": false,
        "properties": {
          "api": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "$ref": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                ]
              },
              "$endpoint": {
                "type": "string"
              }
            }
          },
          "environment": {
            "oneOf": [
              {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "$ref": {
                    "type": "string"
                  },
                  "variables": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "key",
                        "value"
                      ],
                      "additionalProperties": false,
                      "properties": {
                        "key": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        },
                        "isSecret": {
                          "type": "boolean",
                          "default": false
                        }
                      },
                      "if": {
                        "properties": {
                          "isSecret": {
                            "const": true
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "value": {
                            "type": "string",
                            "pattern": "^\\$\\(.+\\)$",
                            "description": "When isSecret is true, value must be wrapped as $(key)"
                          }
                        }
                      }
                    }
                  }
                }
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "$ref": {
                      "type": "string"
                    },
                    "variables": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "key",
                          "value"
                        ],
                        "additionalProperties": false,
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          },
                          "isSecret": {
                            "type": "boolean",
                            "default": false
                          }
                        },
                        "if": {
                          "properties": {
                            "isSecret": {
                              "const": true
                            }
                          },
                          "then": {
                            "properties": {
                              "value": {
                                "type": "string",
                                "pattern": "^\\$\\(.+\\)$",
                                "description": "When isSecret is true, value must be wrapped as $(key)"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            ]
          },
          "request": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "method",
                "resource"
              ],
              "additionalProperties": false,
              "properties": {
                "endpoint": {
                  "type": "string"
                },
                "method": {
                  "type": "string"
                },
                "if": {
                  "oneOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "stopOnFail": {
                  "type": "boolean",
                  "default": false
                },
                "skipped": {
                  "type": "boolean",
                  "default": false
                },
                "resource": {
                  "type": "string"
                },
                "headers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "key",
                      "value"
                    ],
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                },
                "auth": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "noauth": {
                      "type": "boolean"
                    },
                    "bearerToken": {
                      "type": "string"
                    },
                    "basicAuth": {
                      "type": "object",
                      "required": [
                        "username",
                        "password"
                      ],
                      "properties": {
                        "username": {
                          "type": "string"
                        },
                        "password": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "payload": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "raw": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "json": {
                          "type": "string"
                        },
                        "js": {
                          "type": "string"
                        },
                        "html": {
                          "type": "string"
                        },
                        "xml": {
                          "type": "string"
                        }
                      }
                    },
                    "urlEncodedFormData": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "key",
                          "value"
                        ],
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "formData": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "key",
                          "value"
                        ],
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                },
                "settings": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "sslVerification": {
                      "type": "boolean"
                    },
                    "encodeURL": {
                      "type": "boolean"
                    }
                  }
                },
                "parameters": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "key",
                      "value"
                    ],
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      }
                    }
                  }
                },
                "assertions": {
                  "oneOf": [
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "$ref": {
                          "type": "string"
                        },
                        "assertions": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "name",
                              "key",
                              "value",
                              "action"
                            ],
                            "additionalProperties": false,
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "key": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              },
                              "action": {
                                "type": "string"
                              },
                              "if": {
                                "oneOf": [
                                  {
                                    "type": "boolean"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              "stopOnFail": {
                                "type": "boolean",
                                "default": false
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "$ref": {
                            "type": "string"
                          },
                          "assertions": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "name",
                                "key",
                                "value",
                                "action"
                              ],
                              "additionalProperties": false,
                              "properties": {
                                "name": {
                                  "type": "string"
                                },
                                "key": {
                                  "type": "string"
                                },
                                "value": {
                                  "type": "string"
                                },
                                "action": {
                                  "type": "string"
                                },
                                "if": {
                                  "oneOf": [
                                    {
                                      "type": "boolean"
                                    },
                                    {
                                      "type": "string"
                                    }
                                  ]
                                },
                                "stopOnFail": {
                                  "type": "boolean",
                                  "default": false
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "var": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "type": "object",
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "key",
                              "value"
                            ],
                            "properties": {
                              "key": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "vcmId": {
        "type": "string"
      }
    }
  },
  "api.ibm.com_v1_assertion.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "assertion"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL"
            ]
          }
        }
      },
      "spec": {
        "type": "array",
        "items": {
          "type": "object",
          "required": [
            "name",
            "key",
            "value",
            "action"
          ],
          "additionalProperties": false,
          "properties": {
            "name": {
              "type": "string"
            },
            "key": {
              "type": "string"
            },
            "value": {
              "type": "string"
            },
            "action": {
              "type": "string"
            },
            "if": {
              "oneOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                }
              ]
            },
            "stopOnFail": {
              "type": "boolean",
              "default": false
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_environment.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "environment"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "variables"
        ],
        "additionalProperties": false,
        "properties": {
          "variables": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "key",
                "value"
              ],
              "additionalProperties": false,
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                },
                "isSecret": {
                  "type": "boolean",
                  "default": false
                }
              },
              "if": {
                "properties": {
                  "isSecret": {
                    "const": true
                  }
                }
              },
              "then": {
                "properties": {
                  "value": {
                    "type": "string",
                    "pattern": "^\\$\\(.+\\)$",
                    "description": "When isSecret is true, value must be wrapped as $(key)"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_mcptool.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "MCPTool"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "tools"
        ],
        "additionalProperties": false,
        "properties": {
          "tools": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "name",
                "description",
                "inputSchema"
              ],
              "additionalProperties": false,
              "properties": {
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "inputSchema": {
                  "type": "object",
                  "required": [
                    "type",
                    "properties"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "object"
                      ]
                    },
                    "properties": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "description": {
                            "type": "string"
                          },
                          "x-parameter-location": {
                            "type": "string",
                            "enum": [
                              "query",
                              "path"
                            ]
                          },
                          "type": {
                            "type": "string"
                          },
                          "enum": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "example": {},
                          "format": {
                            "type": "string"
                          },
                          "nullable": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "required": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "x-original-path": {
                  "type": "string"
                }
              }
            }
          },
          "api": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "$path": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_mcpserverconfig.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "MCPServerConfig"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ]
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "required": [
          "tools",
          "server",
          "log-level"
        ],
        "additionalProperties": false,
        "properties": {
          "tools": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "type": "string",
                  "description": "Literal reference identifier (not an OAS $ref)"
                }
              },
              "required": [
                "$ref"
              ]
            }
          },
          "server": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "mode"
            ],
            "properties": {
              "mode": {
                "type": "string"
              }
            }
          },
          "log-level": {
            "type": "string",
            "enum": [
              "INFO",
              "DEBUG",
              "WARN",
              "ERROR"
            ]
          }
        }
      }
    }
  },
  "api.ibm.com_v1_or.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "Or"
        ],
        "type": "string"
      },
      "apiVersion": {
        "type": "string",
        "default": "api.ibm.com/v1"
      },
      "metadata": {
        "description": "Defines a message named Metadata",
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "namespace": {
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "type": {
            "enum": [
              "REST",
              "SWAGGER",
              "SOAP",
              "GRAPHQL",
              "ODATA"
            ],
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "gatewayTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "spec": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "options"
        ],
        "properties": {
          "options": {
            "anyOf": [
              {
                "type": "array",
                "minItems": 2,
                "description": "List of policies to try until one succeeds.",
                "items": {
                  "type": "object",
                  "required": [
                    "$ref"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "$ref": {
                      "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file.\nIf both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                      "type": "string"
                    }
                  }
                }
              },
              {
                "type": "array",
                "minItems": 2,
                "description": "List of policy blocks to try until one succeeds.",
                "items": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "$ref"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "$ref": {
                        "description": "Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file.\nIf both 'ref' and '$ref' are specified, the value of '$ref' takes priority.",
                        "type": "string"
                      }
                    }
                  }
                }
              }
            ]
          }
        }
      }
    }
  },
  "api.ibm.com-v1_kindenums.json": {
    "description": "Defines an enumeration named KindEnums. This enum defines the unique kind name which identifies assets",
    "type": "string",
    "enum": [
      "API",
      "Scope",
      "Project",
      "StagedPolicySequence",
      "InvokeAWSLambda",
      "ValidateAPISpecification",
      "CORS",
      "Quota",
      "Plan",
      "Product",
      "URISchemes",
      "Properties",
      "LoadBalancer",
      "SetAuthorization",
      "Invoke",
      "GlobalPolicy",
      "IAM",
      "CacheServiceResult",
      "Route",
      "HTTPEndpoint",
      "MockEndpoint",
      "MockResponse",
      "Set",
      "RateLimitDef",
      "RateLimit",
      "Redact",
      "Remove",
      "Transform",
      "DataPowerAssembly",
      "Switch",
      "If",
      "Try",
      "OperationSwitch",
      "FreeFlowPolicySequence",
      "Block",
      "TokenMediation",
      "EnforceCircuitBreaker",
      "JavaScript",
      "LuaScript",
      "Parse",
      "Cache",
      "Antivirus",
      "SQLInjectionFilter",
      "CountLimit",
      "CountLimitDef",
      "Return",
      "test",
      "assertion",
      "environment",
      "MCPTool",
      "MCPServerConfig",
      "Or"
    ]
  }
}