diff --git a/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/pom.xml b/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/pom.xml
index 9e67e36..fc4a236 100644
--- a/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/pom.xml
+++ b/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/pom.xml
@@ -64,7 +64,7 @@
         <!-- we use these 2 camel components in this example -->
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-bean</artifactId>
+            <artifactId>camel-timer</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
diff --git a/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/src/main/java/org/apache/camel/example/MyRouteBuilder.java b/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/src/main/java/org/apache/camel/example/MyRouteBuilder.java
index 206ea2c..690ba44 100644
--- a/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/src/main/java/org/apache/camel/example/MyRouteBuilder.java
+++ b/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/src/main/java/org/apache/camel/example/MyRouteBuilder.java
@@ -16,7 +16,16 @@
  */
 package org.apache.camel.example;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
 import org.apache.camel.builder.endpoint.EndpointRouteBuilder;
+import org.apache.camel.builder.endpoint.dsl.EventbridgeEndpointBuilderFactory.EventbridgeOperations;
+import org.apache.camel.component.aws2.eventbridge.EventbridgeConstants;
+
+import software.amazon.awssdk.services.eventbridge.model.Target;
 
 /**
  * To use the endpoint DSL then we must extend EndpointRouteBuilder instead of RouteBuilder
@@ -26,7 +35,25 @@
     @Override
     public void configure() throws Exception {
 
-        from(aws2S3("{{bucketName}}").delay(1000L).deleteAfterRead(false))
-            .log("The content is ${body}");
+        from(timer("fire").repeatCount("1"))
+        .setHeader(EventbridgeConstants.RULE_NAME, constant("s3-events-rule"))
+        .to(aws2Eventbridge("default")
+        		.operation(EventbridgeOperations.putRule)
+        		.eventPatternFile("file:src/main/resources/eventpattern.json"))
+        .process(new Processor() {
+
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(EventbridgeConstants.RULE_NAME, "s3-events-rule");
+                Target target = Target.builder().id("sqs-queue").arn("arn:aws:sqs:eu-west-1:780410022472:camel-connector-test")
+                        .build();
+                List<Target> targets = new ArrayList<Target>();
+                targets.add(target);
+                exchange.getIn().setHeader(EventbridgeConstants.TARGETS, targets);
+            }
+        })
+        .to(aws2Eventbridge("default")
+        		.operation(EventbridgeOperations.putTargets))
+        .log("All set, enjoy!");
     }
 }
diff --git a/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/src/main/resources/application.properties b/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/src/main/resources/application.properties
index 77bc0d3..085166c 100644
--- a/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/src/main/resources/application.properties
+++ b/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/src/main/resources/application.properties
@@ -17,10 +17,11 @@
 
 # to configure camel main
 # here you can configure options on camel main (see MainConfigurationProperties class)
-camel.main.name = AWS2-S3-Consumer
+camel.main.name = AWS2-Eventbridge-rule-creator
 
 # properties used in the route
-camel.component.aws2-s3.accessKey=xxxx
-camel.component.aws2-s3.secretKey=yyyy
-camel.component.aws2-s3.region=region
-bucketName=camel
+camel.component.aws2-eventbridge.accessKey=xxxx
+camel.component.aws2-eventbridge.secretKey=yyyy
+camel.component.aws2-eventbridge.region=region
+sqs-target=target-sqs-arn
+sqs-target-id=sqs-queue
diff --git a/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/src/main/resources/eventpattern.json b/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/src/main/resources/eventpattern.json
new file mode 100644
index 0000000..96cd573
--- /dev/null
+++ b/examples/camel-example-main-endpointdsl-aws2/aws2-eventbridge-creator/src/main/resources/eventpattern.json
@@ -0,0 +1,35 @@
+{
+  "source": [
+    "aws.s3"
+  ],
+  "detail": {
+    "eventSource": [
+      "s3.amazonaws.com"
+    ],
+    "eventName": [
+      "DeleteBucket",
+      "DeleteBucketCors",
+      "DeleteBucketLifecycle",
+      "DeleteBucketPolicy",
+      "DeleteBucketReplication",
+      "DeleteBucketTagging",
+      "DeleteBucketWebsite",
+      "CreateBucket",
+      "PutBucketAcl",
+      "PutBucketCors",
+      "PutBucketLifecycle",
+      "PutBucketPolicy",
+      "PutBucketLogging",
+      "PutBucketNotification",
+      "PutBucketReplication",
+      "PutBucketTagging",
+      "PutBucketRequestPayment",
+      "PutBucketVersioning",
+      "PutBucketWebsite",
+      "PutBucketEncryption",
+      "DeleteBucketEncryption",
+      "DeleteBucketPublicAccessBlock",
+      "PutBucketPublicAccessBlock"
+    ]
+  }
+}
diff --git a/examples/camel-example-main-endpointdsl-aws2/aws2-s3-events-inject/pom.xml b/examples/camel-example-main-endpointdsl-aws2/aws2-s3-events-inject/pom.xml
index 2e02f1b..4f19b01 100644
--- a/examples/camel-example-main-endpointdsl-aws2/aws2-s3-events-inject/pom.xml
+++ b/examples/camel-example-main-endpointdsl-aws2/aws2-s3-events-inject/pom.xml
@@ -64,7 +64,7 @@
         <!-- we use these 2 camel components in this example -->
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-bean</artifactId>
+            <artifactId>camel-timer</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
diff --git a/examples/camel-example-main-endpointdsl-aws2/aws2-s3-events-inject/src/main/java/org/apache/camel/example/MyRouteBuilder.java b/examples/camel-example-main-endpointdsl-aws2/aws2-s3-events-inject/src/main/java/org/apache/camel/example/MyRouteBuilder.java
index 206ea2c..2e3a781 100644
--- a/examples/camel-example-main-endpointdsl-aws2/aws2-s3-events-inject/src/main/java/org/apache/camel/example/MyRouteBuilder.java
+++ b/examples/camel-example-main-endpointdsl-aws2/aws2-s3-events-inject/src/main/java/org/apache/camel/example/MyRouteBuilder.java
@@ -26,7 +26,9 @@
     @Override
     public void configure() throws Exception {
 
-        from(aws2S3("{{bucketName}}").delay(1000L).deleteAfterRead(false))
-            .log("The content is ${body}");
+    	from(timer("fire").repeatCount("1"))
+    	.setBody(constant("Camel rocks"))
+    	.to(aws2S3("{{bucketName}}").keyName("firstfile"))
+    	.stop();
     }
 }
diff --git a/examples/camel-example-main-endpointdsl-aws2/aws2-s3-events-inject/src/main/resources/application.properties b/examples/camel-example-main-endpointdsl-aws2/aws2-s3-events-inject/src/main/resources/application.properties
index 77bc0d3..2317b2f 100644
--- a/examples/camel-example-main-endpointdsl-aws2/aws2-s3-events-inject/src/main/resources/application.properties
+++ b/examples/camel-example-main-endpointdsl-aws2/aws2-s3-events-inject/src/main/resources/application.properties
@@ -17,10 +17,10 @@
 
 # to configure camel main
 # here you can configure options on camel main (see MainConfigurationProperties class)
-camel.main.name = AWS2-S3-Consumer
+camel.main.name = AWS2-S3-Events-Inject
 
 # properties used in the route
-camel.component.aws2-s3.accessKey=xxxx
-camel.component.aws2-s3.secretKey=yyyy
+camel.component.aws2-s3.accessKey=xxxxx
+camel.component.aws2-s3.secretKey=yyyyy
 camel.component.aws2-s3.region=region
-bucketName=camel
+bucketName=camel-bucket
diff --git a/examples/camel-example-main-endpointdsl-aws2/aws2-sqs-consumer/pom.xml b/examples/camel-example-main-endpointdsl-aws2/aws2-sqs-consumer/pom.xml
index 44a94f3..1c543d0 100644
--- a/examples/camel-example-main-endpointdsl-aws2/aws2-sqs-consumer/pom.xml
+++ b/examples/camel-example-main-endpointdsl-aws2/aws2-sqs-consumer/pom.xml
@@ -64,10 +64,6 @@
         <!-- we use these 2 camel components in this example -->
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-bean</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
             <artifactId>camel-aws2-sqs</artifactId>
         </dependency>
 
diff --git a/examples/camel-example-main-endpointdsl-aws2/aws2-sqs-consumer/src/main/java/org/apache/camel/example/MyRouteBuilder.java b/examples/camel-example-main-endpointdsl-aws2/aws2-sqs-consumer/src/main/java/org/apache/camel/example/MyRouteBuilder.java
index 206ea2c..caa2048 100644
--- a/examples/camel-example-main-endpointdsl-aws2/aws2-sqs-consumer/src/main/java/org/apache/camel/example/MyRouteBuilder.java
+++ b/examples/camel-example-main-endpointdsl-aws2/aws2-sqs-consumer/src/main/java/org/apache/camel/example/MyRouteBuilder.java
@@ -26,7 +26,7 @@
     @Override
     public void configure() throws Exception {
 
-        from(aws2S3("{{bucketName}}").delay(1000L).deleteAfterRead(false))
-            .log("The content is ${body}");
+        from(aws2Sqs("{{sqs-queue-name}}").deleteAfterRead(true))
+        .log("${body}");
     }
 }
diff --git a/examples/camel-example-main-endpointdsl-aws2/aws2-sqs-consumer/src/main/resources/application.properties b/examples/camel-example-main-endpointdsl-aws2/aws2-sqs-consumer/src/main/resources/application.properties
index 77bc0d3..57c38c9 100644
--- a/examples/camel-example-main-endpointdsl-aws2/aws2-sqs-consumer/src/main/resources/application.properties
+++ b/examples/camel-example-main-endpointdsl-aws2/aws2-sqs-consumer/src/main/resources/application.properties
@@ -17,10 +17,10 @@
 
 # to configure camel main
 # here you can configure options on camel main (see MainConfigurationProperties class)
-camel.main.name = AWS2-S3-Consumer
+camel.main.name = AWS2-SQS-Consumer
 
 # properties used in the route
-camel.component.aws2-s3.accessKey=xxxx
-camel.component.aws2-s3.secretKey=yyyy
-camel.component.aws2-s3.region=region
-bucketName=camel
+camel.component.aws2-sqs.accessKey=xxxx
+camel.component.aws2-sqs.secretKey=yyyy
+camel.component.aws2-sqs.regionregion
+sqs-queue-name=queue-name
