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)