{
  "component": {
    "kind": "component",
    "name": "milo-server",
    "title": "OPC UA Server",
    "description": "Make telemetry data available as an OPC UA server.",
    "deprecated": false,
    "firstVersion": "2.19.0",
    "label": "iot",
    "javaType": "org.apache.camel.component.milo.server.MiloServerComponent",
    "supportLevel": "Stable",
    "groupId": "org.apache.camel.springboot",
    "artifactId": "camel-milo-starter",
    "version": "3.20.1-SNAPSHOT",
    "scheme": "milo-server",
    "extendsScheme": "",
    "syntax": "milo-server:itemId",
    "async": false,
    "api": false,
    "consumerOnly": false,
    "producerOnly": false,
    "lenientProperties": false
  },
  "componentProperties": {
    "applicationName": { "kind": "property", "displayName": "Application Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The application name" },
    "applicationUri": { "kind": "property", "displayName": "Application Uri", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The application URI" },
    "bindAddresses": { "kind": "property", "displayName": "Bind Addresses", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Set the addresses of the local addresses the server should bind to" },
    "buildInfo": { "kind": "property", "displayName": "Build Info", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.eclipse.milo.opcua.stack.core.types.structured.BuildInfo", "deprecated": false, "autowired": false, "secret": false, "description": "Server build info" },
    "namespaceUri": { "kind": "property", "displayName": "Namespace Uri", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "urn:org:apache:camel", "description": "The URI of the namespace, defaults to urn:org:apache:camel" },
    "path": { "kind": "property", "displayName": "Path", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The path to be appended to the end of the endpoint url. (doesn't need to start with '\/')" },
    "port": { "kind": "property", "displayName": "Port", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "The TCP port the server binds to" },
    "productUri": { "kind": "property", "displayName": "Product Uri", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The product URI" },
    "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    "certificate": { "kind": "property", "displayName": "Certificate", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.cert.X509Certificate", "deprecated": false, "autowired": false, "secret": false, "description": "Server certificate" },
    "certificateManager": { "kind": "property", "displayName": "Certificate Manager", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.milo.opcua.stack.core.security.CertificateManager", "deprecated": false, "autowired": false, "secret": false, "description": "Server certificate manager" },
    "certificateValidator": { "kind": "property", "displayName": "Certificate Validator", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.milo.opcua.stack.server.security.ServerCertificateValidator", "deprecated": false, "autowired": false, "secret": false, "description": "Validator for client certificates" },
    "defaultCertificateValidator": { "kind": "property", "displayName": "Default Certificate Validator", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Validator for client certificates using default file based approach" },
    "enableAnonymousAuthentication": { "kind": "property", "displayName": "Enable Anonymous Authentication", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enable anonymous authentication, disabled by default" },
    "securityPolicies": { "kind": "property", "displayName": "Security Policies", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.util.Set<org.eclipse.milo.opcua.stack.core.security.SecurityPolicy>", "deprecated": false, "autowired": false, "secret": false, "description": "Security policies" },
    "securityPoliciesById": { "kind": "property", "displayName": "Security Policies By Id", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Security policies by URI or name. Multiple policies can be separated by comma." },
    "userAuthenticationCredentials": { "kind": "property", "displayName": "User Authentication Credentials", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Set user password combinations in the form of user1:pwd1,user2:pwd2 Usernames and passwords will be URL decoded" },
    "usernameSecurityPolicyUri": { "kind": "property", "displayName": "Username Security Policy Uri", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.milo.opcua.stack.core.security.SecurityPolicy", "enum": [ "None", "Basic128Rsa15", "Basic256", "Basic256Sha256", "Aes128_Sha256_RsaOaep", "Aes256_Sha256_RsaPss" ], "deprecated": false, "autowired": false, "secret": false, "description": "Set the UserTokenPolicy used when" }
  },
  "properties": {
    "itemId": { "kind": "path", "displayName": "Item Id", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "ID of the item" },
    "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
    "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
    "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", "InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." }
  }
}
