{
  "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",
            "required": [
              "accessSecret"
            ],
            "additionalProperties": false,
            "properties": {
              "accessSecret": {
                "type": "string"
              }
            }
          },
          "tlsConnectionProfile": {
            "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"
              }
            }
          },
          "extensions": {
            "type": "object",
            "properties": {
              "webm-gateway": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "apiVersion": {
                    "type": "string",
                    "default": "wm_1.0.0"
                  },
                  "spec": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "condition": {
                        "type": "string"
                      },
                      "lambdaConfig": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "alias": {
                            "type": "string"
                          }
                        }
                      },
                      "clientConfig": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "retryOnErrorCount": {
                            "type": "integer"
                          }
                        }
                      },
                      "request_processing": {
                        "description": "Field 'request_processing' with JSON name 'request-processing' accepts the value of either 'request_processing' or 'request-processing' from the YAML file. If both are specified, 'request-processing' takes priority.\n",
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "transformations"
                        ],
                        "properties": {
                          "transformations": {
                            "description": "Single instance of transformation can be given",
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "set": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "remove": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "setPayload": {
                                "type": "object",
                                "additionalProperties": false,
                                "properties": {
                                  "content-types": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "additionalProperties": {
                                        "type": "string"
                                      }
                                    }
                                  },
                                  "defaultContentType": {
                                    "type": "string"
                                  },
                                  "xsl": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "properties": {
                                        "$path": {
                                          "type": "string"
                                        },
                                        "content": {
                                          "type": "string"
                                        },
                                        "feature": {
                                          "type": "array",
                                          "items": {
                                            "type": "object",
                                            "additionalProperties": false,
                                            "properties": {
                                              "name": {
                                                "type": "string"
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "useIncomingHeaders": {
                            "type": "boolean"
                          }
                        }
                      },
                      "response_processing": {
                        "description": "Field 'response_processing' with JSON name 'response-processing' accepts the value of either 'response_processing' or 'response-processing' from the YAML file. If both are specified, 'response-processing' takes priority.\n",
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "transformations"
                        ],
                        "properties": {
                          "transformations": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "abortAPIExecutionForFailure": {
                                "type": "boolean"
                              },
                              "copyEntireResponse": {
                                "type": "boolean"
                              },
                              "set": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      },
                      "namespaces": {
                        "type": "array",
                        "minItems": 1,
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "URI": {
                              "type": "string"
                            },
                            "prefix": {
                              "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"
                        ]
                      }
                    }
                  }
                }
              }
            ]
          },
          "extensions": {
            "type": "object",
            "properties": {
              "webm-gateway": {
                "type": "object",
                "required": [
                  "apiVersion",
                  "spec"
                ],
                "properties": {
                  "apiVersion": {
                    "type": "string"
                  },
                  "spec": {
                    "type": "object",
                    "properties": {
                      "validate": {
                        "type": "object",
                        "properties": {
                          "custom-headers": {
                            "type": "object",
                            "properties": {
                              "condition": {
                                "type": "string"
                              }
                            }
                          },
                          "schema": {
                            "type": "object",
                            "properties": {
                              "feature": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "name",
                                    "value"
                                  ],
                                  "properties": {
                                    "name": {
                                      "type": "string"
                                    },
                                    "value": {
                                      "type": "boolean"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "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"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "extensions": {
            "type": "object",
            "properties": {
              "webm-gateway": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "apiVersion": {
                    "type": "string",
                    "default": "wm_1.0.0"
                  },
                  "spec": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "endpoints": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "connectionTimeout": {
                              "type": "integer"
                            },
                            "sslConfig": {
                              "type": "object",
                              "additionalProperties": false,
                              "properties": {
                                "keyStoreAlias": {
                                  "type": "string"
                                },
                                "keyAlias": {
                                  "type": "string"
                                },
                                "trustStoreAlias": {
                                  "type": "string"
                                }
                              }
                            },
                            "serviceRegistryParameters": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "additionalProperties": false,
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  },
                                  "value": {
                                    "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"
          },
          "extensions": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "webm-gateway": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "apiVersion": {
                    "type": "string"
                  },
                  "spec": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "endpoint": {
                        "type": "object",
                        "properties": {
                          "http": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "target": {
                                "type": "object",
                                "additionalProperties": false,
                                "properties": {
                                  "connectionTimeout": {
                                    "type": "integer"
                                  }
                                }
                              },
                              "sslConfig": {
                                "type": "object",
                                "additionalProperties": false,
                                "properties": {
                                  "keyStoreAlias": {
                                    "type": "string"
                                  },
                                  "keyAlias": {
                                    "type": "string"
                                  },
                                  "trustStoreAlias": {
                                    "type": "string"
                                  }
                                }
                              },
                              "serviceRegistryParameters": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "name": {
                                      "type": "string"
                                    },
                                    "value": {
                                      "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"
                            }
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          },
          "extensions": {
            "type": "object",
            "properties": {
              "webm-gateway": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "apiVersion": {
                    "type": "string",
                    "default": "wm_1.0.0"
                  },
                  "spec": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "authenticationMode": {
                        "type": "string",
                        "enum": [
                          "ANY",
                          "ALL"
                        ]
                      },
                      "allowAnonymous": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {}
                      },
                      "triggerPolicyViolation": {
                        "type": "boolean"
                      },
                      "accessControl": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "kerberos": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "applicationSecurity": {
                                "type": "object",
                                "additionalProperties": false,
                                "properties": {
                                  "mode": {
                                    "type": "string",
                                    "enum": [
                                      "authorize",
                                      "identify",
                                      "authenticate"
                                    ]
                                  }
                                }
                              },
                              "servicePrincipleName": {
                                "type": "string"
                              },
                              "servicePrinciplePassword": {
                                "type": "string"
                              }
                            }
                          },
                          "openIdConnect": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "applicationSecurity": {
                                "type": "object",
                                "additionalProperties": false,
                                "properties": {
                                  "mode": {
                                    "type": "string",
                                    "enum": [
                                      "authorize",
                                      "identify",
                                      "authenticate"
                                    ]
                                  }
                                }
                              }
                            }
                          },
                          "payloadElement": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "applicationSecurity": {
                                "type": "object",
                                "additionalProperties": false,
                                "properties": {
                                  "mode": {
                                    "type": "string",
                                    "enum": [
                                      "authorize",
                                      "identify",
                                      "authenticate"
                                    ]
                                  }
                                }
                              },
                              "payLoadIdentifier": {
                                "type": "array",
                                "items": {
                                  "oneOf": [
                                    {
                                      "type": "object",
                                      "required": [
                                        "jPath"
                                      ],
                                      "additionalProperties": false,
                                      "properties": {
                                        "jPath": {
                                          "type": "string"
                                        }
                                      }
                                    },
                                    {
                                      "type": "object",
                                      "required": [
                                        "xpath"
                                      ],
                                      "additionalProperties": false,
                                      "properties": {
                                        "xpath": {
                                          "type": "string"
                                        },
                                        "namespaces": {
                                          "type": "array",
                                          "items": {
                                            "type": "object",
                                            "additionalProperties": false,
                                            "properties": {
                                              "prefix": {
                                                "type": "string"
                                              },
                                              "URI": {
                                                "type": "string"
                                              }
                                            }
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "type": "object",
                                      "required": [
                                        "regex"
                                      ],
                                      "additionalProperties": false,
                                      "properties": {
                                        "regex": {
                                          "type": "string"
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "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"
                      ]
                    }
                  }
                }
              }
            }
          },
          "extensions": {
            "type": "object",
            "properties": {
              "webm-gateway": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "apiVersion": {
                    "type": "string",
                    "default": "wm_1.0.0"
                  },
                  "spec": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "destination"
                    ],
                    "properties": {
                      "destination": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "string",
                              "enum": [
                                "api_gateway",
                                "dev_portals",
                                "snmp",
                                "jdbc",
                                "centraSite",
                                "elasticsearch",
                                "auditLog",
                                "apic"
                              ]
                            },
                            {
                              "type": "object",
                              "additionalProperties": false,
                              "properties": {
                                "email": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "format": "email"
                                  }
                                }
                              }
                            },
                            {
                              "type": "object",
                              "additionalProperties": false,
                              "properties": {
                                "log-file": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "level": {
                                      "type": "string",
                                      "enum": [
                                        "info",
                                        "debug",
                                        "warn",
                                        "error"
                                      ]
                                    }
                                  }
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "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"
            ]
          },
          "extensions": {
            "type": "object",
            "properties": {
              "webm-gateway": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "apiVersion": {
                    "type": "string",
                    "default": "wm_1.0.0"
                  },
                  "spec": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "alertMessage": {
                        "type": "string"
                      },
                      "alertFrequency": {
                        "type": "string",
                        "enum": [
                          "once",
                          "always"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_inboundbulkhead.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "InboundBulkHead"
        ],
        "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": {
          "maxConcurrentCalls": {
            "type": "integer"
          },
          "enableBulkheadForCallbacks": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "maxConcurrentCallbacks": {
                "type": "integer"
              }
            }
          },
          "retryAfterResponseHeader": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "retryAfterValue": {
                "type": "integer"
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_setmediatype.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "SetMediaType"
        ],
        "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": {
          "defaultAcceptHeader": {
            "type": "string"
          },
          "defaultContentType": {
            "type": "string"
          }
        }
      }
    }
  },
  "api.ibm.com_v1_inboundmessaging.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "InboundMessaging"
        ],
        "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": {
          "alias": {
            "type": "string"
          },
          "source": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "name": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "QUEUE",
                    "TOPIC"
                  ]
                },
                "selector": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "resource": {
                  "type": "string"
                },
                "httpMethod": {
                  "type": "string",
                  "enum": [
                    "GET",
                    "POST",
                    "PUT",
                    "DELETE"
                  ]
                },
                "contentType": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_authorizeuser.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "AuthorizeUser"
        ],
        "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": {
          "enabled": {
            "type": "boolean"
          },
          "users": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "teams": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_setcontextvariable.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "SetContextVariable"
        ],
        "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": {
          "enabled": {
            "description": "Can be enabled or disabled",
            "type": "boolean"
          },
          "condition": {
            "type": "string"
          },
          "namespaces": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "URI": {
                  "type": "string"
                },
                "prefix": {
                  "type": "string"
                }
              }
            }
          },
          "variable": {
            "description": "Multiple instances of variable can be given",
            "type": "array",
            "items": {
              "description": "The message specified the information related to Variable",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "name": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_webmethodsisservice.json": {
    "description": "The Context Variable related information is captured in the message WebMethodsISService.\n",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "WebMethodsISService"
        ],
        "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": {
          "enabled": {
            "type": "boolean"
          },
          "condition": {
            "type": "string"
          },
          "alias": {
            "type": "string"
          },
          "services": {
            "description": "Multiple instances of Service can be given",
            "type": "array",
            "items": {
              "description": "The message specified the information related to Service",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "complyToISSpec": {
                  "type": "boolean"
                },
                "name": {
                  "type": "string"
                },
                "runAs": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_log.json": {
    "description": "The Log Invocation related information is captured in the message LogInvocation\n",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "Log"
        ],
        "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": {
          "enabled": {
            "type": "boolean"
          },
          "logRequestHeaders": {
            "type": "boolean",
            "default": false
          },
          "logResponseHeaders": {
            "type": "boolean",
            "default": false
          },
          "logRequestPayload": {
            "type": "boolean",
            "default": false
          },
          "logResponsePayload": {
            "type": "boolean",
            "default": false
          },
          "compressPayloads": {
            "type": "boolean",
            "default": false
          },
          "logGenerationFrequency": {
            "type": "string",
            "enum": [
              "always",
              "onfailure",
              "onsuccess"
            ]
          },
          "destination": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "api_gateway",
                    "dev_portals",
                    "snmp",
                    "jdbc",
                    "centraSite",
                    "elasticsearch",
                    "auditLog",
                    "apic"
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "email": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "format": "email"
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "log-file": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "level": {
                          "type": "string",
                          "enum": [
                            "info",
                            "debug",
                            "warn",
                            "error"
                          ]
                        }
                      }
                    }
                  }
                }
              ]
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_monitortraffic.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "MonitorTraffic"
        ],
        "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": {
          "enabled": {
            "type": "boolean"
          },
          "condition": {
            "description": "Single instance of condition can be given",
            "type": "string"
          },
          "applications": {
            "description": "Multiple instance of application can be given",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "alert-configuration": {
            "description": "Field 'alert_configuration' with JSON name 'alert-configuration' accepts the value of either 'alert_configuration' or 'alert-configuration' from the YAML file. If both are specified, 'alert-configuration' takes priority. Multiple instances of alert configuration can be given with JSON name \"alert-configuration\".\n",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "frequency": {
                "type": "string",
                "enum": [
                  "always",
                  "once"
                ]
              },
              "interval": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          },
          "notify-on-breach": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "api_gateway",
                    "dev_portals",
                    "snmp",
                    "jdbc",
                    "centraSite",
                    "elasticsearch",
                    "auditLog",
                    "apic"
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "email": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "format": "email"
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "log-file": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "level": {
                          "type": "string",
                          "enum": [
                            "info",
                            "debug",
                            "warn",
                            "error"
                          ]
                        }
                      }
                    }
                  }
                }
              ]
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_httpinvoke.json": {
    "description": "The HTTP Invoke related information is captured in the message HTTPInvoke\n",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "HTTPInvoke"
        ],
        "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": {
          "enabled": {
            "description": "Can be enabled or disabled",
            "type": "boolean"
          },
          "condition": {
            "type": "string"
          },
          "endpoint": {
            "type": "object",
            "required": [
              "$ref"
            ],
            "additionalProperties": false,
            "properties": {
              "$ref": {
                "type": "string"
              }
            }
          },
          "namespaces": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "URI": {
                  "type": "string"
                },
                "prefix": {
                  "type": "string"
                }
              }
            }
          },
          "request_processing": {
            "description": "Field 'request_processing' with JSON name 'request-processing' accepts the value of either 'request_processing' or 'request-processing' from the YAML file.\nIf both 'request_processing' and 'request-processing' are specified, the value of 'request-processing' takes priority.\nSingle instances of request processing can be given with JSON name \"request-processing\".",
            "type": "object",
            "additionalProperties": false,
            "required": [
              "transformations"
            ],
            "properties": {
              "transformations": {
                "description": "Single instance of transformation can be given",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "set": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "key": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "remove": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "setPayload": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "content-types": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          }
                        }
                      },
                      "defaultContentType": {
                        "type": "string"
                      },
                      "xsl": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "$path": {
                              "type": "string"
                            },
                            "content": {
                              "type": "string"
                            },
                            "feature": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "additionalProperties": false,
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "useIncomingHeaders": {
                "type": "boolean"
              }
            }
          },
          "response_processing": {
            "description": "Field 'response_processing' with JSON name 'response-processing' accepts the value of either 'response_processing' or 'response-processing' from the YAML file.\nIf both 'response_processing' and 'response-processing' are specified, the value of 'response-processing' takes priority.\nSingle instances of response processing can be given with JSON name \"response-processing\".",
            "type": "object",
            "additionalProperties": false,
            "required": [
              "transformations"
            ],
            "properties": {
              "transformations": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "abortAPIExecutionForFailure": {
                    "type": "boolean"
                  },
                  "copyEntireResponse": {
                    "type": "boolean"
                  },
                  "set": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "key": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_invokemessagingextension.json": {
    "description": "The Messaging Extension related information is captured in the message MessagingExtension.\n",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "InvokeMessagingExtension"
        ],
        "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": {
          "enabled": {
            "description": "Can be enabled or disabled",
            "type": "boolean"
          },
          "condition": {
            "description": "Single instance of conidition can be given",
            "type": "string"
          },
          "messageConfig": {
            "type": "object",
            "required": [
              "$ref"
            ],
            "additionalProperties": false,
            "properties": {
              "$ref": {
                "type": "string"
              }
            }
          },
          "namespaces": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "URI": {
                  "type": "string"
                },
                "prefix": {
                  "type": "string"
                }
              }
            }
          },
          "request_processing": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "transformations"
            ],
            "properties": {
              "transformations": {
                "description": "Single instance of transformation can be given",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "set": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "key": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "remove": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "setPayload": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "content-types": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          }
                        }
                      },
                      "defaultContentType": {
                        "type": "string"
                      },
                      "xsl": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "$path": {
                              "type": "string"
                            },
                            "content": {
                              "type": "string"
                            },
                            "feature": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "additionalProperties": false,
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "useIncomingHeaders": {
                "type": "boolean"
              }
            }
          },
          "response_processing": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "transformations"
            ],
            "properties": {
              "transformations": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "abortAPIExecutionForFailure": {
                    "type": "boolean"
                  },
                  "copyEntireResponse": {
                    "type": "boolean"
                  },
                  "set": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "key": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_transformrequest.json": {
    "description": "The Request Processing related information is captured in the message RequestProcessing\n",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "TransformRequest"
        ],
        "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": {
          "enabled": {
            "description": "Can be enabled or disabled",
            "type": "boolean"
          },
          "condition": {
            "description": "Single instance of condition can be given",
            "type": "string"
          },
          "transformations": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "set": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              },
              "remove": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "setPayload": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "content-types": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string"
                      }
                    }
                  },
                  "defaultContentType": {
                    "type": "string"
                  },
                  "xsl": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "$path": {
                          "type": "string"
                        },
                        "content": {
                          "type": "string"
                        },
                        "feature": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "namespaces": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "URI": {
                      "type": "string"
                    },
                    "prefix": {
                      "type": "string"
                    }
                  }
                }
              },
              "setMethod": {
                "type": "string"
              },
              "webMethodsISService": {
                "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_transformresponse.json": {
    "description": "The Response Processing related information is captured in the message ResponseProcessing\n",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "TransformResponse"
        ],
        "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": {
          "enabled": {
            "description": "Can be enabled or disabled",
            "type": "boolean"
          },
          "condition": {
            "description": "Single instance of condition can be given",
            "type": "string"
          },
          "transformations": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "set": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              },
              "remove": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "setPayload": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "content-types": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string"
                      }
                    }
                  },
                  "defaultContentType": {
                    "type": "string"
                  },
                  "xsl": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "$path": {
                          "type": "string"
                        },
                        "content": {
                          "type": "string"
                        },
                        "feature": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "namespaces": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "URI": {
                      "type": "string"
                    },
                    "prefix": {
                      "type": "string"
                    }
                  }
                }
              },
              "setStatus": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  }
                }
              },
              "webMethodsISService": {
                "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_messageconfig.json": {
    "description": "The MessageConfig related information is captured in the message MessageConfig.",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "MessageConfig"
        ],
        "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": {
          "connectionAlias": {
            "type": "string"
          },
          "destination": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "queue",
                  "topic"
                ]
              }
            }
          },
          "replyTo": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "queue",
                  "topic"
                ]
              }
            }
          },
          "ttl": {
            "type": "string"
          },
          "timeToWait": {
            "type": "string"
          },
          "deliveryMode": {
            "type": "string",
            "enum": [
              "persistent",
              "non_persistent"
            ]
          },
          "property": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_errorprocessing.json": {
    "description": "Conditional Error Handling information",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "ErrorProcessing"
        ],
        "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": {
          "enabled": {
            "type": "boolean"
          },
          "condition": {
            "type": "string"
          },
          "pre-processing": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "webMethodsISService": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "$ref"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "$ref": {
                      "type": "string"
                    }
                  }
                }
              },
              "xsl": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "$path": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string"
                    },
                    "feature": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "transformations": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "set": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              },
              "remove": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "setPayload": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "content-types": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string"
                      }
                    }
                  },
                  "defaultContentType": {
                    "type": "string"
                  },
                  "xsl": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "$path": {
                          "type": "string"
                        },
                        "content": {
                          "type": "string"
                        },
                        "feature": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "namespaces": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "prefix": {
                      "type": "string"
                    },
                    "URI": {
                      "type": "string"
                    }
                  }
                }
              },
              "sendNativeError": {
                "type": "boolean"
              }
            }
          },
          "post-processing": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "webMethodsISService": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "$ref"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "$ref": {
                      "type": "string"
                    }
                  }
                }
              },
              "xsl": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "$path": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string"
                    },
                    "feature": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "api.ibm.com_v1_outboundalias.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "OutboundAlias"
        ],
        "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": [
          "alias"
        ],
        "additionalProperties": false,
        "properties": {
          "alias": {
            "type": "string"
          }
        }
      }
    }
  },
  "api.ibm.com_v1_outboundanonymous.json": {
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "OutboundAnonymous"
        ],
        "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": true
      }
    }
  },
  "api.ibm.com_v1_datamasking.json": {
    "description": "The Data Masking related information is captured in the message DataMasking\n",
    "type": "object",
    "required": [
      "kind",
      "apiVersion",
      "metadata",
      "spec"
    ],
    "additionalProperties": false,
    "properties": {
      "kind": {
        "enum": [
          "DataMasking"
        ],
        "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": {
          "applyForPayload": {
            "type": "boolean"
          },
          "applyForTransactionLogging": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "matchApplications": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "transformations": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "remove": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "jpath": {
                      "type": "string"
                    },
                    "regex": {
                      "type": "string"
                    },
                    "xpath": {
                      "type": "string"
                    }
                  }
                }
              },
              "setMask": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "jPath": {
                      "type": "string"
                    },
                    "maskValue": {
                      "type": "string"
                    },
                    "regex": {
                      "type": "string"
                    },
                    "xPath": {
                      "type": "string"
                    },
                    "namespaces": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "URI": {
                            "type": "string"
                          },
                          "prefix": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "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"
                      }
                    }
                  }
                ]
              },
              "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"
                      }
                    }
                  }
                ]
              },
              "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"
                      }
                    }
                  }
                ]
              },
              "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_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",
      "Telemetry",
      "Properties",
      "LoadBalancer",
      "SetAuthorization",
      "Invoke",
      "GlobalPolicy",
      "InboundBulkHead",
      "SetMediaType",
      "InboundMessaging",
      "IAM",
      "AuthorizeUser",
      "SetContextVariable",
      "WebMethodsISService",
      "Log",
      "MonitorTraffic",
      "CacheServiceResult",
      "OutboundAlias",
      "OutboundAnonymous",
      "HTTPInvoke",
      "InvokeMessagingExtension",
      "DataMasking",
      "TransformRequest",
      "TransformResponse",
      "Route",
      "MessageConfig",
      "HTTPEndpoint",
      "MockEndpoint",
      "MockResponse",
      "ErrorProcessing",
      "Set",
      "RateLimitDef",
      "RateLimit",
      "CountLimit",
      "CountLimitDef"
    ]
  }
}