{
  "component": {
    "kind": "component",
    "name": "hwcloud-dms",
    "title": "Huawei Distributed Message Service (DMS)",
    "description": "To integrate with a fully managed, high-performance message queuing service on Huawei Cloud",
    "deprecated": false,
    "firstVersion": "3.12.0",
    "label": "cloud",
    "javaType": "org.apache.camel.component.huaweicloud.dms.DMSComponent",
    "supportLevel": "Stable",
    "groupId": "org.apache.camel.springboot",
    "artifactId": "camel-huaweicloud-dms-starter",
    "version": "3.20.1-SNAPSHOT",
    "scheme": "hwcloud-dms",
    "extendsScheme": "",
    "syntax": "hwcloud-dms:operation",
    "async": false,
    "api": false,
    "consumerOnly": false,
    "producerOnly": true,
    "lenientProperties": false
  },
  "componentProperties": {
    "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." }
  },
  "properties": {
    "operation": { "kind": "path", "displayName": "Operation", "group": "producer", "label": "producer", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Operation to be performed" },
    "accessKey": { "kind": "parameter", "displayName": "API access key (AK)", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "description": "Access key for the cloud user" },
    "accessUser": { "kind": "parameter", "displayName": "Access user", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The username of a RabbitMQ instance. This option is mandatory when creating a RabbitMQ instance." },
    "availableZones": { "kind": "parameter", "displayName": "Available zones", "group": "producer", "label": "", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The ID of an available zone. This option is mandatory when creating an instance and it cannot be an empty array." },
    "endpoint": { "kind": "parameter", "displayName": "Service endpoint", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "DMS url. Carries higher precedence than region parameter based client initialization" },
    "engine": { "kind": "parameter", "displayName": "Engine type", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "kafka", "rabbitmq" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The message engine. Either kafka or rabbitmq. If the parameter is not specified, all instances will be queried" },
    "engineVersion": { "kind": "parameter", "displayName": "Engine version", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The version of the message engine. This option is mandatory when creating an instance." },
    "ignoreSslVerification": { "kind": "parameter", "displayName": "SSL Verification Ignored", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "description": "Ignore SSL verification" },
    "instanceId": { "kind": "parameter", "displayName": "Instance id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the instance. This option is mandatory when deleting or querying an instance" },
    "kafkaManagerPassword": { "kind": "parameter", "displayName": "Kafka manager password", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The password for logging in to the Kafka Manager. This option is mandatory when creating a Kafka instance." },
    "kafkaManagerUser": { "kind": "parameter", "displayName": "Kafka manager username", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The username for logging in to the Kafka Manager. This option is mandatory when creating a Kafka instance." },
    "name": { "kind": "parameter", "displayName": "Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of the instance for creating and updating an instance. This option is mandatory when creating an instance" },
    "partitionNum": { "kind": "parameter", "displayName": "Partition Number", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The maximum number of partitions in a Kafka instance. This option is mandatory when creating a Kafka instance." },
    "password": { "kind": "parameter", "displayName": "Password", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The password of a RabbitMQ instance. This option is mandatory when creating a RabbitMQ instance." },
    "productId": { "kind": "parameter", "displayName": "Product ID", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The product ID. This option is mandatory when creating an instance." },
    "projectId": { "kind": "parameter", "displayName": "Project ID", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Cloud project ID" },
    "proxyHost": { "kind": "parameter", "displayName": "Proxy server host", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Proxy server ip\/hostname" },
    "proxyPassword": { "kind": "parameter", "displayName": "Proxy password", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "description": "Proxy authentication password" },
    "proxyPort": { "kind": "parameter", "displayName": "Proxy server port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Proxy server port" },
    "proxyUser": { "kind": "parameter", "displayName": "Proxy user", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "description": "Proxy authentication user" },
    "region": { "kind": "parameter", "displayName": "Service region", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "DMS service region" },
    "secretKey": { "kind": "parameter", "displayName": "API secret key (SK)", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "description": "Secret key for the cloud user" },
    "securityGroupId": { "kind": "parameter", "displayName": "Security group ID", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The security group which the instance belongs to. This option is mandatory when creating an instance." },
    "serviceKeys": { "kind": "parameter", "displayName": "Service Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.huaweicloud.common.models.ServiceKeys", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "description": "Configuration object for cloud service authentication" },
    "specification": { "kind": "parameter", "displayName": "Engine version", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The baseline bandwidth of a Kafka instance. This option is mandatory when creating a Kafka instance." },
    "storageSpace": { "kind": "parameter", "displayName": "Storage space", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The message storage space. This option is mandatory when creating an instance." },
    "storageSpecCode": { "kind": "parameter", "displayName": "Storage specification code", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The storage I\/O specification. This option is mandatory when creating an instance." },
    "subnetId": { "kind": "parameter", "displayName": "Subnet ID", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The subnet ID. This option is mandatory when creating an instance." },
    "vpcId": { "kind": "parameter", "displayName": "VPC ID", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The VPC ID. This option is mandatory when creating an instance." },
    "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." }
  }
}
