libcloud-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From anthonys...@apache.org
Subject [14/28] libcloud git commit: added new reporting functions
Date Tue, 07 Jun 2016 00:46:35 GMT
http://git-wip-us.apache.org/repos/asf/libcloud/blob/972a4f03/libcloud/compute/drivers/dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/dimensiondata.py b/libcloud/compute/drivers/dimensiondata.py
index 13a7a1c..96bfaf5 100644
--- a/libcloud/compute/drivers/dimensiondata.py
+++ b/libcloud/compute/drivers/dimensiondata.py
@@ -2271,6 +2271,96 @@ class DimensionDataNodeDriver(NodeDriver):
             tags.extend(self._to_tags(result))
         return tags
 
+    def ex_summary_usage_report(self, start_date, end_date):
+        """
+        Get summary usage information
+
+        :param start_date: Start date for the report
+        :type  start_date: ``str`` in format YYYY-MM-DD
+
+        :param end_date: End date for the report
+        :type  end_date: ``str`` in format YYYY-MM-DD
+
+        :rtype: :class:`io.StringIO`
+        """
+        result = self.connection.raw_request_with_orgId_api_1(
+            'report/usage?startDate=%s&endDate=%s' % (
+                start_date, end_date))
+        return result.response.body
+
+    def ex_detailed_usage_report(self, start_date, end_date):
+        """
+        Get detailed usage information
+
+        :param start_date: Start date for the report
+        :type  start_date: ``str`` in format YYYY-MM-DD
+
+        :param end_date: End date for the report
+        :type  end_date: ``str`` in format YYYY-MM-DD
+
+        :rtype: :class:`io.StringIO`
+        """
+        result = self.connection.raw_request_with_orgId_api_1(
+            'report/usageDetailed?startDate=%s&endDate=%s' % (
+                start_date, end_date))
+        return result.response.body
+
+    def ex_software_usage_report(self, start_date, end_date):
+        """
+        Get detailed software usage reports
+
+        :param start_date: Start date for the report
+        :type  start_date: ``str`` in format YYYY-MM-DD
+
+        :param end_date: End date for the report
+        :type  end_date: ``str`` in format YYYY-MM-DD
+
+        :rtype: :class:`io.StringIO`
+        """
+        result = self.connection.raw_request_with_orgId_api_1(
+            'report/usageSoftwareUnits?startDate=%s&endDate=%s' % (
+                start_date, end_date))
+        return result.response.body
+
+    def ex_audit_log_report(self, start_date, end_date):
+        """
+        Get audit log report
+
+        :param start_date: Start date for the report
+        :type  start_date: ``str`` in format YYYY-MM-DD
+
+        :param end_date: End date for the report
+        :type  end_date: ``str`` in format YYYY-MM-DD
+
+        :rtype: :class:`io.StringIO`
+        """
+        result = self.connection.raw_request_with_orgId_api_1(
+            'report/usageSoftwareUnits?startDate=%s&endDate=%s' % (
+                start_date, end_date))
+        return result.response.body
+
+    def ex_backup_usage_report(self, start_date, end_date, location):
+        """
+        Get audit log report
+
+        :param start_date: Start date for the report
+        :type  start_date: ``str`` in format YYYY-MM-DD
+
+        :param end_date: End date for the report
+        :type  end_date: ``str`` in format YYYY-MM-DD
+
+        :keyword location: Filters the node list to nodes that are
+                           located in this location
+        :type    location: :class:`NodeLocation` or ``str``
+
+        :rtype: :class:`io.StringIO`
+        """
+        datacenter_id = self._location_to_location_id(location)
+        result = self.connection.raw_request_with_orgId_api_1(
+            'backup/detailedUsageReport?datacenterId=%s&fromDate=%s&toDate=%s' %
+            (datacenter_id, start_date, end_date))
+        return result.response.body
+
     @staticmethod
     def _get_tagging_asset_type(asset):
         objecttype = type(asset)

