{
  "name": "kerberos",
  "description": "Mule Extension that provides Kerberos authentication capabilities.",
  "version": "1.0.0",
  "vendor": "Mulesoft",
  "supportedJavaVersions": [
    "17"
  ],
  "category": "COMMUNITY",
  "xmlDsl": {
    "prefix": "kerberos",
    "namespace": "http://www.mulesoft.org/schema/mule/kerberos",
    "schemaLocation": "http://www.mulesoft.org/schema/mule/kerberos/current/mule-kerberos.xsd",
    "schemaVersion": "1.0.0",
    "xsdFileName": "mule-kerberos.xsd"
  },
  "resources": [
    "META-INF/services/org.mule.runtime.ast.api.validation.ValidationsProvider"
  ],
  "subTypes": [
    {
      "baseType": {
        "format": "java",
        "type": "@ref:org.mule.extension.http.api.request.proxy.HttpProxyConfig"
      },
      "subTypes": [
        {
          "format": "java",
          "type": "@ref:org.mule.extension.kerberos.api.KerberosProxyAuthentication"
        }
      ]
    }
  ],
  "privilegedPackages": [],
  "privilegedArtifacts": [],
  "externalLibraries": [],
  "importedTypes": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.http.api.request.proxy.HttpProxyConfig",
        "classInformation": {
          "classname": "org.mule.extension.http.api.request.proxy.HttpProxyConfig",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.runtime.http.api.client.proxy.ProxyConfig"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "HttpProxyConfig"
        },
        "stereotype": {
          "allowedStereotypes": [
            {
              "type": "HTTP_PROXY_CONFIG",
              "namespace": "HTTP"
            }
          ]
        }
      },
      "fields": []
    }
  ],
  "configurations": [
    {
      "stereotype": {
        "type": "CONFIG",
        "namespace": "KERBEROS",
        "parent": {
          "type": "MODULE_CONFIG",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": true,
              "fieldValueProviderModels": [],
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "name",
              "description": "The identifier of this element used to reference it in other components",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "operations": [],
      "connectionProviders": [],
      "messageSources": [],
      "name": "config",
      "description": "Default configuration",
      "modelProperties": {
        "requiredForMetadata": {
          "requiredParameters": [
            "name"
          ]
        }
      }
    }
  ],
  "operations": [],
  "functions": [],
  "constructs": [],
  "connectionProviders": [],
  "messageSources": [],
  "artifactCoordinates": {
    "artifact id": "mule-kerberos-module",
    "group id": "org.mule.modules",
    "version": "1.0.0"
  },
  "notifications": [],
  "errors": [
    {
      "error": "KERBEROS:CONNECTIVITY",
      "parent": "MULE:CONNECTIVITY",
      "handleable": true
    },
    {
      "error": "MULE:CONNECTIVITY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "KERBEROS:RETRY_EXHAUSTED",
      "parent": "MULE:RETRY_EXHAUSTED",
      "handleable": true
    },
    {
      "error": "MULE:RETRY_EXHAUSTED",
      "parent": "MULE:ANY",
      "handleable": true
    }
  ],
  "modelProperties": {},
  "types": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.kerberos.api.KerberosProxyAuthentication",
        "classInformation": {
          "classname": "org.mule.extension.kerberos.api.KerberosProxyAuthentication",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.extension.http.api.request.proxy.HttpProxyConfig",
            "org.mule.runtime.api.lifecycle.Initialisable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeDsl": {
          "allowInlineDefinition": true,
          "allowTopLevelDefinition": true
        },
        "typeAlias": {
          "value": "proxy-authentication"
        },
        "stereotype": {
          "allowedStereotypes": [
            {
              "type": "KERBEROS_PROXY_AUTHENTICATION",
              "namespace": "KERBEROS",
              "parent": {
                "type": "HTTP_PROXY_CONFIG",
                "namespace": "HTTP"
              }
            }
          ]
        }
      },
      "fields": [
        {
          "key": {
            "name": "host",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "port",
            "required": "true"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "principal",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "realm",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "useTicketCache"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "false",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Use Ticket Cache"
              }
            }
          }
        },
        {
          "key": {
            "name": "keytabPath"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Keytab Path",
                "pathModel": {
                  "type": "ANY",
                  "fileExtensions": [
                    "keytab"
                  ],
                  "acceptsUrls": false,
                  "location": "ANY"
                }
              }
            }
          }
        },
        {
          "key": {
            "name": "ticketCachePath"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Ticket Cache Path"
              }
            }
          }
        },
        {
          "key": {
            "name": "nonProxyHosts"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "serviceType"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "default": "HTTP",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Service Type"
              }
            }
          }
        },
        {
          "key": {
            "name": "preemptive"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "false",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "displayName": "Preemptive Authentication"
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.kerberos.api.validation.KerberosValidationsProvider",
        "classInformation": {
          "classname": "org.mule.extension.kerberos.api.validation.KerberosValidationsProvider",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.runtime.ast.api.validation.ValidationsProvider"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "KerberosValidationsProvider"
        }
      },
      "fields": [
        {
          "key": {
            "name": "artifactRegionClassLoader"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "java.lang.ClassLoader",
              "classInformation": {
                "classname": "java.lang.ClassLoader",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "ClassLoader"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "defaultAssertionStatus"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "visibility": "WRITE_ONLY"
                }
              },
              {
                "key": {
                  "name": "definedPackages"
                },
                "model": {
                  "type": "Array",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.Package[]",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    }
                  },
                  "item": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.Package",
                      "classInformation": {
                        "classname": "java.lang.Package",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "java.lang.NamedPackage",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "Package"
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "annotations"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "classInformation": {
                              "classname": "java.lang.annotation.Annotation[]",
                              "hasDefaultConstructor": false,
                              "isInterface": false,
                              "isInstantiable": false,
                              "isAbstract": true,
                              "isFinal": true,
                              "implementedInterfaces": [],
                              "parent": "",
                              "genericTypes": [],
                              "isMap": false
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "typeId": "java.lang.annotation.Annotation",
                              "classInformation": {
                                "classname": "java.lang.annotation.Annotation",
                                "hasDefaultConstructor": false,
                                "isInterface": true,
                                "isInstantiable": false,
                                "isAbstract": true,
                                "isFinal": false,
                                "implementedInterfaces": [],
                                "parent": "",
                                "genericTypes": [],
                                "isMap": false
                              },
                              "typeAlias": {
                                "value": "Annotation"
                              }
                            },
                            "fields": []
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "declaredAnnotations"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "classInformation": {
                              "classname": "java.lang.annotation.Annotation[]",
                              "hasDefaultConstructor": false,
                              "isInterface": false,
                              "isInstantiable": false,
                              "isAbstract": true,
                              "isFinal": true,
                              "implementedInterfaces": [],
                              "parent": "",
                              "genericTypes": [],
                              "isMap": false
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "typeId": "java.lang.annotation.Annotation",
                              "classInformation": {
                                "classname": "java.lang.annotation.Annotation",
                                "hasDefaultConstructor": false,
                                "isInterface": true,
                                "isInstantiable": false,
                                "isAbstract": true,
                                "isFinal": false,
                                "implementedInterfaces": [],
                                "parent": "",
                                "genericTypes": [],
                                "isMap": false
                              },
                              "typeAlias": {
                                "value": "Annotation"
                              }
                            },
                            "fields": []
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "implementationTitle"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "implementationVendor"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "implementationVersion"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "sealed"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "typeId": "boolean"
                          }
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "specificationTitle"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "specificationVendor"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "specificationVersion"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      }
                    ]
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "name"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "parent"
                },
                "model": "#..",
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "registeredAsParallelCapable"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "unnamedModule"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "java.lang.Module",
                    "classInformation": {
                      "classname": "java.lang.Module",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": false,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "Module"
                    }
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "annotations"
                      },
                      "model": {
                        "type": "Array",
                        "annotations": {
                          "classInformation": {
                            "classname": "java.lang.annotation.Annotation[]",
                            "hasDefaultConstructor": false,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": true,
                            "implementedInterfaces": [],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          }
                        },
                        "item": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "java.lang.annotation.Annotation",
                            "classInformation": {
                              "classname": "java.lang.annotation.Annotation",
                              "hasDefaultConstructor": false,
                              "isInterface": true,
                              "isInstantiable": false,
                              "isAbstract": true,
                              "isFinal": false,
                              "implementedInterfaces": [],
                              "parent": "",
                              "genericTypes": [],
                              "isMap": false
                            },
                            "typeAlias": {
                              "value": "Annotation"
                            }
                          },
                          "fields": []
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "classLoader"
                      },
                      "model": "#../..",
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "declaredAnnotations"
                      },
                      "model": {
                        "type": "Array",
                        "annotations": {
                          "classInformation": {
                            "classname": "java.lang.annotation.Annotation[]",
                            "hasDefaultConstructor": false,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": true,
                            "implementedInterfaces": [],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          }
                        },
                        "item": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "java.lang.annotation.Annotation",
                            "classInformation": {
                              "classname": "java.lang.annotation.Annotation",
                              "hasDefaultConstructor": false,
                              "isInterface": true,
                              "isInstantiable": false,
                              "isAbstract": true,
                              "isFinal": false,
                              "implementedInterfaces": [],
                              "parent": "",
                              "genericTypes": [],
                              "isMap": false
                            },
                            "typeAlias": {
                              "value": "Annotation"
                            }
                          },
                          "fields": []
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "descriptor"
                      },
                      "model": {
                        "type": "Object",
                        "annotations": {
                          "typeId": "java.lang.module.ModuleDescriptor",
                          "classInformation": {
                            "classname": "java.lang.module.ModuleDescriptor",
                            "hasDefaultConstructor": false,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": false,
                            "isFinal": false,
                            "implementedInterfaces": [],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          },
                          "typeAlias": {
                            "value": "ModuleDescriptor"
                          }
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "automatic"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "typeId": "boolean"
                              }
                            },
                            "annotations": {
                              "visibility": "READ_ONLY"
                            }
                          },
                          {
                            "key": {
                              "name": "open"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "typeId": "boolean"
                              }
                            },
                            "annotations": {
                              "visibility": "READ_ONLY"
                            }
                          }
                        ]
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "layer"
                      },
                      "model": {
                        "type": "Object",
                        "annotations": {
                          "typeId": "java.lang.ModuleLayer",
                          "classInformation": {
                            "classname": "java.lang.ModuleLayer",
                            "hasDefaultConstructor": false,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": false,
                            "isFinal": true,
                            "implementedInterfaces": [],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          },
                          "typeAlias": {
                            "value": "ModuleLayer"
                          }
                        },
                        "fields": []
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "name"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "named"
                      },
                      "model": {
                        "type": "Boolean",
                        "annotations": {
                          "typeId": "boolean"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    },
                    {
                      "key": {
                        "name": "packages"
                      },
                      "model": {
                        "type": "Array",
                        "annotations": {
                          "classInformation": {
                            "classname": "java.util.Set",
                            "hasDefaultConstructor": false,
                            "isInterface": true,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": false,
                            "implementedInterfaces": [],
                            "parent": "",
                            "genericTypes": [
                              "java.lang.String"
                            ],
                            "isMap": false
                          }
                        },
                        "item": {
                          "type": "String"
                        }
                      },
                      "annotations": {
                        "visibility": "READ_ONLY"
                      }
                    }
                  ]
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "WRITE_ONLY"
          }
        },
        {
          "key": {
            "name": "artifactValidations"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.util.List",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [
                  "org.mule.runtime.ast.api.validation.ArtifactValidation"
                ],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "org.mule.runtime.ast.api.validation.ArtifactValidation",
                "classInformation": {
                  "classname": "org.mule.runtime.ast.api.validation.ArtifactValidation",
                  "hasDefaultConstructor": false,
                  "isInterface": true,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "org.mule.runtime.ast.api.validation.Validation"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "ArtifactValidation"
                }
              },
              "fields": []
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "ignoreParamsWithProperties"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "visibility": "WRITE_ONLY"
          }
        }
      ]
    }
  ]
}
