This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
The following commit(s) were added to refs/heads/master by this push:
new d79da92 CAMEL-16171 - Add uri-endpoint-override options to all AWS2
components - AWS2-IAM component
d79da92 is described below
commit d79da9249d2746446996c9a14b846aa7ea0da245
Author: Andrea Cosentino <[email protected]>
AuthorDate: Mon Mar 1 15:06:14 2021 +0100
CAMEL-16171 - Add uri-endpoint-override options to all AWS2 components -
AWS2-IAM component
---
.../springboot/catalog/components/aws2-iam.json | 4 ++++
.../src/main/docs/aws2-iam-starter.adoc | 4 +++-
.../iam/springboot/IAM2ComponentConfiguration.java | 26 ++++++++++++++++++++++
docs/modules/ROOT/pages/aws2-iam-starter.adoc | 4 +++-
4 files changed, 36 insertions(+), 2 deletions(-)
diff --git
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-iam.json
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-iam.json
index 0bfe668..c749c24 100644
---
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-iam.json
+++
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-iam.json
@@ -26,12 +26,14 @@
"iamClient": { "kind": "property", "displayName": "Iam Client", "group":
"producer", "label": "", "required": false, "type": "object", "javaType":
"software.amazon.awssdk.services.iam.IamClient", "deprecated": false,
"deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.aws2.iam.IAM2Configuration",
"configurationField": "configuration", "description": "To use a existing
configured AWS IAM as client" },
"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 [...]
"operation": { "kind": "property", "displayName": "Operation", "group":
"producer", "label": "", "required": false, "type": "object", "javaType":
"org.apache.camel.component.aws2.iam.IAM2Operations", "enum": [
"listAccessKeys", "createUser", "deleteUser", "getUser", "listUsers",
"createAccessKey", "deleteAccessKey", "updateAccessKey", "createGroup",
"deleteGroup", "listGroups", "addUserToGroup", "removeUserFromGroup" ],
"deprecated": false, "autowired": false, "secret": false, "confi [...]
+ "overrideEndpoint": { "kind": "property", "displayName": "Override
Endpoint", "group": "producer", "label": "", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "Set the need for overidding the endpoint. This
option needs to be used in combination with uriEndpoi [...]
"pojoRequest": { "kind": "property", "displayName": "Pojo Request",
"group": "producer", "label": "", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "If we want to use a POJO request as body or
not" },
"proxyHost": { "kind": "property", "displayName": "Proxy Host", "group":
"producer", "label": "", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.aws2.iam.IAM2Configuration",
"configurationField": "configuration", "description": "To define a proxy host
when instantiating the IAM client" },
"proxyPort": { "kind": "property", "displayName": "Proxy Port", "group":
"producer", "label": "", "required": false, "type": "integer", "javaType":
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.aws2.iam.IAM2Configuration",
"configurationField": "configuration", "description": "To define a proxy port
when instantiating the IAM client" },
"proxyProtocol": { "kind": "property", "displayName": "Proxy Protocol",
"group": "producer", "label": "", "required": false, "type": "object",
"javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS"
], "deprecated": false, "autowired": false, "secret": false, "defaultValue":
"HTTPS", "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "To define a proxy protocol when instantiating
t [...]
"region": { "kind": "property", "displayName": "Region", "group":
"producer", "label": "", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": "aws-global", "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "The region in which IAM client needs to work.
When using this parameter, the configuration will expect the [...]
"trustAllCertificates": { "kind": "property", "displayName": "Trust All
Certificates", "group": "producer", "label": "", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "If we want to trust all certificates in case
of overriding the endpoint" },
+ "uriEndpointOverride": { "kind": "property", "displayName": "Uri Endpoint
Override", "group": "producer", "label": "", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "Set the overriding uri endpoint. This option
needs to be used in combination with overrideEndpoint option" },
"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 [...]
"accessKey": { "kind": "property", "displayName": "Access Key", "group":
"security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": true, "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "Amazon AWS Access Key" },
"secretKey": { "kind": "property", "displayName": "Secret Key", "group":
"security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": true, "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "Amazon AWS Secret Key" }
@@ -41,12 +43,14 @@
"iamClient": { "kind": "parameter", "displayName": "Iam Client", "group":
"producer", "label": "", "required": false, "type": "object", "javaType":
"software.amazon.awssdk.services.iam.IamClient", "deprecated": false,
"deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.aws2.iam.IAM2Configuration",
"configurationField": "configuration", "description": "To use a existing
configured AWS IAM as client" },
"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 [...]
"operation": { "kind": "parameter", "displayName": "Operation", "group":
"producer", "label": "", "required": false, "type": "object", "javaType":
"org.apache.camel.component.aws2.iam.IAM2Operations", "enum": [
"listAccessKeys", "createUser", "deleteUser", "getUser", "listUsers",
"createAccessKey", "deleteAccessKey", "updateAccessKey", "createGroup",
"deleteGroup", "listGroups", "addUserToGroup", "removeUserFromGroup" ],
"deprecated": false, "autowired": false, "secret": false, "conf [...]
+ "overrideEndpoint": { "kind": "parameter", "displayName": "Override
Endpoint", "group": "producer", "label": "", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "Set the need for overidding the endpoint. This
option needs to be used in combination with uriEndpo [...]
"pojoRequest": { "kind": "parameter", "displayName": "Pojo Request",
"group": "producer", "label": "", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "If we want to use a POJO request as body or
not" },
"proxyHost": { "kind": "parameter", "displayName": "Proxy Host", "group":
"producer", "label": "", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.aws2.iam.IAM2Configuration",
"configurationField": "configuration", "description": "To define a proxy host
when instantiating the IAM client" },
"proxyPort": { "kind": "parameter", "displayName": "Proxy Port", "group":
"producer", "label": "", "required": false, "type": "integer", "javaType":
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.aws2.iam.IAM2Configuration",
"configurationField": "configuration", "description": "To define a proxy port
when instantiating the IAM client" },
"proxyProtocol": { "kind": "parameter", "displayName": "Proxy Protocol",
"group": "producer", "label": "", "required": false, "type": "object",
"javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS"
], "deprecated": false, "autowired": false, "secret": false, "defaultValue":
"HTTPS", "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "To define a proxy protocol when instantiating
[...]
"region": { "kind": "parameter", "displayName": "Region", "group":
"producer", "label": "", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": "aws-global", "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "The region in which IAM client needs to work.
When using this parameter, the configuration will expect th [...]
"trustAllCertificates": { "kind": "parameter", "displayName": "Trust All
Certificates", "group": "producer", "label": "", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "If we want to trust all certificates in case
of overriding the endpoint" },
+ "uriEndpointOverride": { "kind": "parameter", "displayName": "Uri Endpoint
Override", "group": "producer", "label": "", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "Set the overriding uri endpoint. This option
needs to be used in combination with overrideEndpoint option" },
"accessKey": { "kind": "parameter", "displayName": "Access Key", "group":
"security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": true, "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "Amazon AWS Access Key" },
"secretKey": { "kind": "parameter", "displayName": "Secret Key", "group":
"security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": true, "configurationClass":
"org.apache.camel.component.aws2.iam.IAM2Configuration", "configurationField":
"configuration", "description": "Amazon AWS Secret Key" }
}
diff --git
a/components-starter/camel-aws2-iam-starter/src/main/docs/aws2-iam-starter.adoc
b/components-starter/camel-aws2-iam-starter/src/main/docs/aws2-iam-starter.adoc
index 5d7d02e..8b17a86 100644
---
a/components-starter/camel-aws2-iam-starter/src/main/docs/aws2-iam-starter.adoc
+++
b/components-starter/camel-aws2-iam-starter/src/main/docs/aws2-iam-starter.adoc
@@ -17,7 +17,7 @@ When using aws2-iam with Spring Boot make sure to use the
following Maven depend
----
-The component supports 14 options, which are listed below.
+The component supports 16 options, which are listed below.
@@ -31,6 +31,7 @@ The component supports 14 options, which are listed below.
| *camel.component.aws2-iam.iam-client* | To use a existing configured AWS IAM
as client. The option is a software.amazon.awssdk.services.iam.IamClient type.
| | IamClient
| *camel.component.aws2-iam.lazy-start-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 t [...]
| *camel.component.aws2-iam.operation* | The operation to perform. You can
configure a default operation on the component level, or the operation as part
of the endpoint, or via a message header with the key CamelAwsIAMOperation. |
| IAM2Operations
+| *camel.component.aws2-iam.override-endpoint* | Set the need for overidding
the endpoint. This option needs to be used in combination with
uriEndpointOverride option | false | Boolean
| *camel.component.aws2-iam.pojo-request* | If we want to use a POJO request
as body or not | false | Boolean
| *camel.component.aws2-iam.proxy-host* | To define a proxy host when
instantiating the IAM client | | String
| *camel.component.aws2-iam.proxy-port* | To define a proxy port when
instantiating the IAM client | | Integer
@@ -38,5 +39,6 @@ The component supports 14 options, which are listed below.
| *camel.component.aws2-iam.region* | The region in which IAM client needs to
work. When using this parameter, the configuration will expect the lowercase
name of the region (for example ap-east-1) You'll need to use the name
Region.EU_WEST_1.id() | aws-global | String
| *camel.component.aws2-iam.secret-key* | Amazon AWS Secret Key | | String
| *camel.component.aws2-iam.trust-all-certificates* | If we want to trust all
certificates in case of overriding the endpoint | false | Boolean
+| *camel.component.aws2-iam.uri-endpoint-override* | Set the overriding uri
endpoint. This option needs to be used in combination with overrideEndpoint
option | | String
|===
// spring-boot-auto-configure options: END
diff --git
a/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentConfiguration.java
b/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentConfiguration.java
index dff2a50..5e15c0d 100644
---
a/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentConfiguration.java
+++
b/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentConfiguration.java
@@ -69,6 +69,11 @@ public class IAM2ComponentConfiguration
*/
private IAM2Operations operation;
/**
+ * Set the need for overidding the endpoint. This option needs to be used
in
+ * combination with uriEndpointOverride option
+ */
+ private Boolean overrideEndpoint = false;
+ /**
* If we want to use a POJO request as body or not
*/
private Boolean pojoRequest = false;
@@ -95,6 +100,11 @@ public class IAM2ComponentConfiguration
*/
private Boolean trustAllCertificates = false;
/**
+ * Set the overriding uri endpoint. This option needs to be used in
+ * combination with overrideEndpoint option
+ */
+ private String uriEndpointOverride;
+ /**
* 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
@@ -144,6 +154,14 @@ public class IAM2ComponentConfiguration
this.operation = operation;
}
+ public Boolean getOverrideEndpoint() {
+ return overrideEndpoint;
+ }
+
+ public void setOverrideEndpoint(Boolean overrideEndpoint) {
+ this.overrideEndpoint = overrideEndpoint;
+ }
+
public Boolean getPojoRequest() {
return pojoRequest;
}
@@ -192,6 +210,14 @@ public class IAM2ComponentConfiguration
this.trustAllCertificates = trustAllCertificates;
}
+ public String getUriEndpointOverride() {
+ return uriEndpointOverride;
+ }
+
+ public void setUriEndpointOverride(String uriEndpointOverride) {
+ this.uriEndpointOverride = uriEndpointOverride;
+ }
+
public Boolean getAutowiredEnabled() {
return autowiredEnabled;
}
diff --git a/docs/modules/ROOT/pages/aws2-iam-starter.adoc
b/docs/modules/ROOT/pages/aws2-iam-starter.adoc
index 5d7d02e..8b17a86 100644
--- a/docs/modules/ROOT/pages/aws2-iam-starter.adoc
+++ b/docs/modules/ROOT/pages/aws2-iam-starter.adoc
@@ -17,7 +17,7 @@ When using aws2-iam with Spring Boot make sure to use the
following Maven depend
----
-The component supports 14 options, which are listed below.
+The component supports 16 options, which are listed below.
@@ -31,6 +31,7 @@ The component supports 14 options, which are listed below.
| *camel.component.aws2-iam.iam-client* | To use a existing configured AWS IAM
as client. The option is a software.amazon.awssdk.services.iam.IamClient type.
| | IamClient
| *camel.component.aws2-iam.lazy-start-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 t [...]
| *camel.component.aws2-iam.operation* | The operation to perform. You can
configure a default operation on the component level, or the operation as part
of the endpoint, or via a message header with the key CamelAwsIAMOperation. |
| IAM2Operations
+| *camel.component.aws2-iam.override-endpoint* | Set the need for overidding
the endpoint. This option needs to be used in combination with
uriEndpointOverride option | false | Boolean
| *camel.component.aws2-iam.pojo-request* | If we want to use a POJO request
as body or not | false | Boolean
| *camel.component.aws2-iam.proxy-host* | To define a proxy host when
instantiating the IAM client | | String
| *camel.component.aws2-iam.proxy-port* | To define a proxy port when
instantiating the IAM client | | Integer
@@ -38,5 +39,6 @@ The component supports 14 options, which are listed below.
| *camel.component.aws2-iam.region* | The region in which IAM client needs to
work. When using this parameter, the configuration will expect the lowercase
name of the region (for example ap-east-1) You'll need to use the name
Region.EU_WEST_1.id() | aws-global | String
| *camel.component.aws2-iam.secret-key* | Amazon AWS Secret Key | | String
| *camel.component.aws2-iam.trust-all-certificates* | If we want to trust all
certificates in case of overriding the endpoint | false | Boolean
+| *camel.component.aws2-iam.uri-endpoint-override* | Set the overriding uri
endpoint. This option needs to be used in combination with overrideEndpoint
option | | String
|===
// spring-boot-auto-configure options: END