http://git-wip-us.apache.org/repos/asf/libcloud/blob/972a4f03/libcloud/test/compute/fixtures/dimensiondata/detailed_usage_report.csv
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/dimensiondata/detailed_usage_report.csv b/libcloud/test/compute/fixtures/dimensiondata/detailed_usage_report.csv
new file mode 100644
index 0000000..e746b47
--- /dev/null
+++ b/libcloud/test/compute/fixtures/dimensiondata/detailed_usage_report.csv
@@ -0,0 +1,42 @@
+Name,Type,Location,Private IP
+Address,Status,"user:ATag","user:BTag","user:CTag",Start Time,End
+Time,Duration (Hours),CPU Type,CPU Count, RAM (GB), Storage (GB),Economy
+Storage (GB),CPU Hours,High Performance CPU Hours,RAM Hours,Storage
+Hours,Economy Storage Hours,Bandwidth-In (GB),Bandwidth-Out (GB),Subadmin
+Hours,Network Hours,Essentials Network Domain Hours,Advanced Network Domain
+Hours,VLAN Hours,Public IP Hours,Cloud Files Account Hours,Cloud Storage (GB)
+Server A,Server,NA1,10.162.12.16,Running,Bob,IT,,19/06/2014 04:16,19/06/2014
+11:17,7.03,Standard,1,2,10,0,7.03,0,14.05,70.27,0,0,0,0,0,0,0,0,0,0,0
+Server A,Server,NA1,10.162.12.16,Running,Bob,IT,,19/06/2014 11:17,20/06/2014
+00:00,12.71,High Performance,1,2,10,0,0,12.71,0,127.06,0,0,0,0,0,0,0,0,0,0,0
+Server B,Server,NA1,10.162.12.13,Running,Mary,IT,,19/06/2014 03:42,19/06/2014
+11:18,7.61,Essentials,1,2,10,0,0,0,15.22,76.1,0,0,0,0,0,0,0,0,0,0,0
+Server B,Server,NA1,10.162.12.13,Stopped,Mary,IT,,19/06/2014 11:18,19/06/2014
+23:18,12,Essentials,1,2,10,0,0,0,0,120,0,0,0,0,0,0,0,0,0,0,0
+Server B,Server,NA1,10.162.12.13,Stopped,Bob,IT,,19/06/2014 23:18,20/06/2014
+00:00,0.689722222,Essentials,1,2,10,0,0,0,0,6.897222223,0,0,0,0,0,0,0,0,0,0,0
+Customer Image A,Image,NA1,,Running,Bob,IT,,19/06/2014 03:30,20/06/2014
+00:00,20.5,,0,0,10,0,0,0,0,205,0,0,0,0,0,0,0,0,0,0,0
+Customer Image B,Image,NA1,,Running,Bob,IT,,19/06/2014 03:10,19/06/2014
+03:12,0.04,,0,0,10,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0
+Joseph_F,Sub-Administrator,,,Running,Bob,IT,,19/06/2014 00:00,20/06/2014
+00:00,24,,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0
+Lguy,Sub-Administrator,,,Running,Mary,IT,,19/06/2014 00:00,20/06/2014
+00:00,24,,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0
+a network,Network,NA1,,Running,,IT,,19/06/2014 01:39,20/06/2014
+00:00,22.34,,0,0,0,0,0,0,0,0,0,0,0.9,0,22.34,0,0,0,0,0,0
+b network,Network,NA1,,Running,,IT,,19/06/2014 01:49,20/06/2014
+00:00,22.18,,0,0,0,0,0,0,0,0,0,0,7.1,0,22.18,0,0,0,0,0,0
+Rick's Network Domain,Network Domain,NA9,,Running,Bob,IT,,19/06/2014
+04:19,20/06/2014 00:00,19.68,,0,0,0,0,0,0,0,0,0,0,7.1,0,22.18,19.68,0,0,0,0,0
+Rick's VLAN,VLAN,NA9,,Running,Bob,IT,,19/06/2014 04:22,20/06/2014
+00:00,19.63,,0,0,0,0,0,0,0,0,0,0,0,0,22.18,0,0,19.63,0,0,0
+files1_koala,Cloud Files,,,Running,,IT,,19/06/2014 00:00,20/06/2014
+00:00,24,,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0,0,24,52
+testbed,Cloud Files,,,Running,,IT,,19/06/2014 00:00,20/06/2014
+00:00,24,,0,0,0,0,0,0,0,0,0,0,0.01,0,0,0,0,0,0,24,100
+Network: b network IP Block:
+168.143.92.136(4),IpBlock,NA1,,Reserved,Mary,IT,,19/06/2014 11:47,20/06/2014 
+00:00,12.2,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48.82,0,0
+TOTAL for 19/06/14,,,,,,,,19/06/2014 00:00,20/06/2014
+00:00,24,,0,0,0,0,8,13,30,606,0,3,23,48,89,20,0,20,49,48,152
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/972a4f03/libcloud/test/compute/fixtures/dimensiondata/summary_usage_report.csv
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/dimensiondata/summary_usage_report.csv b/libcloud/test/compute/fixtures/dimensiondata/summary_usage_report.csv
new file mode 100644
index 0000000..e4b78e0
--- /dev/null
+++ b/libcloud/test/compute/fixtures/dimensiondata/summary_usage_report.csv
@@ -0,0 +1,13 @@
+DAY,Location,CPU Hours,RAM Hours,Storage Hours,Performance Storage
+Hours,Bandwidth In,Bandwidth Out,Sub-Admin Hours,Network Hours,Public IP
+Hours,Cloud Files Account Hours,Cloud Files (GB Days),Software
+Units,Essentials Client Days,Advanced Client Days,Enterprise Client
+Days,Essentials Backups (GB),Advanced Backups (GB),Enterprise Backups (GB)
+01/01/2013,NA1,144,288,3360,264,0,0,72,24,0,0,0,0,0,0,0,0,0,0
+02/01/2013,NA1,144,288,3360,264,0,0,72,24,0,0,0,0,0,0,0,0,0,0
+03/01/2013,NA1,144,288,3360,264,0,0,72,24,0,0,0,0,0,0,0,0,0,0
+04/01/2013,NA1,144,288,3360,264,0,0,72,24,0,0,0,0,0,0,0,0,0,0
+05/01/2013,NA1,144,288,3360,264,0,0,72,24,0,0,0,0,0,0,0,0,0,0
+06/01/2013,NA1,172,344,3958,264,0,0,72,24,0,0,0,0,0,0,0,0,0,0
+07/01/2013,NA1,205,410,4783,264,0,0,72,24,0,0,0,0,0,0,0,0,0,0
+08/01/2013,NA1,216,432,5136,264,0,0,72,24,0,0,0,0,0,0,0,0,0,0
\ No newline at end of file


Mime
View raw message