Repository: libcloud Updated Branches: refs/heads/trunk 022d01edd -> e14dbf2ce
ex_creation_time method for ec2 and digitalocean Closes #697 ec2 keeps the created time string in 'launch_time' and digital ocean keeps it in 'created_at' Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/e513687e Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/e513687e Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/e513687e Branch: refs/heads/trunk Commit: e513687ea8e335b4a71d9f6e569f61bfcb65b0e9 Parents: 17c2217 Author: Rick van de Loo <rickvande...@gmail.com> Authored: Tue Feb 9 22:40:24 2016 +0100 Committer: anthony-shaw <anthony.p.s...@gmail.com> Committed: Wed Feb 10 11:59:48 2016 +1100 ---------------------------------------------------------------------- libcloud/compute/drivers/digitalocean.py | 12 ++++++++++++ libcloud/compute/drivers/ec2.py | 12 ++++++++++++ libcloud/test/compute/test_digitalocean_v2.py | 5 +++++ libcloud/test/compute/test_ec2.py | 13 +++++++++++++ 4 files changed, 42 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/e513687e/libcloud/compute/drivers/digitalocean.py ---------------------------------------------------------------------- diff --git a/libcloud/compute/drivers/digitalocean.py b/libcloud/compute/drivers/digitalocean.py index a5c3bb9..d0b3d7b 100644 --- a/libcloud/compute/drivers/digitalocean.py +++ b/libcloud/compute/drivers/digitalocean.py @@ -453,6 +453,18 @@ class DigitalOcean_v2_NodeDriver(DigitalOcean_v2_BaseDriver, method='DELETE') return res.status == httplib.NO_CONTENT + def ex_get_creation_time(self, node): + """ + Return the date and time that represent when the Instance was created. + :param node: Node instance + :type node: :class:`Node` + + :return: ISO8601 combined date and time format string for when the + Droplet was created. + :rtype: ``str`` + """ + return node.extra['created_at'] + def get_image(self, image_id): """ Get an image based on an image_id http://git-wip-us.apache.org/repos/asf/libcloud/blob/e513687e/libcloud/compute/drivers/ec2.py ---------------------------------------------------------------------- diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py index b57a1eb..1df3efd 100644 --- a/libcloud/compute/drivers/ec2.py +++ b/libcloud/compute/drivers/ec2.py @@ -4256,6 +4256,18 @@ class BaseEC2NodeDriver(NodeDriver): """ return node.extra['tags'] + def ex_get_creation_time(self, node): + """ + Return the date and time that represent when the Instance was created. + :param node: Node instance + :type node: :class:`Node + + :return: ISO8601 combined date and time format string for when the + Instance was created. + :rtype: ``str`` + """ + return node.extra['launch_time'] + def ex_allocate_address(self, domain='standard'): """ Allocate a new Elastic IP address for EC2 classic or VPC http://git-wip-us.apache.org/repos/asf/libcloud/blob/e513687e/libcloud/test/compute/test_digitalocean_v2.py ---------------------------------------------------------------------- diff --git a/libcloud/test/compute/test_digitalocean_v2.py b/libcloud/test/compute/test_digitalocean_v2.py index e666ce5..a4a1b01 100644 --- a/libcloud/test/compute/test_digitalocean_v2.py +++ b/libcloud/test/compute/test_digitalocean_v2.py @@ -142,6 +142,11 @@ class DigitalOcean_v2_Tests(LibcloudTestCase): result = self.driver.destroy_node(node) self.assertTrue(result) + def test_ex_get_creation_time(self): + node = self.driver.list_nodes()[0] + creation_time = self.driver.ex_get_creation_time(node) + self.assertEqual(creation_time, "2014-11-14T16:29:21Z") + def test_ex_rename_node_success(self): node = self.driver.list_nodes()[0] DigitalOceanMockHttp.type = 'RENAME' http://git-wip-us.apache.org/repos/asf/libcloud/blob/e513687e/libcloud/test/compute/test_ec2.py ---------------------------------------------------------------------- diff --git a/libcloud/test/compute/test_ec2.py b/libcloud/test/compute/test_ec2.py index b800066..243425c 100644 --- a/libcloud/test/compute/test_ec2.py +++ b/libcloud/test/compute/test_ec2.py @@ -971,6 +971,19 @@ class EC2Tests(LibcloudTestCase, TestCaseMixin): self.assertEqual(metadata['Num'], '42') self.assertEqual(len(metadata), 3) + def test_ex_get_creation_time(self): + image = NodeImage(id='ami-be3adfd8', + name=self.image_name, + driver=self.driver) + size = NodeSize('m1.small', 'Small Instance', None, None, None, None, + driver=self.driver) + node = self.driver.create_node(name='foo', + image=image, + size=size) + + creation_time = self.driver.ex_get_creation_time(node) + self.assertEqual(creation_time, '2007-08-07T11:51:50.000Z') + def test_ex_get_limits(self): limits = self.driver.ex_get_limits()