You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/07/11 15:31:50 UTC
camel git commit: CAMEL-5857: Add server side enrycption algorithm
option to s3 producer. Thanks to Scott LePage for the patch.
Repository: camel
Updated Branches:
refs/heads/master f9429f632 -> 88338627a
CAMEL-5857: Add server side enrycption algorithm option to s3 producer. Thanks to Scott LePage for the patch.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/88338627
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/88338627
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/88338627
Branch: refs/heads/master
Commit: 88338627aaddb38369ad54a667deb10fdf6bc71d
Parents: f9429f6
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Jul 11 15:38:13 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Jul 11 15:38:13 2015 +0200
----------------------------------------------------------------------
.../camel/component/aws/s3/S3Configuration.java | 14 ++++++++++++++
.../apache/camel/component/aws/s3/S3Constants.java | 1 +
.../org/apache/camel/component/aws/s3/S3Endpoint.java | 1 +
.../org/apache/camel/component/aws/s3/S3Producer.java | 5 +++++
4 files changed, 21 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/88338627/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
index 5a6af23..5bc2ac0 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
@@ -53,6 +53,8 @@ public class S3Configuration implements Cloneable {
private String policy;
@UriParam(label = "producer")
private String storageClass;
+ @UriParam(label = "producer")
+ private String serverSideEncryption;
public long getPartSize() {
return partSize;
@@ -207,4 +209,16 @@ public class S3Configuration implements Cloneable {
public void setStorageClass(String storageClass) {
this.storageClass = storageClass;
}
+
+ public String getServerSideEncryption() {
+ return serverSideEncryption;
+ }
+
+ /**
+ * Sets the server-side encryption algorithm when encrypting the object using AWS-managed keys.
+ * For example use <tt>AES256</tt>.
+ */
+ public void setServerSideEncryption(String serverSideEncryption) {
+ this.serverSideEncryption = serverSideEncryption;
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/camel/blob/88338627/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java
index f007313..8bd783f 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Constants.java
@@ -38,4 +38,5 @@ public interface S3Constants {
String ACL = "CamelAwsS3Acl";
String USER_METADATA = "CamelAwsS3UserMetadata";
String S3_HEADERS = "CamelAwsS3Headers";
+ String SERVER_SIDE_ENCRYPTION = "CamelAwsS3ServerSideEncryption";
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/camel/blob/88338627/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
index 69a7942..f772ee4 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
@@ -163,6 +163,7 @@ public class S3Endpoint extends ScheduledPollEndpoint {
message.setHeader(S3Constants.CONTENT_DISPOSITION, objectMetadata.getContentDisposition());
message.setHeader(S3Constants.CACHE_CONTROL, objectMetadata.getCacheControl());
message.setHeader(S3Constants.S3_HEADERS, objectMetadata.getRawMetadata());
+ message.setHeader(S3Constants.SERVER_SIDE_ENCRYPTION, objectMetadata.getSSEAlgorithm());
return exchange;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/88338627/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
index 20125fd..8097525 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
@@ -272,6 +272,11 @@ public class S3Producer extends DefaultProducer {
}
}
+ String encryption = exchange.getIn().getHeader(S3Constants.SERVER_SIDE_ENCRYPTION, getConfiguration().getServerSideEncryption(), String.class);
+ if (encryption != null) {
+ objectMetadata.setSSEAlgorithm(encryption);
+ }
+
return objectMetadata;
}