You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2024/07/31 05:26:05 UTC

(camel) branch CAMEL-21024-iteration created (now 4f89b5c4191)

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

acosentino pushed a change to branch CAMEL-21024-iteration
in repository https://gitbox.apache.org/repos/asf/camel.git


      at 4f89b5c4191 CAMEL-21021 - Camel-AWS-Secrets-Manager: Give the ability of refreshing the context on Secrets update by using Eventbridge service instead of pure Cloudtrail

This branch includes the following new commits:

     new 4f89b5c4191 CAMEL-21021 - Camel-AWS-Secrets-Manager: Give the ability of refreshing the context on Secrets update by using Eventbridge service instead of pure Cloudtrail

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(camel) 01/01: CAMEL-21021 - Camel-AWS-Secrets-Manager: Give the ability of refreshing the context on Secrets update by using Eventbridge service instead of pure Cloudtrail

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch CAMEL-21024-iteration
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 4f89b5c41914b6d0940630e9e76392619446596b
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jul 31 07:24:45 2024 +0200

    CAMEL-21021 - Camel-AWS-Secrets-Manager: Give the ability of refreshing the context on Secrets update by using Eventbridge service instead of pure Cloudtrail
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../vault/CloudTrailReloadTriggerTask.java         | 37 ++++++++++++----------
 1 file changed, 20 insertions(+), 17 deletions(-)

diff --git a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
index d97bf0bb8c8..5d038ea8112 100644
--- a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
+++ b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
@@ -329,24 +329,27 @@ public class CloudTrailReloadTriggerTask extends ServiceSupport implements Camel
                     } catch (JsonProcessingException e) {
                         throw new RuntimeException(e);
                     }
-                    if (event.get("detail").get("eventSource").asText().equalsIgnoreCase(SECRETSMANAGER_AMAZONAWS_COM)) {
-                        if (event.get("detail").get("eventName").asText().equalsIgnoreCase(SECRETSMANAGER_UPDATE_EVENT)) {
-                            String name = event.get("detail").get("requestParameters").get("secretId").asText();
-                            if (matchSecret(name)) {
-                                updates.put(name, Instant.parse(event.get("detail").get("eventTime").asText()));
-                                if (isReloadEnabled()) {
-                                    LOG.info("Update for AWS secret: {} detected, triggering CamelContext reload", name);
-                                    triggerReloading = true;
-                                    message.receiptHandle();
-                                    DeleteMessageRequest.Builder deleteRequest
-                                            = DeleteMessageRequest.builder().queueUrl(queueUrl)
-                                                    .receiptHandle(message.receiptHandle());
-
-                                    LOG.trace("Deleting message with receipt handle {}...", message.receiptHandle());
-
-                                    sqsClient.deleteMessage(deleteRequest.build());
+                    if (ObjectHelper.isNotEmpty(event.get("detail"))) {
+                        JsonNode innerDetail = event.get("detail");
+                        if (innerDetail.get("eventSource").asText().equalsIgnoreCase(SECRETSMANAGER_AMAZONAWS_COM)) {
+                            if (innerDetail.get("eventName").asText().equalsIgnoreCase(SECRETSMANAGER_UPDATE_EVENT)) {
+                                String name = innerDetail.get("requestParameters").get("secretId").asText();
+                                if (matchSecret(name)) {
+                                    updates.put(name, Instant.parse(innerDetail.get("eventTime").asText()));
+                                    if (isReloadEnabled()) {
+                                        LOG.info("Update for AWS secret: {} detected, triggering CamelContext reload", name);
+                                        triggerReloading = true;
+                                        message.receiptHandle();
+                                        DeleteMessageRequest.Builder deleteRequest
+                                                = DeleteMessageRequest.builder().queueUrl(queueUrl)
+                                                        .receiptHandle(message.receiptHandle());
+
+                                        LOG.trace("Deleting message with receipt handle {}...", message.receiptHandle());
+
+                                        sqsClient.deleteMessage(deleteRequest.build());
+                                    }
+                                    break;
                                 }
-                                break;
                             }
                         }
                     }