This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 2d29747f70a097b916d26382430c9f0b9cc7becb
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Tue Jun 15 21:38:51 2021 +0200

    Regen docs for huawei-iam
---
 .../org/apache/camel/catalog/components.properties |   1 +
 .../camel/catalog/components/hwcloud-iam.json      |  48 +++++++
 .../org/apache/camel/catalog/docs.properties       |   1 +
 .../camel/catalog/docs/hwcloud-iam-component.adoc  | 146 +++++++++++++++++++++
 .../org/apache/camel/main/components.properties    |   1 +
 .../camel/maven/packaging/PrepareCatalogMojo.java  |   3 +-
 6 files changed, 199 insertions(+), 1 deletion(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
index 16498aa..1604e0a 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
@@ -146,6 +146,7 @@ hdfs
 http
 https
 hwcloud-functiongraph
+hwcloud-iam
 hwcloud-smn
 iec60870-client
 iec60870-server
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/hwcloud-iam.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/hwcloud-iam.json
new file mode 100644
index 0000000..e599f7a
--- /dev/null
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/hwcloud-iam.json
@@ -0,0 +1,48 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "hwcloud-iam",
+    "title": "IAM",
+    "description": "To securely manage users on Huawei Cloud",
+    "deprecated": false,
+    "firstVersion": "3.11.0",
+    "label": "cloud",
+    "javaType": "org.apache.camel.component.huaweicloud.iam.IAMComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-huaweicloud-iam",
+    "version": "3.11.0-SNAPSHOT",
+    "scheme": "hwcloud-iam",
+    "extendsScheme": "",
+    "syntax": "hwcloud-iam:operation",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": false,
+    "lenientProperties": false
+  },
+  "componentProperties": {
+    "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 me [...]
+    "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 star [...]
+    "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 t [...]
+  },
+  "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" 
},
+    "authenticationKey": { "kind": "parameter", "displayName": "API 
authentication key (AK)", "group": "common", "label": "", "required": true, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": true, "description": 
"Authentication key for the cloud user" },
+    "endpoint": { "kind": "parameter", "displayName": "Service endpoint", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "IAM endpoint url. Carries 
higher precedence than region parameter based client initialization" },
+    "groupId": { "kind": "parameter", "displayName": "Group ID", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": true, "description": "Group ID to perform operation with" },
+    "ignoreSslVerification": { "kind": "parameter", "displayName": "SSL 
Verification Ignored", "group": "common", "label": "", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "description": "Ignore SSL verification" },
+    "proxyHost": { "kind": "parameter", "displayName": "Proxy server host", 
"group": "common", "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": "common", "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": "common", "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": 
"common", "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": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "IAM service region. This is lower 
precedence than endpoint based configuration" },
+    "secretKey": { "kind": "parameter", "displayName": "API secret key (SK)", 
"group": "common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": true, "description": "Secret key for the cloud user" },
+    "serviceKeys": { "kind": "parameter", "displayName": "Service 
Configuration", "group": "common", "label": "", "required": false, "type": 
"object", "javaType": 
"org.apache.camel.component.huaweicloud.iam.models.ServiceKeys", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": true, 
"description": "Configuration object for cloud service authentication" },
+    "userId": { "kind": "parameter", "displayName": "User ID", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": true, "description": "User ID to perform operation with" },
+    "bridgeErrorHandler": { "kind": "parameter", "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 m [...]
+    "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 
con [...]
+    "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", "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 sta [...]
+  }
+}
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
index 7419baf..ae70635 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
@@ -209,6 +209,7 @@ hl7-dataformat
 hl7terser-language
 http-component
 hwcloud-functiongraph-component
+hwcloud-iam-component
 hwcloud-smn-component
 hwcloud-summary
 hystrix
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hwcloud-iam-component.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hwcloud-iam-component.adoc
new file mode 100644
index 0000000..21024a0
--- /dev/null
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hwcloud-iam-component.adoc
@@ -0,0 +1,146 @@
+[[hwcloud-iam-component]]
+= IAM Component
+:docTitle: IAM
+:artifactId: camel-huaweicloud-iam
+:description: To securely manage users on Huawei Cloud
+:since: 3.11
+:supportLevel: Preview
+:component-header: Both producer and consumer are supported
+include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/hwcloud-iam.adoc[opts=optional]
+//Manually maintained attributes
+:group: Huawei Cloud
+
+*Since Camel {since}*
+
+*{component-header}*
+
+Huawei Cloud Identity and Access Management (IAM) component allows you to 
integrate with https://www.huaweicloud.com/intl/en-us/product/iam.html[IAM] 
provided by Huawei Cloud.
+
+Maven users will need to add the following dependency to their `pom.xml` for 
this component:
+
+[source,xml]
+----
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-huaweicloud-iam</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+----
+
+== URI Format
+
+[source,text]
+----
+hwcloud-iam:operation[?options]
+----
+
+== URI Options
+
+// component options: START
+The IAM component supports 3 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *bridgeErrorHandler* (consumer) | 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. | false | 
boolean
+| *lazyStartProducer* (producer) | 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 [...]
+| *autowiredEnabled* (advanced) | 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. | true | boolean
+|===
+// component options: END
+
+// endpoint options: START
+The IAM endpoint is configured using URI syntax:
+
+----
+hwcloud-iam:operation
+----
+
+with the following path and query parameters:
+
+=== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *operation* | *Required* Operation to be performed |  | String
+|===
+
+
+=== Query Parameters (16 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *authenticationKey* (common) | *Required* Authentication key for the cloud 
user |  | String
+| *endpoint* (common) | IAM endpoint url. Carries higher precedence than 
region parameter based client initialization |  | String
+| *groupId* (common) | Group ID to perform operation with |  | String
+| *ignoreSslVerification* (common) | Ignore SSL verification | false | boolean
+| *proxyHost* (common) | Proxy server ip/hostname |  | String
+| *proxyPassword* (common) | Proxy authentication password |  | String
+| *proxyPort* (common) | Proxy server port |  | int
+| *proxyUser* (common) | Proxy authentication user |  | String
+| *region* (common) | *Required* IAM service region. This is lower precedence 
than endpoint based configuration |  | String
+| *secretKey* (common) | *Required* Secret key for the cloud user |  | String
+| *serviceKeys* (common) | Configuration object for cloud service 
authentication |  | ServiceKeys
+| *userId* (common) | User ID to perform operation with |  | String
+| *bridgeErrorHandler* (consumer) | 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. | false | 
boolean
+| *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer 
creates an exchange. There are 3 enums and the value can be one of: InOnly, 
InOut, InOptionalOut |  | ExchangePattern
+| *lazyStartProducer* (producer) | 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 [...]
+|===
+// endpoint options: END
+
+
+== Usage
+
+=== Message properties evaluated by the IAM producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelHwCloudIamOperation` |`String` | Name of operation to invoke
+
+|`CamelHwCloudIamUserId` |`String` | User ID to invoke operation on
+
+|`CamelHwCloudIamGroupId` |`String` | Group ID to invoke operation on
+
+|=======================================================================
+
+If any of the above properties are set, they will override their corresponding 
query parameter.
+
+== List of Supported IAM Operations
+
+- listUsers
+- getUsers
+- listGroups
+- getGroupUsers
+
+== Using ServiceKey Configuration Bean
+
+Authentication key and secret keys are required to authenticate against cloud 
IAM service. You can avoid having them being exposed
+and scattered over in your endpoint uri by wrapping them inside a bean of 
class `org.apache.camel.component.huaweicloud.iam.models.ServiceKeys`.
+Add it to the registry and let Camel look it up by referring the object via 
endpoint query parameter `serviceKeys`.
+
+Check the following code snippets:
+
+[source,xml]
+----
+<bean id="myServiceKeyConfig" 
class="org.apache.camel.component.huaweicloud.iam.models.ServiceKeys">
+   <property name="authenticationKey" value="your_authentication_key" />
+   <property name="secretKey" value="your_secret_key" />
+</bean>
+----
+[source,java]
+----
+from("direct:triggerRoute")
+ .setProperty(IAMPropeties.OPERATION, constant("listUsers"))
+ .setProperty(IAMPropeties.USER_ID ,constant("your_user_id"))
+ .setProperty(IAMPropeties.GROUP_ID, constant("your_group_id))
+ .to("hwcloud-iam:listUsers?region=cn-north-4&serviceKeys=#myServiceKeyConfig")
+----
diff --git 
a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
 
b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
index 16498aa..1604e0a 100644
--- 
a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
+++ 
b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
@@ -146,6 +146,7 @@ hdfs
 http
 https
 hwcloud-functiongraph
+hwcloud-iam
 hwcloud-smn
 iec60870-client
 iec60870-server
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
index 5eae4d5..7091236 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
@@ -1208,7 +1208,8 @@ public class PrepareCatalogMojo extends AbstractMojo {
                         
dir.resolve("camel-vertx-kafka").resolve("camel-vertx-kafka-component"),
                         dir.resolve("camel-vertx-websocket"));
             case "camel-huawei":
-                return 
Arrays.asList(dir.resolve("camel-huaweicloud-functiongraph"), 
dir.resolve("camel-huaweicloud-smn"), dir.resolve("camel-huaweicloud-iam"));
+                return 
Arrays.asList(dir.resolve("camel-huaweicloud-functiongraph"), 
dir.resolve("camel-huaweicloud-smn"),
+                        dir.resolve("camel-huaweicloud-iam"));
             default:
                 return Collections.singletonList(dir);
         }

Reply via email to