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 6b9dd07515356f60b9c9d150918ea93908718eca Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Mon Sep 21 11:47:09 2020 +0200 CAMEL-15375 - Camel-AWS2-Eventbridge: Regen --- .../EventbridgeComponentConfigurer.java | 3 +- .../EventbridgeEndpointConfigurer.java | 3 +- .../org/apache/camel/component/aws2-eventbridge | 2 +- .../camel/configurer/aws2-eventbridge-component | 2 +- .../camel/configurer/aws2-eventbridge-endpoint | 2 +- .../{sts => eventbridge}/aws2-eventbridge.json | 50 +++++++------- .../aws2/eventbridge/EvenbridgeOperations.java | 3 +- .../aws2/eventbridge/EventbridgeProducer.java | 36 ++++++++++ .../EventbridgeComponentConfigurationTest.java | 2 - .../EventbridgePutRuleIntegrationTest.java | 80 ++++++++++++++++++++++ .../Aws2EventbridgeComponentBuilderFactory.java | 21 +++--- .../src/generated/resources/metadata.json | 2 +- .../dsl/EventbridgeEndpointBuilderFactory.java | 12 ++-- 13 files changed, 164 insertions(+), 54 deletions(-) diff --git a/components/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/sts/EventbridgeComponentConfigurer.java b/components/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponentConfigurer.java similarity index 98% rename from components/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/sts/EventbridgeComponentConfigurer.java rename to components/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponentConfigurer.java index 6e7c85f..0e4966f 100644 --- a/components/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/sts/EventbridgeComponentConfigurer.java +++ b/components/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponentConfigurer.java @@ -1,10 +1,9 @@ /* Generated by camel build tools - do NOT edit this file! */ -package org.apache.camel.component.aws2.sts; +package org.apache.camel.component.aws2.eventbridge; import java.util.Map; import org.apache.camel.CamelContext; -import org.apache.camel.component.aws2.eventbridge.EventbridgeComponent; import org.apache.camel.spi.GeneratedPropertyConfigurer; import org.apache.camel.spi.PropertyConfigurerGetter; import org.apache.camel.util.CaseInsensitiveMap; diff --git a/components/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/sts/EventbridgeEndpointConfigurer.java b/components/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/eventbridge/EventbridgeEndpointConfigurer.java similarity index 98% rename from components/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/sts/EventbridgeEndpointConfigurer.java rename to components/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/eventbridge/EventbridgeEndpointConfigurer.java index 4dadaf8..a6b177a 100644 --- a/components/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/sts/EventbridgeEndpointConfigurer.java +++ b/components/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/eventbridge/EventbridgeEndpointConfigurer.java @@ -1,10 +1,9 @@ /* Generated by camel build tools - do NOT edit this file! */ -package org.apache.camel.component.aws2.sts; +package org.apache.camel.component.aws2.eventbridge; import java.util.Map; import org.apache.camel.CamelContext; -import org.apache.camel.component.aws2.eventbridge.EventbridgeEndpoint; import org.apache.camel.spi.GeneratedPropertyConfigurer; import org.apache.camel.spi.PropertyConfigurerGetter; import org.apache.camel.util.CaseInsensitiveMap; diff --git a/components/camel-aws2-eventbridge/src/generated/resources/META-INF/services/org/apache/camel/component/aws2-eventbridge b/components/camel-aws2-eventbridge/src/generated/resources/META-INF/services/org/apache/camel/component/aws2-eventbridge index c13ec88..3667d73 100644 --- a/components/camel-aws2-eventbridge/src/generated/resources/META-INF/services/org/apache/camel/component/aws2-eventbridge +++ b/components/camel-aws2-eventbridge/src/generated/resources/META-INF/services/org/apache/camel/component/aws2-eventbridge @@ -1,2 +1,2 @@ # Generated by camel build tools - do NOT edit this file! -class=org.apache.camel.component.aws2.sts.EventbridgeComponent +class=org.apache.camel.component.aws2.eventbridge.EventbridgeComponent diff --git a/components/camel-aws2-eventbridge/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws2-eventbridge-component b/components/camel-aws2-eventbridge/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws2-eventbridge-component index 93bbb8d..8ceba22 100644 --- a/components/camel-aws2-eventbridge/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws2-eventbridge-component +++ b/components/camel-aws2-eventbridge/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws2-eventbridge-component @@ -1,2 +1,2 @@ # Generated by camel build tools - do NOT edit this file! -class=org.apache.camel.component.aws2.sts.EventbridgeComponentConfigurer +class=org.apache.camel.component.aws2.eventbridge.EventbridgeComponentConfigurer diff --git a/components/camel-aws2-eventbridge/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws2-eventbridge-endpoint b/components/camel-aws2-eventbridge/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws2-eventbridge-endpoint index ad9e1de..b606c1d 100644 --- a/components/camel-aws2-eventbridge/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws2-eventbridge-endpoint +++ b/components/camel-aws2-eventbridge/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws2-eventbridge-endpoint @@ -1,2 +1,2 @@ # Generated by camel build tools - do NOT edit this file! -class=org.apache.camel.component.aws2.sts.EventbridgeEndpointConfigurer +class=org.apache.camel.component.aws2.eventbridge.EventbridgeEndpointConfigurer diff --git a/components/camel-aws2-eventbridge/src/generated/resources/org/apache/camel/component/aws2/sts/aws2-eventbridge.json b/components/camel-aws2-eventbridge/src/generated/resources/org/apache/camel/component/aws2/eventbridge/aws2-eventbridge.json similarity index 65% rename from components/camel-aws2-eventbridge/src/generated/resources/org/apache/camel/component/aws2/sts/aws2-eventbridge.json rename to components/camel-aws2-eventbridge/src/generated/resources/org/apache/camel/component/aws2/eventbridge/aws2-eventbridge.json index 8b1ea66..c2cc268 100644 --- a/components/camel-aws2-eventbridge/src/generated/resources/org/apache/camel/component/aws2/sts/aws2-eventbridge.json +++ b/components/camel-aws2-eventbridge/src/generated/resources/org/apache/camel/component/aws2/eventbridge/aws2-eventbridge.json @@ -7,7 +7,7 @@ "deprecated": false, "firstVersion": "3.6.0", "label": "cloud,management", - "javaType": "org.apache.camel.component.aws2.sts.EventbridgeComponent", + "javaType": "org.apache.camel.component.aws2.eventbridge.EventbridgeComponent", "supportLevel": "Preview", "groupId": "org.apache.camel", "artifactId": "camel-aws2-eventbridge", @@ -22,36 +22,36 @@ "lenientProperties": false }, "componentProperties": { - "autoDiscoverClient": { "kind": "property", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the [...] - "configuration": { "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "deprecated": false, "secret": false, "description": "Component configuration" }, - "eventbridgeClient": { "kind": "property", "displayName": "Eventbridge Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.eventbridge.EventBridgeClient", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "To use a existing configured AWS Eventbridge as client" }, + "autoDiscoverClient": { "kind": "property", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client instanc [...] + "configuration": { "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "deprecated": false, "secret": false, "description": "Component configuration" }, + "eventbridgeClient": { "kind": "property", "displayName": "Eventbridge Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.eventbridge.EventBridgeClient", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "To use a existing configured AWS Eventbridge as client" }, "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 r [...] - "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws2.sts.EvenbridgeOperations", "enum": [ "putRule" ], "deprecated": false, "deprecationNote": "", "secret": false, "defaultValue": "assumeRole", "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "The operation to perform" }, - "pojoRequest": { "kind": "property", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "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, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the STS client" }, - "proxyPort": { "kind": "property", "displayName": "Proxy Port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the STS 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, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the STS client" }, - "region": { "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "aws-global", "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "The region in which STS client needs to work. When using this parameter, the configuration will expect the lowercase na [...] - "trustAllCertificates": { "kind": "property", "displayName": "Trust All Certificates", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "If we want to trust all certificates in case of overriding the endpoint" }, + "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws2.eventbridge.EvenbridgeOperations", "enum": [ "putRule", "putTarget" ], "deprecated": false, "deprecationNote": "", "secret": false, "defaultValue": "assumeRole", "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": [...] + "pojoRequest": { "kind": "property", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "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, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the STS client" }, + "proxyPort": { "kind": "property", "displayName": "Proxy Port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the STS 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, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the ST [...] + "region": { "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "aws-global", "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "The region in which STS client needs to work. When using this parameter, the configuration will expect the lowe [...] + "trustAllCertificates": { "kind": "property", "displayName": "Trust All Certificates", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "If we want to trust all certificates in case of overriding the endpoint" }, "basicPropertyBinding": { "kind": "property", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "secret": false, "defaultValue": false, "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" }, - "accessKey": { "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "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, "secret": true, "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" } + "accessKey": { "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "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, "secret": true, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" } }, "properties": { - "label": { "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "Logical name" }, - "autoDiscoverClient": { "kind": "parameter", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in th [...] - "eventbridgeClient": { "kind": "parameter", "displayName": "Eventbridge Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.eventbridge.EventBridgeClient", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "To use a existing configured AWS Eventbridge as client" }, + "label": { "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "Logical name" }, + "autoDiscoverClient": { "kind": "parameter", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client instan [...] + "eventbridgeClient": { "kind": "parameter", "displayName": "Eventbridge Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.eventbridge.EventBridgeClient", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "To use a existing configured AWS Eventbridge as client" }, "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 [...] - "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws2.sts.EvenbridgeOperations", "enum": [ "putRule" ], "deprecated": false, "deprecationNote": "", "secret": false, "defaultValue": "assumeRole", "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "The operation to perform" }, - "pojoRequest": { "kind": "parameter", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "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, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the STS client" }, - "proxyPort": { "kind": "parameter", "displayName": "Proxy Port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the STS 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, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the STS client" }, - "region": { "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "aws-global", "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "The region in which STS client needs to work. When using this parameter, the configuration will expect the lowercase n [...] - "trustAllCertificates": { "kind": "parameter", "displayName": "Trust All Certificates", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "If we want to trust all certificates in case of overriding the endpoint" }, + "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws2.eventbridge.EvenbridgeOperations", "enum": [ "putRule", "putTarget" ], "deprecated": false, "deprecationNote": "", "secret": false, "defaultValue": "assumeRole", "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": [...] + "pojoRequest": { "kind": "parameter", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "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, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the STS client" }, + "proxyPort": { "kind": "parameter", "displayName": "Proxy Port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the STS 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, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the S [...] + "region": { "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "aws-global", "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "The region in which STS client needs to work. When using this parameter, the configuration will expect the low [...] + "trustAllCertificates": { "kind": "parameter", "displayName": "Trust All Certificates", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "If we want to trust all certificates in case of overriding the endpoint" }, "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" }, "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)." }, - "accessKey": { "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "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, "secret": true, "configurationClass": "org.apache.camel.component.aws2.sts.EventbridgeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" } + "accessKey": { "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "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, "secret": true, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" } } } diff --git a/components/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EvenbridgeOperations.java b/components/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EvenbridgeOperations.java index 0aa4338..9bef090 100644 --- a/components/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EvenbridgeOperations.java +++ b/components/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EvenbridgeOperations.java @@ -18,5 +18,6 @@ package org.apache.camel.component.aws2.eventbridge; public enum EvenbridgeOperations { - putRule + putRule, + putTarget } diff --git a/components/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java b/components/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java index 74a6671..c73bfa1 100644 --- a/components/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java +++ b/components/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java @@ -111,6 +111,42 @@ public class EventbridgeProducer extends DefaultProducer { } } + // private void putTarget(EventBridgeClient eventbridgeClient, Exchange exchange) throws InvalidPayloadException { + // if (getConfiguration().isPojoRequest()) { + // Object payload = exchange.getIn().getMandatoryBody(); + // if (payload instanceof PutRuleRequest) { + // PutRuleResponse result; + // try { + // result = eventbridgeClient.putRule((PutRuleRequest) payload); + // } catch (AwsServiceException ase) { + // LOG.trace("PutRule command returned the error code {}", ase.awsErrorDetails().errorCode()); + // throw ase; + // } + // Message message = getMessageForResponse(exchange); + // message.setBody(result); + // } + // } else { + // PutRuleRequest.Builder builder = PutRuleRequest.builder(); + // if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EventbridgeConstants.RULE_NAME))) { + // String ruleName = exchange.getIn().getHeader(EventbridgeConstants.RULE_NAME, String.class); + // builder.name(ruleName); + // } + // if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EventbridgeConstants.EVENT_PATTERN))) { + // String eventPattern = exchange.getIn().getHeader(EventbridgeConstants.EVENT_PATTERN, String.class); + // builder.eventPattern(eventPattern); + // } + // PutRuleResponse result; + // try { + // result = eventbridgeClient.putTargets(builder.build()); + // } catch (AwsServiceException ase) { + // LOG.trace("Put Rule command returned the error code {}", ase.awsErrorDetails().errorCode()); + // throw ase; + // } + // Message message = getMessageForResponse(exchange); + // message.setBody(result); + // } + // } + @Override public EventbridgeEndpoint getEndpoint() { return (EventbridgeEndpoint) super.getEndpoint(); diff --git a/components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponentConfigurationTest.java b/components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponentConfigurationTest.java index 1b9cd94..2722a82 100644 --- a/components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponentConfigurationTest.java +++ b/components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponentConfigurationTest.java @@ -16,8 +16,6 @@ */ package org.apache.camel.component.aws2.eventbridge; -import org.apache.camel.component.aws2.eventbridge.EventbridgeComponent; -import org.apache.camel.component.aws2.eventbridge.EventbridgeEndpoint; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; import software.amazon.awssdk.core.Protocol; diff --git a/components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/integration/EventbridgePutRuleIntegrationTest.java b/components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/integration/EventbridgePutRuleIntegrationTest.java new file mode 100644 index 0000000..67dcafd --- /dev/null +++ b/components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/integration/EventbridgePutRuleIntegrationTest.java @@ -0,0 +1,80 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.component.aws2.eventbridge.integration; + +import org.apache.camel.BindToRegistry; +import org.apache.camel.EndpointInject; +import org.apache.camel.Exchange; +import org.apache.camel.Processor; +import org.apache.camel.ProducerTemplate; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.aws2.eventbridge.EventbridgeConstants; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.junit5.CamelTestSupport; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; +import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.eventbridge.EventBridgeClient; + +@Disabled("Must be manually tested. Provide your own accessKey and secretKey!") +public class EventbridgePutRuleIntegrationTest extends CamelTestSupport { + + + @BindToRegistry("eventbridge-client") + EventBridgeClient client + = EventBridgeClient.builder().credentialsProvider(StaticCredentialsProvider.create(AwsBasicCredentials.create("xxx", "yyy"))) + .region(Region.US_WEST_1).build(); + + @EndpointInject + private ProducerTemplate template; + + @EndpointInject("mock:result") + private MockEndpoint result; + + @Test + public void sendIn() throws Exception { + result.expectedMessageCount(1); + + template.send("direct:evs", new Processor() { + + @Override + public void process(Exchange exchange) throws Exception { + exchange.getIn().setHeader(EventbridgeConstants.RULE_NAME, "firstrule"); + exchange.getIn().setHeader(EventbridgeConstants.EVENT_PATTERN, "{ \"source\": [\"aws.s3\"] }"); + } + }); + assertMockEndpointsSatisfied(); + + } + + @Override + protected RouteBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { + @Override + public void configure() throws Exception { + String awsEndpoint = "aws2-eventbridge://test?operation=putRule"; + + from("direct:evs").to(awsEndpoint).log("${body}").to("mock:result"); + + } + }; + } +} diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2EventbridgeComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2EventbridgeComponentBuilderFactory.java index 00114c8..2eb1051 100644 --- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2EventbridgeComponentBuilderFactory.java +++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2EventbridgeComponentBuilderFactory.java @@ -20,7 +20,7 @@ import javax.annotation.Generated; import org.apache.camel.Component; import org.apache.camel.builder.component.AbstractComponentBuilder; import org.apache.camel.builder.component.ComponentBuilder; -import org.apache.camel.component.aws2.sts.EventbridgeComponent; +import org.apache.camel.component.aws2.eventbridge.EventbridgeComponent; /** * Manage AWS Eventbridge cluster instances using AWS SDK version 2.x. @@ -67,12 +67,12 @@ public interface Aws2EventbridgeComponentBuilderFactory { * Component configuration. * * The option is a: - * <code>org.apache.camel.component.aws2.sts.EventbridgeConfiguration</code> type. + * <code>org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration</code> type. * * Group: producer */ default Aws2EventbridgeComponentBuilder configuration( - org.apache.camel.component.aws2.sts.EventbridgeConfiguration configuration) { + org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration configuration) { doSetProperty("configuration", configuration); return this; } @@ -114,14 +114,13 @@ public interface Aws2EventbridgeComponentBuilderFactory { * The operation to perform. * * The option is a: - * <code>org.apache.camel.component.aws2.sts.EvenbridgeOperations</code> - * type. + * <code>org.apache.camel.component.aws2.eventbridge.EvenbridgeOperations</code> type. * * Default: assumeRole * Group: producer */ default Aws2EventbridgeComponentBuilder operation( - org.apache.camel.component.aws2.sts.EvenbridgeOperations operation) { + org.apache.camel.component.aws2.eventbridge.EvenbridgeOperations operation) { doSetProperty("operation", operation); return this; } @@ -254,10 +253,10 @@ public interface Aws2EventbridgeComponentBuilderFactory { protected EventbridgeComponent buildConcreteComponent() { return new EventbridgeComponent(); } - private org.apache.camel.component.aws2.sts.EventbridgeConfiguration getOrCreateConfiguration( - org.apache.camel.component.aws2.sts.EventbridgeComponent component) { + private org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration getOrCreateConfiguration( + org.apache.camel.component.aws2.eventbridge.EventbridgeComponent component) { if (component.getConfiguration() == null) { - component.setConfiguration(new org.apache.camel.component.aws2.sts.EventbridgeConfiguration()); + component.setConfiguration(new org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration()); } return component.getConfiguration(); } @@ -268,10 +267,10 @@ public interface Aws2EventbridgeComponentBuilderFactory { Object value) { switch (name) { case "autoDiscoverClient": getOrCreateConfiguration((EventbridgeComponent) component).setAutoDiscoverClient((boolean) value); return true; - case "configuration": ((EventbridgeComponent) component).setConfiguration((org.apache.camel.component.aws2.sts.EventbridgeConfiguration) value); return true; + case "configuration": ((EventbridgeComponent) component).setConfiguration((org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration) value); return true; case "eventbridgeClient": getOrCreateConfiguration((EventbridgeComponent) component).setEventbridgeClient((software.amazon.awssdk.services.eventbridge.EventBridgeClient) value); return true; case "lazyStartProducer": ((EventbridgeComponent) component).setLazyStartProducer((boolean) value); return true; - case "operation": getOrCreateConfiguration((EventbridgeComponent) component).setOperation((org.apache.camel.component.aws2.sts.EvenbridgeOperations) value); return true; + case "operation": getOrCreateConfiguration((EventbridgeComponent) component).setOperation((org.apache.camel.component.aws2.eventbridge.EvenbridgeOperations) value); return true; case "pojoRequest": getOrCreateConfiguration((EventbridgeComponent) component).setPojoRequest((boolean) value); return true; case "proxyHost": getOrCreateConfiguration((EventbridgeComponent) component).setProxyHost((java.lang.String) value); return true; case "proxyPort": getOrCreateConfiguration((EventbridgeComponent) component).setProxyPort((java.lang.Integer) value); return true; diff --git a/core/camel-componentdsl/src/generated/resources/metadata.json b/core/camel-componentdsl/src/generated/resources/metadata.json index 66f094f..f7e8c15 100644 --- a/core/camel-componentdsl/src/generated/resources/metadata.json +++ b/core/camel-componentdsl/src/generated/resources/metadata.json @@ -584,7 +584,7 @@ "deprecated": false, "firstVersion": "3.6.0", "label": "cloud,management", - "javaType": "org.apache.camel.component.aws2.sts.EventbridgeComponent", + "javaType": "org.apache.camel.component.aws2.eventbridge.EventbridgeComponent", "supportLevel": "Preview", "groupId": "org.apache.camel", "artifactId": "camel-aws2-eventbridge", diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EventbridgeEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EventbridgeEndpointBuilderFactory.java index 286a9dd..c0f4dd4 100644 --- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EventbridgeEndpointBuilderFactory.java +++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EventbridgeEndpointBuilderFactory.java @@ -141,8 +141,7 @@ public interface EventbridgeEndpointBuilderFactory { * The operation to perform. * * The option is a: - * <code>org.apache.camel.component.aws2.sts.EvenbridgeOperations</code> - * type. + * <code>org.apache.camel.component.aws2.eventbridge.EvenbridgeOperations</code> type. * * Required: true * Default: assumeRole @@ -157,8 +156,7 @@ public interface EventbridgeEndpointBuilderFactory { * The operation to perform. * * The option will be converted to a - * <code>org.apache.camel.component.aws2.sts.EvenbridgeOperations</code> - * type. + * <code>org.apache.camel.component.aws2.eventbridge.EvenbridgeOperations</code> type. * * Required: true * Default: assumeRole @@ -388,11 +386,11 @@ public interface EventbridgeEndpointBuilderFactory { /** * Proxy enum for - * <code>org.apache.camel.component.aws2.sts.EvenbridgeOperations</code> - * enum. + * <code>org.apache.camel.component.aws2.eventbridge.EvenbridgeOperations</code> enum. */ enum EvenbridgeOperations { - putRule; + putRule, + putTarget; } /**