You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by an...@apache.org on 2016/03/28 12:14:52 UTC

[3/5] libcloud git commit: add ex_encrypted and ex_kms_key_id kwargs in EC2NodeDriver.create_volume

add ex_encrypted and ex_kms_key_id kwargs in EC2NodeDriver.create_volume


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/5dd36c54
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/5dd36c54
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/5dd36c54

Branch: refs/heads/trunk
Commit: 5dd36c54c061768a58dd7611896e2d2c037cd589
Parents: 53946f6
Author: ViktorOgnev <v....@scalr.com>
Authored: Mon Jan 25 11:30:07 2016 +0300
Committer: anthony-shaw <an...@gmail.com>
Committed: Mon Mar 28 21:14:13 2016 +1100

----------------------------------------------------------------------
 libcloud/compute/drivers/ec2.py | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/5dd36c54/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index 2562c72..1dacf40 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -3074,7 +3074,8 @@ class BaseEC2NodeDriver(NodeDriver):
         return self._get_terminate_boolean(res)
 
     def create_volume(self, size, name, location=None, snapshot=None,
-                      ex_volume_type='standard', ex_iops=None):
+                      ex_volume_type='standard', ex_iops=None,
+                      ex_encrypted=None, ex_kms_key_id=None):
         """
         Create a new volume.
 
@@ -3104,6 +3105,15 @@ class BaseEC2NodeDriver(NodeDriver):
                      is io1.
         :type iops: ``int``
 
+        :param ex_encrypted: Specifies whether the volume should be encrypted.
+        :type ex_encrypted: ``bool``
+
+        :param ex_kms_key_id: The full ARN of the AWS Key Management Service (AWS KMS)
+                        customer master key (CMK) to use when creating the encrypted volume.
+                        Example: arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
+                        Only used if encrypted is set to True
+        :type ex_kms_key_id: ``str``
+
         :return: The newly created volume.
         :rtype: :class:`StorageVolume`
         """
@@ -3129,6 +3139,12 @@ class BaseEC2NodeDriver(NodeDriver):
         if ex_volume_type == 'io1' and ex_iops:
             params['Iops'] = ex_iops
 
+        if ex_encrypted:
+            params['Encrypted'] = 1
+
+        if ex_kms_key_id:
+            params['KmsKeyId'] = ex_kms_key_id
+
         volume = self._to_volume(
             self.connection.request(self.path, params=params).object,
             name=name)