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.git
commit 052ed2ee1f8e2fd9caef7d0f80553e851a94529c Author: Andrea Cosentino <[email protected]> AuthorDate: Mon Mar 1 09:02:34 2021 +0100 CAMEL-16171 - Add uri-endpoint-override options to all AWS2 components - AWS2-EKS component --- .../camel/catalog/docs/aws2-eks-component.adoc | 8 +++- .../aws2/eks/EKS2ComponentConfigurer.java | 12 ++++++ .../component/aws2/eks/EKS2EndpointConfigurer.java | 12 ++++++ .../component/aws2/eks/EKS2EndpointUriFactory.java | 16 +++---- .../apache/camel/component/aws2/eks/aws2-eks.json | 4 ++ .../src/main/docs/aws2-eks-component.adoc | 8 +++- .../dsl/Aws2EksComponentBuilderFactory.java | 35 ++++++++++++++++ .../endpoint/dsl/EKS2EndpointBuilderFactory.java | 49 ++++++++++++++++++++++ .../modules/ROOT/pages/aws2-eks-component.adoc | 8 +++- 9 files changed, 139 insertions(+), 13 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-eks-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-eks-component.adoc index 44867a2..1df6d2b 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-eks-component.adoc +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-eks-component.adoc @@ -42,7 +42,7 @@ You can append query options to the URI in the following format, // component options: START -The AWS 2 Elastic Kubernetes Service (EKS) component supports 13 options, which are listed below. +The AWS 2 Elastic Kubernetes Service (EKS) component supports 15 options, which are listed below. @@ -53,12 +53,14 @@ The AWS 2 Elastic Kubernetes Service (EKS) component supports 13 options, which | *eksClient* (producer) | *Autowired* To use a existing configured AWS EKS as client | | EksClient | *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 [...] | *operation* (producer) | *Required* The operation to perform. There are 4 enums and the value can be one of: listClusters, describeCluster, createCluster, deleteCluster | | EKS2Operations +| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean | *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean | *proxyHost* (producer) | To define a proxy host when instantiating the EKS client | | String | *proxyPort* (producer) | To define a proxy port when instantiating the EKS client | | Integer | *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EKS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol | *region* (producer) | The region in which EKS 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() | | String | *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean +| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | | String | *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 | *accessKey* (security) | Amazon AWS Access Key | | String | *secretKey* (security) | Amazon AWS Secret Key | | String @@ -87,7 +89,7 @@ with the following path and query parameters: |=== -=== Query Parameters (11 parameters): +=== Query Parameters (13 parameters): [width="100%",cols="2,5,^1,2",options="header"] @@ -96,12 +98,14 @@ with the following path and query parameters: | *eksClient* (producer) | *Autowired* To use a existing configured AWS EKS as client | | EksClient | *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 [...] | *operation* (producer) | *Required* The operation to perform. There are 4 enums and the value can be one of: listClusters, describeCluster, createCluster, deleteCluster | | EKS2Operations +| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean | *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean | *proxyHost* (producer) | To define a proxy host when instantiating the EKS client | | String | *proxyPort* (producer) | To define a proxy port when instantiating the EKS client | | Integer | *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EKS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol | *region* (producer) | The region in which EKS 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() | | String | *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean +| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | | String | *accessKey* (security) | Amazon AWS Access Key | | String | *secretKey* (security) | Amazon AWS Secret Key | | String |=== diff --git a/components/camel-aws2-eks/src/generated/java/org/apache/camel/component/aws2/eks/EKS2ComponentConfigurer.java b/components/camel-aws2-eks/src/generated/java/org/apache/camel/component/aws2/eks/EKS2ComponentConfigurer.java index 39489e0..f649819 100644 --- a/components/camel-aws2-eks/src/generated/java/org/apache/camel/component/aws2/eks/EKS2ComponentConfigurer.java +++ b/components/camel-aws2-eks/src/generated/java/org/apache/camel/component/aws2/eks/EKS2ComponentConfigurer.java @@ -38,6 +38,8 @@ public class EKS2ComponentConfigurer extends PropertyConfigurerSupport implement case "lazystartproducer": case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true; case "operation": getOrCreateConfiguration(target).setOperation(property(camelContext, org.apache.camel.component.aws2.eks.EKS2Operations.class, value)); return true; + case "overrideendpoint": + case "overrideEndpoint": getOrCreateConfiguration(target).setOverrideEndpoint(property(camelContext, boolean.class, value)); return true; case "pojorequest": case "pojoRequest": getOrCreateConfiguration(target).setPojoRequest(property(camelContext, boolean.class, value)); return true; case "proxyhost": @@ -51,6 +53,8 @@ public class EKS2ComponentConfigurer extends PropertyConfigurerSupport implement case "secretKey": getOrCreateConfiguration(target).setSecretKey(property(camelContext, java.lang.String.class, value)); return true; case "trustallcertificates": case "trustAllCertificates": getOrCreateConfiguration(target).setTrustAllCertificates(property(camelContext, boolean.class, value)); return true; + case "uriendpointoverride": + case "uriEndpointOverride": getOrCreateConfiguration(target).setUriEndpointOverride(property(camelContext, java.lang.String.class, value)); return true; default: return false; } } @@ -73,6 +77,8 @@ public class EKS2ComponentConfigurer extends PropertyConfigurerSupport implement case "lazystartproducer": case "lazyStartProducer": return boolean.class; case "operation": return org.apache.camel.component.aws2.eks.EKS2Operations.class; + case "overrideendpoint": + case "overrideEndpoint": return boolean.class; case "pojorequest": case "pojoRequest": return boolean.class; case "proxyhost": @@ -86,6 +92,8 @@ public class EKS2ComponentConfigurer extends PropertyConfigurerSupport implement case "secretKey": return java.lang.String.class; case "trustallcertificates": case "trustAllCertificates": return boolean.class; + case "uriendpointoverride": + case "uriEndpointOverride": return java.lang.String.class; default: return null; } } @@ -104,6 +112,8 @@ public class EKS2ComponentConfigurer extends PropertyConfigurerSupport implement case "lazystartproducer": case "lazyStartProducer": return target.isLazyStartProducer(); case "operation": return getOrCreateConfiguration(target).getOperation(); + case "overrideendpoint": + case "overrideEndpoint": return getOrCreateConfiguration(target).isOverrideEndpoint(); case "pojorequest": case "pojoRequest": return getOrCreateConfiguration(target).isPojoRequest(); case "proxyhost": @@ -117,6 +127,8 @@ public class EKS2ComponentConfigurer extends PropertyConfigurerSupport implement case "secretKey": return getOrCreateConfiguration(target).getSecretKey(); case "trustallcertificates": case "trustAllCertificates": return getOrCreateConfiguration(target).isTrustAllCertificates(); + case "uriendpointoverride": + case "uriEndpointOverride": return getOrCreateConfiguration(target).getUriEndpointOverride(); default: return null; } } diff --git a/components/camel-aws2-eks/src/generated/java/org/apache/camel/component/aws2/eks/EKS2EndpointConfigurer.java b/components/camel-aws2-eks/src/generated/java/org/apache/camel/component/aws2/eks/EKS2EndpointConfigurer.java index 456fe77..84059b1 100644 --- a/components/camel-aws2-eks/src/generated/java/org/apache/camel/component/aws2/eks/EKS2EndpointConfigurer.java +++ b/components/camel-aws2-eks/src/generated/java/org/apache/camel/component/aws2/eks/EKS2EndpointConfigurer.java @@ -28,6 +28,8 @@ public class EKS2EndpointConfigurer extends PropertyConfigurerSupport implements case "lazystartproducer": case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true; case "operation": target.getConfiguration().setOperation(property(camelContext, org.apache.camel.component.aws2.eks.EKS2Operations.class, value)); return true; + case "overrideendpoint": + case "overrideEndpoint": target.getConfiguration().setOverrideEndpoint(property(camelContext, boolean.class, value)); return true; case "pojorequest": case "pojoRequest": target.getConfiguration().setPojoRequest(property(camelContext, boolean.class, value)); return true; case "proxyhost": @@ -41,6 +43,8 @@ public class EKS2EndpointConfigurer extends PropertyConfigurerSupport implements case "secretKey": target.getConfiguration().setSecretKey(property(camelContext, java.lang.String.class, value)); return true; case "trustallcertificates": case "trustAllCertificates": target.getConfiguration().setTrustAllCertificates(property(camelContext, boolean.class, value)); return true; + case "uriendpointoverride": + case "uriEndpointOverride": target.getConfiguration().setUriEndpointOverride(property(camelContext, java.lang.String.class, value)); return true; default: return false; } } @@ -60,6 +64,8 @@ public class EKS2EndpointConfigurer extends PropertyConfigurerSupport implements case "lazystartproducer": case "lazyStartProducer": return boolean.class; case "operation": return org.apache.camel.component.aws2.eks.EKS2Operations.class; + case "overrideendpoint": + case "overrideEndpoint": return boolean.class; case "pojorequest": case "pojoRequest": return boolean.class; case "proxyhost": @@ -73,6 +79,8 @@ public class EKS2EndpointConfigurer extends PropertyConfigurerSupport implements case "secretKey": return java.lang.String.class; case "trustallcertificates": case "trustAllCertificates": return boolean.class; + case "uriendpointoverride": + case "uriEndpointOverride": return java.lang.String.class; default: return null; } } @@ -88,6 +96,8 @@ public class EKS2EndpointConfigurer extends PropertyConfigurerSupport implements case "lazystartproducer": case "lazyStartProducer": return target.isLazyStartProducer(); case "operation": return target.getConfiguration().getOperation(); + case "overrideendpoint": + case "overrideEndpoint": return target.getConfiguration().isOverrideEndpoint(); case "pojorequest": case "pojoRequest": return target.getConfiguration().isPojoRequest(); case "proxyhost": @@ -101,6 +111,8 @@ public class EKS2EndpointConfigurer extends PropertyConfigurerSupport implements case "secretKey": return target.getConfiguration().getSecretKey(); case "trustallcertificates": case "trustAllCertificates": return target.getConfiguration().isTrustAllCertificates(); + case "uriendpointoverride": + case "uriEndpointOverride": return target.getConfiguration().getUriEndpointOverride(); default: return null; } } diff --git a/components/camel-aws2-eks/src/generated/java/org/apache/camel/component/aws2/eks/EKS2EndpointUriFactory.java b/components/camel-aws2-eks/src/generated/java/org/apache/camel/component/aws2/eks/EKS2EndpointUriFactory.java index 63f22e4..fb3b3cd 100644 --- a/components/camel-aws2-eks/src/generated/java/org/apache/camel/component/aws2/eks/EKS2EndpointUriFactory.java +++ b/components/camel-aws2-eks/src/generated/java/org/apache/camel/component/aws2/eks/EKS2EndpointUriFactory.java @@ -20,19 +20,21 @@ public class EKS2EndpointUriFactory extends org.apache.camel.support.component.E private static final Set<String> PROPERTY_NAMES; private static final Set<String> SECRET_PROPERTY_NAMES; static { - Set<String> props = new HashSet<>(12); - props.add("proxyPort"); - props.add("lazyStartProducer"); + Set<String> props = new HashSet<>(14); props.add("proxyProtocol"); props.add("secretKey"); - props.add("accessKey"); - props.add("eksClient"); + props.add("uriEndpointOverride"); props.add("label"); - props.add("region"); - props.add("operation"); props.add("pojoRequest"); props.add("proxyHost"); props.add("trustAllCertificates"); + props.add("proxyPort"); + props.add("lazyStartProducer"); + props.add("accessKey"); + props.add("overrideEndpoint"); + props.add("eksClient"); + props.add("region"); + props.add("operation"); PROPERTY_NAMES = Collections.unmodifiableSet(props); Set<String> secretProps = new HashSet<>(2); secretProps.add("secretKey"); diff --git a/components/camel-aws2-eks/src/generated/resources/org/apache/camel/component/aws2/eks/aws2-eks.json b/components/camel-aws2-eks/src/generated/resources/org/apache/camel/component/aws2/eks/aws2-eks.json index 51e37d9..03ebfdf 100644 --- a/components/camel-aws2-eks/src/generated/resources/org/apache/camel/component/aws2/eks/aws2-eks.json +++ b/components/camel-aws2-eks/src/generated/resources/org/apache/camel/component/aws2/eks/aws2-eks.json @@ -26,12 +26,14 @@ "eksClient": { "kind": "property", "displayName": "Eks Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.eks.EksClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "description": "To use a existing configured AWS EKS 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": true, "type": "object", "javaType": "org.apache.camel.component.aws2.eks.EKS2Operations", "enum": [ "listClusters", "describeCluster", "createCluster", "deleteCluster" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "descript [...] + "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.eks.EKS2Configuration", "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.eks.EKS2Configuration", "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.eks.EKS2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the EKS 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.eks.EKS2Configuration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the EKS 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.eks.EKS2Configuration", "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, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "description": "The region in which EKS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region [...] "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.eks.EKS2Configuration", "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.eks.EKS2Configuration", "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.eks.EKS2Configuration", "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.eks.EKS2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" } @@ -41,12 +43,14 @@ "eksClient": { "kind": "parameter", "displayName": "Eks Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.eks.EksClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "description": "To use a existing configured AWS EKS 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": true, "type": "object", "javaType": "org.apache.camel.component.aws2.eks.EKS2Operations", "enum": [ "listClusters", "describeCluster", "createCluster", "deleteCluster" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "descrip [...] + "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.eks.EKS2Configuration", "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.eks.EKS2Configuration", "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.eks.EKS2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the EKS 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.eks.EKS2Configuration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the EKS 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.eks.EKS2Configuration", "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, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "description": "The region in which EKS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region [...] "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.eks.EKS2Configuration", "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.eks.EKS2Configuration", "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.eks.EKS2Configuration", "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.eks.EKS2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" } } diff --git a/components/camel-aws2-eks/src/main/docs/aws2-eks-component.adoc b/components/camel-aws2-eks/src/main/docs/aws2-eks-component.adoc index 44867a2..1df6d2b 100644 --- a/components/camel-aws2-eks/src/main/docs/aws2-eks-component.adoc +++ b/components/camel-aws2-eks/src/main/docs/aws2-eks-component.adoc @@ -42,7 +42,7 @@ You can append query options to the URI in the following format, // component options: START -The AWS 2 Elastic Kubernetes Service (EKS) component supports 13 options, which are listed below. +The AWS 2 Elastic Kubernetes Service (EKS) component supports 15 options, which are listed below. @@ -53,12 +53,14 @@ The AWS 2 Elastic Kubernetes Service (EKS) component supports 13 options, which | *eksClient* (producer) | *Autowired* To use a existing configured AWS EKS as client | | EksClient | *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 [...] | *operation* (producer) | *Required* The operation to perform. There are 4 enums and the value can be one of: listClusters, describeCluster, createCluster, deleteCluster | | EKS2Operations +| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean | *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean | *proxyHost* (producer) | To define a proxy host when instantiating the EKS client | | String | *proxyPort* (producer) | To define a proxy port when instantiating the EKS client | | Integer | *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EKS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol | *region* (producer) | The region in which EKS 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() | | String | *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean +| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | | String | *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 | *accessKey* (security) | Amazon AWS Access Key | | String | *secretKey* (security) | Amazon AWS Secret Key | | String @@ -87,7 +89,7 @@ with the following path and query parameters: |=== -=== Query Parameters (11 parameters): +=== Query Parameters (13 parameters): [width="100%",cols="2,5,^1,2",options="header"] @@ -96,12 +98,14 @@ with the following path and query parameters: | *eksClient* (producer) | *Autowired* To use a existing configured AWS EKS as client | | EksClient | *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 [...] | *operation* (producer) | *Required* The operation to perform. There are 4 enums and the value can be one of: listClusters, describeCluster, createCluster, deleteCluster | | EKS2Operations +| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean | *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean | *proxyHost* (producer) | To define a proxy host when instantiating the EKS client | | String | *proxyPort* (producer) | To define a proxy port when instantiating the EKS client | | Integer | *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EKS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol | *region* (producer) | The region in which EKS 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() | | String | *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean +| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | | String | *accessKey* (security) | Amazon AWS Access Key | | String | *secretKey* (security) | Amazon AWS Secret Key | | String |=== diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2EksComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2EksComponentBuilderFactory.java index 9dd7919..af40ae5 100644 --- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2EksComponentBuilderFactory.java +++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2EksComponentBuilderFactory.java @@ -121,6 +121,23 @@ public interface Aws2EksComponentBuilderFactory { return this; } /** + * Set the need for overidding the endpoint. This option needs to be + * used in combination with uriEndpointOverride option. + * + * The option is a: <code>boolean</code> type. + * + * Default: false + * Group: producer + * + * @param overrideEndpoint the value to set + * @return the dsl builder + */ + default Aws2EksComponentBuilder overrideEndpoint( + boolean overrideEndpoint) { + doSetProperty("overrideEndpoint", overrideEndpoint); + return this; + } + /** * If we want to use a POJO request as body or not. * * The option is a: <code>boolean</code> type. @@ -215,6 +232,22 @@ public interface Aws2EksComponentBuilderFactory { return this; } /** + * Set the overriding uri endpoint. This option needs to be used in + * combination with overrideEndpoint option. + * + * The option is a: <code>java.lang.String</code> type. + * + * Group: producer + * + * @param uriEndpointOverride the value to set + * @return the dsl builder + */ + default Aws2EksComponentBuilder uriEndpointOverride( + java.lang.String uriEndpointOverride) { + doSetProperty("uriEndpointOverride", uriEndpointOverride); + return this; + } + /** * 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, @@ -291,12 +324,14 @@ public interface Aws2EksComponentBuilderFactory { case "eksClient": getOrCreateConfiguration((EKS2Component) component).setEksClient((software.amazon.awssdk.services.eks.EksClient) value); return true; case "lazyStartProducer": ((EKS2Component) component).setLazyStartProducer((boolean) value); return true; case "operation": getOrCreateConfiguration((EKS2Component) component).setOperation((org.apache.camel.component.aws2.eks.EKS2Operations) value); return true; + case "overrideEndpoint": getOrCreateConfiguration((EKS2Component) component).setOverrideEndpoint((boolean) value); return true; case "pojoRequest": getOrCreateConfiguration((EKS2Component) component).setPojoRequest((boolean) value); return true; case "proxyHost": getOrCreateConfiguration((EKS2Component) component).setProxyHost((java.lang.String) value); return true; case "proxyPort": getOrCreateConfiguration((EKS2Component) component).setProxyPort((java.lang.Integer) value); return true; case "proxyProtocol": getOrCreateConfiguration((EKS2Component) component).setProxyProtocol((software.amazon.awssdk.core.Protocol) value); return true; case "region": getOrCreateConfiguration((EKS2Component) component).setRegion((java.lang.String) value); return true; case "trustAllCertificates": getOrCreateConfiguration((EKS2Component) component).setTrustAllCertificates((boolean) value); return true; + case "uriEndpointOverride": getOrCreateConfiguration((EKS2Component) component).setUriEndpointOverride((java.lang.String) value); return true; case "autowiredEnabled": ((EKS2Component) component).setAutowiredEnabled((boolean) value); return true; case "accessKey": getOrCreateConfiguration((EKS2Component) component).setAccessKey((java.lang.String) value); return true; case "secretKey": getOrCreateConfiguration((EKS2Component) component).setSecretKey((java.lang.String) value); return true; diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EKS2EndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EKS2EndpointBuilderFactory.java index 34c50df..2ebe477 100644 --- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EKS2EndpointBuilderFactory.java +++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EKS2EndpointBuilderFactory.java @@ -145,6 +145,39 @@ public interface EKS2EndpointBuilderFactory { return this; } /** + * Set the need for overidding the endpoint. This option needs to be + * used in combination with uriEndpointOverride option. + * + * The option is a: <code>boolean</code> type. + * + * Default: false + * Group: producer + * + * @param overrideEndpoint the value to set + * @return the dsl builder + */ + default EKS2EndpointBuilder overrideEndpoint(boolean overrideEndpoint) { + doSetProperty("overrideEndpoint", overrideEndpoint); + return this; + } + /** + * Set the need for overidding the endpoint. This option needs to be + * used in combination with uriEndpointOverride option. + * + * The option will be converted to a <code>boolean</code> + * type. + * + * Default: false + * Group: producer + * + * @param overrideEndpoint the value to set + * @return the dsl builder + */ + default EKS2EndpointBuilder overrideEndpoint(String overrideEndpoint) { + doSetProperty("overrideEndpoint", overrideEndpoint); + return this; + } + /** * If we want to use a POJO request as body or not. * * The option is a: <code>boolean</code> type. @@ -303,6 +336,22 @@ public interface EKS2EndpointBuilderFactory { return this; } /** + * Set the overriding uri endpoint. This option needs to be used in + * combination with overrideEndpoint option. + * + * The option is a: <code>java.lang.String</code> type. + * + * Group: producer + * + * @param uriEndpointOverride the value to set + * @return the dsl builder + */ + default EKS2EndpointBuilder uriEndpointOverride( + String uriEndpointOverride) { + doSetProperty("uriEndpointOverride", uriEndpointOverride); + return this; + } + /** * Amazon AWS Access Key. * * The option is a: <code>java.lang.String</code> type. diff --git a/docs/components/modules/ROOT/pages/aws2-eks-component.adoc b/docs/components/modules/ROOT/pages/aws2-eks-component.adoc index 13234eb..5a373f2 100644 --- a/docs/components/modules/ROOT/pages/aws2-eks-component.adoc +++ b/docs/components/modules/ROOT/pages/aws2-eks-component.adoc @@ -44,7 +44,7 @@ You can append query options to the URI in the following format, // component options: START -The AWS 2 Elastic Kubernetes Service (EKS) component supports 13 options, which are listed below. +The AWS 2 Elastic Kubernetes Service (EKS) component supports 15 options, which are listed below. @@ -55,12 +55,14 @@ The AWS 2 Elastic Kubernetes Service (EKS) component supports 13 options, which | *eksClient* (producer) | *Autowired* To use a existing configured AWS EKS as client | | EksClient | *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 [...] | *operation* (producer) | *Required* The operation to perform. There are 4 enums and the value can be one of: listClusters, describeCluster, createCluster, deleteCluster | | EKS2Operations +| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean | *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean | *proxyHost* (producer) | To define a proxy host when instantiating the EKS client | | String | *proxyPort* (producer) | To define a proxy port when instantiating the EKS client | | Integer | *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EKS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol | *region* (producer) | The region in which EKS 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() | | String | *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean +| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | | String | *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 | *accessKey* (security) | Amazon AWS Access Key | | String | *secretKey* (security) | Amazon AWS Secret Key | | String @@ -89,7 +91,7 @@ with the following path and query parameters: |=== -=== Query Parameters (11 parameters): +=== Query Parameters (13 parameters): [width="100%",cols="2,5,^1,2",options="header"] @@ -98,12 +100,14 @@ with the following path and query parameters: | *eksClient* (producer) | *Autowired* To use a existing configured AWS EKS as client | | EksClient | *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 [...] | *operation* (producer) | *Required* The operation to perform. There are 4 enums and the value can be one of: listClusters, describeCluster, createCluster, deleteCluster | | EKS2Operations +| *overrideEndpoint* (producer) | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | boolean | *pojoRequest* (producer) | If we want to use a POJO request as body or not | false | boolean | *proxyHost* (producer) | To define a proxy host when instantiating the EKS client | | String | *proxyPort* (producer) | To define a proxy port when instantiating the EKS client | | Integer | *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EKS client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol | *region* (producer) | The region in which EKS 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() | | String | *trustAllCertificates* (producer) | If we want to trust all certificates in case of overriding the endpoint | false | boolean +| *uriEndpointOverride* (producer) | Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option | | String | *accessKey* (security) | Amazon AWS Access Key | | String | *secretKey* (security) | Amazon AWS Secret Key | | String |===
