You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2015/05/03 02:38:35 UTC
[1/5] libcloud git commit: Add tests for Softlayer loadbalancer driver
Repository: libcloud
Updated Branches:
refs/heads/trunk 717f7bba7 -> c94ded833
http://git-wip-us.apache.org/repos/asf/libcloud/blob/5d7b1d84/libcloud/test/loadbalancer/test_softlayer.py
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/test_softlayer.py b/libcloud/test/loadbalancer/test_softlayer.py
new file mode 100644
index 0000000..90499be
--- /dev/null
+++ b/libcloud/test/loadbalancer/test_softlayer.py
@@ -0,0 +1,190 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import sys
+import unittest
+
+from libcloud.utils.py3 import httplib
+from libcloud.utils.py3 import xmlrpclib
+
+from libcloud.compute.base import NodeLocation
+from libcloud.loadbalancer.base import Member, Algorithm
+from libcloud.loadbalancer.drivers.softlayer import SoftlayerLBDriver
+from libcloud.loadbalancer.types import State
+
+from libcloud.test import MockHttpTestCase
+from libcloud.test.secrets import SOFTLAYER_PARAMS
+from libcloud.test.file_fixtures import LoadBalancerFileFixtures
+
+
+class SoftlayerLBTests(unittest.TestCase):
+ def setUp(self):
+
+ SoftlayerLBDriver.connectionCls.conn_classes = (SoftLayerMockHttp,
+ SoftLayerMockHttp)
+ SoftLayerMockHttp.type = None
+
+ self.driver = SoftlayerLBDriver(*SOFTLAYER_PARAMS)
+
+ def test_list_protocols(self):
+ protocols = self.driver.list_protocols()
+
+ self.assertEqual(len(protocols), 6)
+ self.assertTrue('tcp' in protocols)
+ self.assertTrue('http' in protocols)
+
+ def test_list_balancers(self):
+ balancers = self.driver.list_balancers()
+
+ self.assertEqual(len(balancers), 2)
+ self.assertEqual(balancers[0].id, '76185')
+ self.assertEqual(balancers[0].extra['datacenter'], 'dal05')
+ self.assertEqual(balancers[0].extra['connection_limit'], 50)
+ self.assertEqual(balancers[1].id, '76265')
+ self.assertEqual(balancers[1].extra['datacenter'], 'par01')
+ self.assertEqual(balancers[1].extra['connection_limit'], 50)
+
+ def test_get_balancer(self):
+ balancer = self.driver.get_balancer(balancer_id='76185')
+
+ self.assertEqual(balancer.id, '76185')
+ self.assertEqual(balancer.state, State.UNKNOWN)
+ self.assertEqual(balancer.extra['datacenter'], 'dal05')
+ self.assertEqual(balancer.extra['protocol'], 'http')
+ self.assertEqual(balancer.extra['algorithm'], Algorithm.ROUND_ROBIN)
+
+ def test_balancer_list_members(self):
+ balancer = self.driver.get_balancer(balancer_id='76185')
+ members = balancer.list_members()
+
+ self.assertEqual(len(members), 3)
+ self.assertEqual(members[0].balancer, balancer)
+ self.assertEqual(members[0].id, '226227')
+ self.assertEqual(members[0].ip, '10.126.5.34')
+ self.assertEqual(members[1].balancer, balancer)
+ self.assertEqual(members[1].id, '226229')
+ self.assertEqual(members[1].ip, '10.126.5.35')
+
+ def test_balancer_attach_member(self):
+ balancer = self.driver.get_balancer(balancer_id='76185')
+ member = balancer.attach_member(Member(None, ip='10.126.5.34',
+ port=8000))
+
+ self.assertEqual(member.id, '226227')
+ self.assertEqual(member.ip, '10.126.5.34')
+ self.assertEqual(member.port, 8000)
+
+ def test_balancer_detach_member(self):
+ balancer = self.driver.get_balancer(balancer_id='76265')
+ member = Member('226227', None, None)
+
+ self.assertTrue(balancer.detach_member(member))
+
+ def test_destroy_balancer(self):
+ balancer = self.driver.get_balancer(balancer_id='76185')
+
+ self.assertTrue(self.driver.destroy_balancer(balancer))
+
+ def test_ex_list_balancer_packages(self):
+ packages = self.driver.ex_list_balancer_packages()
+ self.assertEqual(len(packages), 9)
+
+ def test_ex_place_balancer_order(self):
+ packages = self.driver.ex_list_balancer_packages()
+ lb_package = [p for p in packages if p.capacity == 50][0]
+
+ self.assertTrue(self.driver.ex_place_balancer_order(
+ lb_package, NodeLocation('dal05', None, None, None)))
+
+
+class SoftLayerMockHttp(MockHttpTestCase):
+ fixtures = LoadBalancerFileFixtures('softlayer')
+
+ def _get_method_name(self, type, use_param, qs, path):
+ return "_xmlrpc"
+
+ def _xmlrpc(self, method, url, body, headers):
+ params, meth_name = xmlrpclib.loads(body)
+ url = url.replace("/", "_")
+ meth_name = "%s_%s" % (url, meth_name)
+ return getattr(self, meth_name)(method, url, body, headers)
+
+ def _xmlrpc_v3_SoftLayer_Account_getAdcLoadBalancers(
+ self, method, url, body, headers):
+ body = self.fixtures.load(
+ 'v3__SoftLayer_Account_getAdcLoadBalancers.xml')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _xmlrpc_v3_SoftLayer_Billing_Item_cancelService(self, method, url,
+ body, headers):
+ body = self.fixtures.load(
+ 'v3__SoftLayer_Billing_Item_cancelService.xml')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _xmlrpc_v3_SoftLayer_Location_Datacenter_getDatacenters(
+ self, method, url, body, headers):
+ body = self.fixtures.load(
+ 'v3__SoftLayer_Location_Datacenter_getDatacenters.xml')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _xmlrpc_v3_SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service_deleteObject(
+ self, method, url, body, headers):
+ body = self.fixtures.load(
+ 'v3__SoftLayer_Network_Application_Delivery_Controller_'
+ 'LoadBalancer_Service_deleteObject.xml')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _xmlrpc_v3_SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_editObject(
+ self, method, url, body, headers):
+ body = self.fixtures.load(
+ 'v3__SoftLayer_Network_Application_Delivery_Controller_'
+ 'LoadBalancer_VirtualIpAddress_editObject.xml')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _xmlrpc_v3_SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_getBillingItem(
+ self, method, url, body, headers):
+ body = self.fixtures.load(
+ 'v3__SoftLayer_Network_Application_Delivery_Controller_'
+ 'LoadBalancer_VirtualIpAddress_getBillingItem.xml')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _xmlrpc_v3_SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_getObject(
+ self, method, url, body, headers):
+ body = self.fixtures.load(
+ 'v3__SoftLayer_Network_Application_Delivery_Controller_'
+ 'LoadBalancer_VirtualIpAddress_getObject.xml')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _xmlrpc_v3_SoftLayer_Network_Subnet_IpAddress_getByIpAddress(
+ self, method, url, body, headers):
+ body = self.fixtures.load(
+ 'v3__SoftLayer_Network_Subnet_IpAddress_getByIpAddress.xml')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _xmlrpc_v3_SoftLayer_Product_Order_placeOrder(self, method, url, body,
+ headers):
+ body = self.fixtures.load(
+ 'v3__SoftLayer_Product_Order_placeOrder.xml')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _xmlrpc_v3_SoftLayer_Product_Package_getItems(self, method, url, body,
+ headers):
+ body = self.fixtures.load(
+ 'v3__SoftLayer_Product_Package_getItems.xml')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+
+if __name__ == "__main__":
+ sys.exit(unittest.main())
[5/5] libcloud git commit: Update test requirements file.`
Posted by to...@apache.org.
Update test requirements file.`
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/c94ded83
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/c94ded83
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/c94ded83
Branch: refs/heads/trunk
Commit: c94ded83390411f67edc771a7091f78af83081dc
Parents: 5d7b1d8
Author: Tomaz Muraus <to...@tomaz.me>
Authored: Sat May 2 17:34:54 2015 -0700
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Sat May 2 17:34:54 2015 -0700
----------------------------------------------------------------------
requirements-tests.txt | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/c94ded83/requirements-tests.txt
----------------------------------------------------------------------
diff --git a/requirements-tests.txt b/requirements-tests.txt
index 2e3a610..ed675cc 100644
--- a/requirements-tests.txt
+++ b/requirements-tests.txt
@@ -1,2 +1,3 @@
pep8>=1.6.2,<1.7
flake8>=2.3.0,<2.4
+mock>=1.0.1,<1.1
[2/5] libcloud git commit: Add tests for Softlayer loadbalancer driver
Posted by to...@apache.org.
http://git-wip-us.apache.org/repos/asf/libcloud/blob/5d7b1d84/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Product_Package_getItems.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Product_Package_getItems.xml b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Product_Package_getItems.xml
new file mode 100644
index 0000000..235761a
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Product_Package_getItems.xml
@@ -0,0 +1,5448 @@
+<?xml version="1.0" encoding="utf-8"?>
+<params>
+<param>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Citrix VDC</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>1148</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>CITRIX_VDC</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>24912</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>1148</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>65000</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Load Balancer (Dedicated, with SSL offload) - 15,000 Connections</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>4136</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>LOAD_BALANCER_DEDICATED_WITH_SSL_OFFLOAD_15000_CONNECTIONS</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>25314</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>4136</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>849</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>200</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Citrix NetScaler VPX 10.5 200Mbps Platinum</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>5916</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>CITRIX_NETSCALER_VPX_10_5_200MBPS_PLATINUM</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <int>1378</int>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>Mbps</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>44970</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>5916</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>899</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>64</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>/64 Block Static Public IPv6 Addresses</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>784</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>64_BLOCK_STATIC_PUBLIC_IPV6_ADDRESSES</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>hourlyRecurringFee</name>
+ <value>
+ <string>.007</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>26340</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>784</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>10</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>4</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>.info - 4 year</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>4007</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>DOMAIN_INFO_4_YEAR</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>26584</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>4007</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>38.48</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>3</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>50</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Load Balancer 50 connections</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>565</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>LOAD_BALANCER_50_CONNECTIONS</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>Connections/Second</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <int>567</int>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>33021</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>565</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>29</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Reseller Domain Credit</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>4065</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>162</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>RESELLER_DOMAIN_CREDIT</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>27728</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>4065</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>10</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>250</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>CDN 250 GB Bandwidth</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>892</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>CDN_250_GB_BANDWIDTH</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>GB</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>27770</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>892</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>20</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>10</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>3</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>.biz - 3 year</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>3995</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>DOMAIN_BIZ_3_YEAR</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>29940</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>3995</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>33</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Dedicated Rack (Half)</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>1302</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>DEDICATED_RACK_HALF</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>31299</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>1302</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>1100</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>1000</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Load Balancer 1,000 connections</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>566</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>LOAD_BALANCER_1000_CONNECTIONS</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>Connections/Second</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <int>571</int>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>31322</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>566</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>499</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>5</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>.info - 5 year</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>4023</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>DOMAIN_INFO_5_YEAR</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>31340</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>4023</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>48.1</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>4</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>7</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>.us - 7 year</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>3999</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>DOMAIN_US_7_YEAR</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>32381</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>3999</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>57.33</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>6</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Windows 2008 Datacenter w/ Unlimited Virtuals (2 Proc License)</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>791</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>VIRTUAL_OS_WINDOWS_2008_DATACENTER_W_UNLIMITED_VIRTUALS_2_PROC_LICENSE</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <int>723</int>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>32695</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>791</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>127.5</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>250</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Load Balancer 250 VIP Connections</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>1106</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>LOAD_BALANCER_250_VIP_CONNECTIONS</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>Connections/Second</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <int>1105</int>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>33908</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>1106</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>29</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>1500</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>1500GB EVault Disk to Disk Enterprise Backup</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>4185</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>EVAULT_1500_GB</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <int>159</int>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>GIGABYTE</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <int>955</int>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>34594</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>4185</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>543.75</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>65000</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Dedicated Load Balancer with High Availability and SSL - 15,000 Connections</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>4512</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>DEDICATED_LOAD_BALANCER_WITH_HIGH_AVAILABILITY_AND_SSL_15000_CONNECTIONS</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>36019</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>4512</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>1698</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>10</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Citrix NetScaler VPX 10.5 10Mbps Platinum</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>5912</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>CITRIX_NETSCALER_VPX_10_5_10MBPS_PLATINUM</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <int>1374</int>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>Mbps</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>44950</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>5912</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>459</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>EVault Plugin - VMWare ESX</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>1087</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>EVAULT_PLUGIN_VMWARE_ESX</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <int>635</int>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>23040</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>1087</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>8.5</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>8</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>8 Static Public IP Addresses</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>583</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>8_STATIC_PUBLIC_IP_ADDRESSES</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>hourlyRecurringFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>36692</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>583</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>29583</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>583</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>8</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>31207</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>583</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>8</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>hourlyRecurringFee</name>
+ <value>
+ <string>.007</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>23392</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>583</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>2000</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Load Balancer 2,000 connections</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>617</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>LOAD_BALANCER_2000_CONNECTIONS</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>Connections/Second</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <int>618</int>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>23794</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>617</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>999</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>3</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>.us - 3 year</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>4011</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>DOMAIN_US_3_YEAR</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>24083</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>4011</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>24.57</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>2</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>FortiGate Security Appliance (High Availability)</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>4338</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>FORTIGATE_SECURITY_APPLIANCE_HIGH_AVAILABILITY</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>24741</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>4338</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>1699</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>100000</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Advanced Package</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>3859</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>NETWORK_MESSAGE_DELIVERY_ADVANCED_PACKAGE</string>
+ </value>
+ </member>
+ <member>
+ <name>longDescription</name>
+ <value>
+ <string><ul> <li>Overage - $0.00085</li> <li>Bounce Tracking</li> <li>Unsub Tracking</li> <li>Click Tracking</li> <li>Open Tracking</li> <li>Dedicated IP</li> </ul></string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>24995</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>3859</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>36</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Global IPv6</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>4187</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>GLOBAL_IPV6</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>25282</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>4187</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>20</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>10</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>CDN Pay as You Go Bandwidth</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>891</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>CDN_PAY_AS_YOU_GO_BANDWIDTH</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>GB</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>25482</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>891</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>5</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>2</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>.net - 2 year</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>4001</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>DOMAIN_NET_2_YEAR</string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>N/A</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>25495</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>4001</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>22</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>1</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>QuickSSL Premium - 1 year</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>1293</int>
+ </value>
+ </member>
+ <member>
+ <name>itemTaxCategoryId</name>
+ <value>
+ <int>166</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>SSL_CERTIFICATE_QUICKSSL_PREMIUM_1_YEAR</string>
+ </value>
+ </member>
+ <member>
+ <name>longDescription</name>
+ <value>
+ <string><h3>GeoTrust QuickSSL&reg; Premium SSL</h3> <p> GeoTrust QuickSSL Premium Certificates are convenient and economical entry-level SSL Certificates. These certificates enable up to 256-bit encryption (depending on your client's browser capability and the cipher suite installed on your Web server) and are issued through an automated process that usually results in certificates being issued within minutes of being ordered. This process verifies that a certificate purchaser has appropriate administrative rights to a Web server's domain. </p> <h3>Features and Benefits</h3> <ul> <li>Domain-level authentication</li> <li>Up to 256-bit encryption</li> <li>True Site Seal embedded with a date/time stamp</li> <li>Issuance, often within minutes</li>
; <li>Unlimited, free self-service reissues</li> </ul></string>
+ </value>
+ </member>
+ <member>
+ <name>softwareDescriptionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>DV</string>
+ </value>
+ </member>
+ <member>
+ <name>upgradeItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>currentPriceFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>25847</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>1293</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>onSaleFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>79</string>
+ </value>
+ </member>
+ <member>
+ <name>sort</name>
+ <value>
+ <int>3</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>2</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Hardw
<TRUNCATED>
[3/5] libcloud git commit: Add tests for Softlayer loadbalancer driver
Posted by to...@apache.org.
http://git-wip-us.apache.org/repos/asf/libcloud/blob/5d7b1d84/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Product_Order_placeOrder.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Product_Order_placeOrder.xml b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Product_Order_placeOrder.xml
new file mode 100644
index 0000000..3cc4b9c
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Product_Order_placeOrder.xml
@@ -0,0 +1,709 @@
+<?xml version="1.0" encoding="utf-8"?>
+<params>
+<param>
+ <value>
+ <struct>
+ <member>
+ <name>orderDate</name>
+ <value>
+ <string>2015-04-24T15:19:20+02:00</string>
+ </value>
+ </member>
+ <member>
+ <name>orderId</name>
+ <value>
+ <int>4320271</int>
+ </value>
+ </member>
+ <member>
+ <name>orderDetails</name>
+ <value>
+ <struct>
+ <member>
+ <name>bigDataOrderFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>billingOrderItemId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>containerSplHash</name>
+ <value>
+ <string>00000000</string>
+ </value>
+ </member>
+ <member>
+ <name>currencyShortName</name>
+ <value>
+ <string>USD</string>
+ </value>
+ </member>
+ <member>
+ <name>extendedHardwareTesting</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>imageTemplateId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>isManagedOrder</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ <member>
+ <name>location</name>
+ <value>
+ <string>265592</string>
+ </value>
+ </member>
+ <member>
+ <name>message</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>packageId</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ <member>
+ <name>paymentType</name>
+ <value>
+ <string>ADD_TO_BALANCE</string>
+ </value>
+ </member>
+ <member>
+ <name>postTaxRecurring</name>
+ <value>
+ <string>29</string>
+ </value>
+ </member>
+ <member>
+ <name>postTaxRecurringHourly</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>postTaxRecurringMonthly</name>
+ <value>
+ <string>29</string>
+ </value>
+ </member>
+ <member>
+ <name>postTaxSetup</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>preTaxRecurring</name>
+ <value>
+ <string>29</string>
+ </value>
+ </member>
+ <member>
+ <name>preTaxRecurringHourly</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>preTaxRecurringMonthly</name>
+ <value>
+ <string>29</string>
+ </value>
+ </member>
+ <member>
+ <name>preTaxSetup</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>presetId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>primaryDiskPartitionId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>privateCloudOrderFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>proratedInitialCharge</name>
+ <value>
+ <string>6.77</string>
+ </value>
+ </member>
+ <member>
+ <name>proratedOrderTotal</name>
+ <value>
+ <string>6.77</string>
+ </value>
+ </member>
+ <member>
+ <name>quantity</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ <member>
+ <name>resourceGroupId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>resourceGroupTemplateId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>sendQuoteEmailFlag</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>serverCoreCount</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>sourceVirtualGuestId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>stepId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>taxCacheHash</name>
+ <value>
+ <string>b94c43e22aeaedb3dc4</string>
+ </value>
+ </member>
+ <member>
+ <name>taxCompletedFlag</name>
+ <value>
+ <boolean>1</boolean>
+ </value>
+ </member>
+ <member>
+ <name>totalRecurringTax</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>totalSetupTax</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>useHourlyPricing</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>billingInformation</name>
+ <value>
+ <struct>
+ <member>
+ <name>billingAddressLine1</name>
+ <value>
+ <string>University</string>
+ </value>
+ </member>
+ <member>
+ <name>billingCity</name>
+ <value>
+ <string>Haifa</string>
+ </value>
+ </member>
+ <member>
+ <name>billingCountryCode</name>
+ <value>
+ <string>IL</string>
+ </value>
+ </member>
+ <member>
+ <name>billingEmail</name>
+ <value>
+ <string>someone@com</string>
+ </value>
+ </member>
+ <member>
+ <name>billingNameCompany</name>
+ <value>
+ <string>IBM</string>
+ </value>
+ </member>
+ <member>
+ <name>billingNameFirst</name>
+ <value>
+ <string>Foo </string>
+ </value>
+ </member>
+ <member>
+ <name>billingNameLast</name>
+ <value>
+ <string>Bar</string>
+ </value>
+ </member>
+ <member>
+ <name>billingPhoneVoice</name>
+ <value>
+ <string>972-4-44444</string>
+ </value>
+ </member>
+ <member>
+ <name>billingPostalCode</name>
+ <value>
+ <string>0000</string>
+ </value>
+ </member>
+ <member>
+ <name>billingState</name>
+ <value>
+ <string>OT</string>
+ </value>
+ </member>
+ <member>
+ <name>cardExpirationMonth</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>cardExpirationYear</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>taxExempt</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ <member>
+ <name>itemCategoryQuestionAnswers</name>
+ <value>
+ <array>
+ <data/>
+ </array>
+ </value>
+ </member>
+ <member>
+ <name>locationObject</name>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>265592</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Amsterdam 1</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>ams01</string>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ <member>
+ <name>prices</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>33021</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>565</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>29</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>categories</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>categoryCode</name>
+ <value>
+ <string>proxy_load_balancer</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>55</int>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>Proxy Load Balancer</string>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ <member>
+ <name>item</name>
+ <value>
+ <struct>
+ <member>
+ <name>capacity</name>
+ <value>
+ <string>50</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Load Balancer 50 connections</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>565</int>
+ </value>
+ </member>
+ <member>
+ <name>keyName</name>
+ <value>
+ <string>LOAD_BALANCER_50_CONNECTIONS</string>
+ </value>
+ </member>
+ <member>
+ <name>units</name>
+ <value>
+ <string>Connections/Second</string>
+ </value>
+ </member>
+ <member>
+ <name>bundle</name>
+ <value>
+ <array>
+ <data/>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ <member>
+ <name>properties</name>
+ <value>
+ <array>
+ <data/>
+ </array>
+ </value>
+ </member>
+ <member>
+ <name>sshKeys</name>
+ <value>
+ <array>
+ <data/>
+ </array>
+ </value>
+ </member>
+ <member>
+ <name>storageGroups</name>
+ <value>
+ <array>
+ <data/>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ <member>
+ <name>placedOrder</name>
+ <value>
+ <struct>
+ <member>
+ <name>accountId</name>
+ <value>
+ <int>411826</int>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>4320271</int>
+ </value>
+ </member>
+ <member>
+ <name>orderQuoteId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>orderTypeId</name>
+ <value>
+ <int>4</int>
+ </value>
+ </member>
+ <member>
+ <name>presaleEventId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>status</name>
+ <value>
+ <string>PENDING_AUTO_APPROVAL</string>
+ </value>
+ </member>
+ <member>
+ <name>userRecordId</name>
+ <value>
+ <int>315282</int>
+ </value>
+ </member>
+ <member>
+ <name>account</name>
+ <value>
+ <struct>
+ <member>
+ <name>brandId</name>
+ <value>
+ <int>30130</int>
+ </value>
+ </member>
+ <member>
+ <name>companyName</name>
+ <value>
+ <string>IBM</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>411826</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ <member>
+ <name>items</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>categoryCode</name>
+ <value>
+ <string>proxy_load_balancer</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Load Balancer 50 connections</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>65021573</int>
+ </value>
+ </member>
+ <member>
+ <name>itemId</name>
+ <value>
+ <int>565</int>
+ </value>
+ </member>
+ <member>
+ <name>itemPriceId</name>
+ <value>
+ <string>33021</string>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>parentId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>promoCodeId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>29</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>children</name>
+ <value>
+ <array>
+ <data/>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ <member>
+ <name>userRecord</name>
+ <value>
+ <struct>
+ <member>
+ <name>accountId</name>
+ <value>
+ <int>00000</int>
+ </value>
+ </member>
+ <member>
+ <name>firstName</name>
+ <value>
+ <string>Foo</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>00000</int>
+ </value>
+ </member>
+ <member>
+ <name>lastName</name>
+ <value>
+ <string>Foo</string>
+ </value>
+ </member>
+ <member>
+ <name>username</name>
+ <value>
+ <string>foo</string>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ </struct>
+ </value>
+</param>
+</params>
[4/5] libcloud git commit: Add tests for Softlayer loadbalancer driver
Posted by to...@apache.org.
Add tests for Softlayer loadbalancer driver
Signed-off-by: Tomaz Muraus <to...@tomaz.me>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/5d7b1d84
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/5d7b1d84
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/5d7b1d84
Branch: refs/heads/trunk
Commit: 5d7b1d84fa421b942cadd82f7177ed01109eff6e
Parents: 717f7bb
Author: Avi Weit <we...@il.ibm.com>
Authored: Fri Apr 24 14:35:22 2015 +0000
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Sat May 2 17:31:06 2015 -0700
----------------------------------------------------------------------
.../softlayer/ex_place_balancer_order.py | 2 +-
...3__SoftLayer_Account_getAdcLoadBalancers.xml | 802 +++
...v3__SoftLayer_Billing_Item_cancelService.xml | 8 +
...Layer_Location_Datacenter_getDatacenters.xml | 683 +++
...roller_LoadBalancer_Service_deleteObject.xml | 8 +
...LoadBalancer_VirtualIpAddress_editObject.xml | 8 +
...Balancer_VirtualIpAddress_getBillingItem.xml | 147 +
..._LoadBalancer_VirtualIpAddress_getObject.xml | 803 +++
..._Network_Subnet_IpAddress_getByIpAddress.xml | 148 +
.../v3__SoftLayer_Product_Order_placeOrder.xml | 709 +++
.../v3__SoftLayer_Product_Package_getItems.xml | 5448 ++++++++++++++++++
libcloud/test/loadbalancer/test_softlayer.py | 190 +
12 files changed, 8955 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/5d7b1d84/docs/examples/loadbalancer/softlayer/ex_place_balancer_order.py
----------------------------------------------------------------------
diff --git a/docs/examples/loadbalancer/softlayer/ex_place_balancer_order.py b/docs/examples/loadbalancer/softlayer/ex_place_balancer_order.py
index 60cd42d..ad92199 100644
--- a/docs/examples/loadbalancer/softlayer/ex_place_balancer_order.py
+++ b/docs/examples/loadbalancer/softlayer/ex_place_balancer_order.py
@@ -21,4 +21,4 @@ lb_package = [p for p in packages if p.capacity == CAPACITY][0]
driver.ex_place_balancer_order(lb_package,
NodeLocation(DATACENTER, None, None, None))
-print('Successfully submitted oder request, from package' % (lb_package))
+print('Successfully submitted oder request, from package %s' % (lb_package))
http://git-wip-us.apache.org/repos/asf/libcloud/blob/5d7b1d84/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Account_getAdcLoadBalancers.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Account_getAdcLoadBalancers.xml b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Account_getAdcLoadBalancers.xml
new file mode 100644
index 0000000..3b29fc1
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Account_getAdcLoadBalancers.xml
@@ -0,0 +1,802 @@
+<?xml version="1.0" encoding="utf-8"?>
+<params>
+<param>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>accountId</name>
+ <value>
+ <int>411826</int>
+ </value>
+ </member>
+ <member>
+ <name>connectionLimit</name>
+ <value>
+ <int>50</int>
+ </value>
+ </member>
+ <member>
+ <name>connectionLimitUnits</name>
+ <value>
+ <string>connections/second</string>
+ </value>
+ </member>
+ <member>
+ <name>dedicatedFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>76185</int>
+ </value>
+ </member>
+ <member>
+ <name>ipAddressId</name>
+ <value>
+ <int>7303289</int>
+ </value>
+ </member>
+ <member>
+ <name>securityCertificateId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>sslActiveFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>sslEnabledFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>highAvailabilityFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>ipAddress</name>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>7303289</int>
+ </value>
+ </member>
+ <member>
+ <name>ipAddress</name>
+ <value>
+ <string>108.168.157.130</string>
+ </value>
+ </member>
+ <member>
+ <name>isBroadcast</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isGateway</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isNetwork</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isReserved</name>
+ <value>
+ <boolean>1</boolean>
+ </value>
+ </member>
+ <member>
+ <name>note</name>
+ <value>
+ <string>Load balancer VIP</string>
+ </value>
+ </member>
+ <member>
+ <name>subnetId</name>
+ <value>
+ <int>406030</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ <member>
+ <name>loadBalancerHardware</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>accountId</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ <member>
+ <name>bareMetalInstanceFlag</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ <member>
+ <name>domain</name>
+ <value>
+ <string>softlayer.com</string>
+ </value>
+ </member>
+ <member>
+ <name>fullyQualifiedDomainName</name>
+ <value>
+ <string>lb04.dal05.softlayer.com</string>
+ </value>
+ </member>
+ <member>
+ <name>hardwareStatusId</name>
+ <value>
+ <int>5</int>
+ </value>
+ </member>
+ <member>
+ <name>hostname</name>
+ <value>
+ <string>lb04.dal05</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>178860</int>
+ </value>
+ </member>
+ <member>
+ <name>notes</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>provisionDate</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>serviceProviderId</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ <member>
+ <name>serviceProviderResourceId</name>
+ <value>
+ <int>178860</int>
+ </value>
+ </member>
+ <member>
+ <name>datacenter</name>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>138124</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Dallas 5</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>dal05</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ <member>
+ <name>virtualServers</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>allocation</name>
+ <value>
+ <int>100</int>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>132193</int>
+ </value>
+ </member>
+ <member>
+ <name>port</name>
+ <value>
+ <int>80</int>
+ </value>
+ </member>
+ <member>
+ <name>routingMethodId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>virtualIpAddressId</name>
+ <value>
+ <int>76185</int>
+ </value>
+ </member>
+ <member>
+ <name>serviceGroups</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>131113</int>
+ </value>
+ </member>
+ <member>
+ <name>routingMethodId</name>
+ <value>
+ <int>10</int>
+ </value>
+ </member>
+ <member>
+ <name>routingTypeId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ <member>
+ <name>timeout</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>routingMethod</name>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>10</int>
+ </value>
+ </member>
+ <member>
+ <name>keyname</name>
+ <value>
+ <string>ROUND_ROBIN</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>Round Robin</string>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ <member>
+ <name>routingType</name>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ <member>
+ <name>keyname</name>
+ <value>
+ <string>HTTP</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>HTTP</string>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ <member>
+ <name>services</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>enabled</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>221145</int>
+ </value>
+ </member>
+ <member>
+ <name>ipAddressId</name>
+ <value>
+ <int>33499201</int>
+ </value>
+ </member>
+ <member>
+ <name>notes</name>
+ <value>
+ <string>inst-test-276a.example.com</string>
+ </value>
+ </member>
+ <member>
+ <name>port</name>
+ <value>
+ <int>8080</int>
+ </value>
+ </member>
+ <member>
+ <name>status</name>
+ <value>
+ <string>DOWN</string>
+ </value>
+ </member>
+ <member>
+ <name>ipAddress</name>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>33499201</int>
+ </value>
+ </member>
+ <member>
+ <name>ipAddress</name>
+ <value>
+ <string>75.126.161.106</string>
+ </value>
+ </member>
+ <member>
+ <name>isBroadcast</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isGateway</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isNetwork</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isReserved</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>subnetId</name>
+ <value>
+ <int>22958</int>
+ </value>
+ </member>
+ <member>
+ <name>subnet</name>
+ <value>
+ <struct>
+ <member>
+ <name>broadcastAddress</name>
+ <value>
+ <string>75.126.161.111</string>
+ </value>
+ </member>
+ <member>
+ <name>cidr</name>
+ <value>
+ <int>29</int>
+ </value>
+ </member>
+ <member>
+ <name>gateway</name>
+ <value>
+ <string>75.126.161.105</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>22958</int>
+ </value>
+ </member>
+ <member>
+ <name>isCustomerOwned</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isCustomerRoutable</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>modifyDate</name>
+ <value>
+ <string>2015-04-19T03:04:09+02:00</string>
+ </value>
+ </member>
+ <member>
+ <name>netmask</name>
+ <value>
+ <string>255.255.255.248</string>
+ </value>
+ </member>
+ <member>
+ <name>networkIdentifier</name>
+ <value>
+ <string>75.126.161.104</string>
+ </value>
+ </member>
+ <member>
+ <name>networkVlanId</name>
+ <value>
+ <int>815621</int>
+ </value>
+ </member>
+ <member>
+ <name>sortOrder</name>
+ <value>
+ <string>4</string>
+ </value>
+ </member>
+ <member>
+ <name>subnetType</name>
+ <value>
+ <string>PRIMARY</string>
+ </value>
+ </member>
+ <member>
+ <name>totalIpAddresses</name>
+ <value>
+ <int>8</int>
+ </value>
+ </member>
+ <member>
+ <name>usableIpAddressCount</name>
+ <value>
+ <int>5</int>
+ </value>
+ </member>
+ <member>
+ <name>version</name>
+ <value>
+ <int>4</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>accountId</name>
+ <value>
+ <int>411826</int>
+ </value>
+ </member>
+ <member>
+ <name>connectionLimit</name>
+ <value>
+ <int>50</int>
+ </value>
+ </member>
+ <member>
+ <name>connectionLimitUnits</name>
+ <value>
+ <string>connections/second</string>
+ </value>
+ </member>
+ <member>
+ <name>dedicatedFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>76265</int>
+ </value>
+ </member>
+ <member>
+ <name>ipAddressId</name>
+ <value>
+ <int>25808370</int>
+ </value>
+ </member>
+ <member>
+ <name>securityCertificateId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>sslActiveFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>sslEnabledFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>highAvailabilityFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>ipAddress</name>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>25808370</int>
+ </value>
+ </member>
+ <member>
+ <name>ipAddress</name>
+ <value>
+ <string>159.8.117.72</string>
+ </value>
+ </member>
+ <member>
+ <name>isBroadcast</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isGateway</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isNetwork</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isReserved</name>
+ <value>
+ <boolean>1</boolean>
+ </value>
+ </member>
+ <member>
+ <name>note</name>
+ <value>
+ <string>Load balancer VIP</string>
+ </value>
+ </member>
+ <member>
+ <name>subnetId</name>
+ <value>
+ <int>717366</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ <member>
+ <name>loadBalancerHardware</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>accountId</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ <member>
+ <name>bareMetalInstanceFlag</name>
+ <value>
+ <int>0</int>
+ </value>
+ </member>
+ <member>
+ <name>domain</name>
+ <value>
+ <string>softlayer.com</string>
+ </value>
+ </member>
+ <member>
+ <name>fullyQualifiedDomainName</name>
+ <value>
+ <string>lb01.par01.softlayer.com</string>
+ </value>
+ </member>
+ <member>
+ <name>hardwareStatusId</name>
+ <value>
+ <int>5</int>
+ </value>
+ </member>
+ <member>
+ <name>hostname</name>
+ <value>
+ <string>lb01.par01</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>390016</int>
+ </value>
+ </member>
+ <member>
+ <name>notes</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>provisionDate</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>serviceProviderId</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ <member>
+ <name>serviceProviderResourceId</name>
+ <value>
+ <int>390016</int>
+ </value>
+ </member>
+ <member>
+ <name>datacenter</name>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>449500</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Paris 1</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>par01</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ <member>
+ <name>virtualServers</name>
+ <value>
+ <array>
+ <data/>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+</param>
+</params>
http://git-wip-us.apache.org/repos/asf/libcloud/blob/5d7b1d84/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Billing_Item_cancelService.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Billing_Item_cancelService.xml b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Billing_Item_cancelService.xml
new file mode 100644
index 0000000..082b69e
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Billing_Item_cancelService.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<params>
+<param>
+ <value>
+ <boolean>1</boolean>
+ </value>
+</param>
+</params>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/libcloud/blob/5d7b1d84/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Location_Datacenter_getDatacenters.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Location_Datacenter_getDatacenters.xml b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Location_Datacenter_getDatacenters.xml
new file mode 100644
index 0000000..dfbb9a8
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Location_Datacenter_getDatacenters.xml
@@ -0,0 +1,683 @@
+<?xml version="1.0" encoding="utf-8"?>
+<params>
+<param>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>265592</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Amsterdam 1</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>ams01</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>814994</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Amsterdam 3</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>ams03</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>3</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Dallas 1</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>dal01</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>154770</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Dallas 2</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>dal02</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>167092</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Dallas 4</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>dal04</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>138124</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Dallas 5</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>dal05</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>154820</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Dallas 6</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>dal06</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>142776</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Dallas 7</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>dal07</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>449494</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Dallas 9</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>dal09</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>449506</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Frankfurt 2</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>fra02</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>352494</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Hong Kong 2</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>hkg02</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>142775</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Houston 2</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>hou02</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>358694</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>London 2</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>lon02</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>449596</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Melbourne 1</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>mel01</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>449600</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Mexico 1</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>mex01</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>449610</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Montreal 1</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>mon01</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>449500</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Paris 1</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>par01</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>168642</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>San Jose 1</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>sjc01</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>18171</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Seattle</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>sea01</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>224092</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Singapore 1</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>sng01</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>449612</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Sydney 1</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>syd01</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>449604</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Tokyo 2</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>tok02</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>448994</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Toronto 1</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>tor01</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>37473</int>
+ </value>
+ </member>
+ <member>
+ <name>longName</name>
+ <value>
+ <string>Washington 1</string>
+ </value>
+ </member>
+ <member>
+ <name>name</name>
+ <value>
+ <string>wdc01</string>
+ </value>
+ </member>
+ <member>
+ <name>statusId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+</param>
+</params>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/libcloud/blob/5d7b1d84/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service_deleteObject.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service_deleteObject.xml b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service_deleteObject.xml
new file mode 100644
index 0000000..5dca377
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_Service_deleteObject.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<params>
+<param>
+ <value>
+ <boolean>1</boolean>
+ </value>
+</param>
+</params>
http://git-wip-us.apache.org/repos/asf/libcloud/blob/5d7b1d84/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_editObject.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_editObject.xml b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_editObject.xml
new file mode 100644
index 0000000..5dca377
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_editObject.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<params>
+<param>
+ <value>
+ <boolean>1</boolean>
+ </value>
+</param>
+</params>
http://git-wip-us.apache.org/repos/asf/libcloud/blob/5d7b1d84/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_getBillingItem.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_getBillingItem.xml b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_getBillingItem.xml
new file mode 100644
index 0000000..08356d3
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_getBillingItem.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<params>
+<param>
+ <value>
+ <struct>
+ <member>
+ <name>allowCancellationFlag</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ <member>
+ <name>cancellationDate</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>categoryCode</name>
+ <value>
+ <string>proxy_load_balancer</string>
+ </value>
+ </member>
+ <member>
+ <name>createDate</name>
+ <value>
+ <string>2015-04-24T15:19:21+02:00</string>
+ </value>
+ </member>
+ <member>
+ <name>cycleStartDate</name>
+ <value>
+ <string>2015-04-24T15:19:21+02:00</string>
+ </value>
+ </member>
+ <member>
+ <name>description</name>
+ <value>
+ <string>Load Balancer 50 connections</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>50844215</int>
+ </value>
+ </member>
+ <member>
+ <name>laborFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>laborFeeTaxRate</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>lastBillDate</name>
+ <value>
+ <string>2015-04-24T15:19:21+02:00</string>
+ </value>
+ </member>
+ <member>
+ <name>modifyDate</name>
+ <value>
+ <string>2015-04-24T15:19:23+02:00</string>
+ </value>
+ </member>
+ <member>
+ <name>nextBillDate</name>
+ <value>
+ <string>2015-05-01T07:00:00+02:00</string>
+ </value>
+ </member>
+ <member>
+ <name>notes</name>
+ <value>
+ <string>1.2.3.4</string>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>oneTimeFeeTaxRate</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>orderItemId</name>
+ <value>
+ <int>65021573</int>
+ </value>
+ </member>
+ <member>
+ <name>parentId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>recurringFee</name>
+ <value>
+ <string>29</string>
+ </value>
+ </member>
+ <member>
+ <name>recurringFeeTaxRate</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>recurringMonths</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ <member>
+ <name>serviceProviderId</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ <member>
+ <name>setupFee</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ <member>
+ <name>setupFeeTaxRate</name>
+ <value>
+ <string>0</string>
+ </value>
+ </member>
+ </struct>
+ </value>
+</param>
+</params>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/libcloud/blob/5d7b1d84/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_getObject.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_getObject.xml b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_getObject.xml
new file mode 100644
index 0000000..b39fafc
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress_getObject.xml
@@ -0,0 +1,803 @@
+<?xml version="1.0" encoding="utf-8"?>
+<params>
+<param>
+ <value>
+ <struct>
+ <member>
+ <name>accountId</name>
+ <value>
+ <int>411826</int>
+ </value>
+ </member>
+ <member>
+ <name>connectionLimit</name>
+ <value>
+ <int>50</int>
+ </value>
+ </member>
+ <member>
+ <name>connectionLimitUnits</name>
+ <value>
+ <string>connections/second</string>
+ </value>
+ </member>
+ <member>
+ <name>dedicatedFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>76185</int>
+ </value>
+ </member>
+ <member>
+ <name>ipAddressId</name>
+ <value>
+ <int>7303289</int>
+ </value>
+ </member>
+ <member>
+ <name>securityCertificateId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>sslActiveFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>sslEnabledFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>highAvailabilityFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>managedResourceFlag</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>virtualServers</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>allocation</name>
+ <value>
+ <int>100</int>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>132193</int>
+ </value>
+ </member>
+ <member>
+ <name>port</name>
+ <value>
+ <int>80</int>
+ </value>
+ </member>
+ <member>
+ <name>routingMethodId</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>virtualIpAddressId</name>
+ <value>
+ <int>76185</int>
+ </value>
+ </member>
+ <member>
+ <name>serviceGroups</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>131113</int>
+ </value>
+ </member>
+ <member>
+ <name>routingMethodId</name>
+ <value>
+ <int>10</int>
+ </value>
+ </member>
+ <member>
+ <name>routingTypeId</name>
+ <value>
+ <int>2</int>
+ </value>
+ </member>
+ <member>
+ <name>timeout</name>
+ <value>
+ <string/>
+ </value>
+ </member>
+ <member>
+ <name>services</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>enabled</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>226227</int>
+ </value>
+ </member>
+ <member>
+ <name>ipAddressId</name>
+ <value>
+ <int>29341260</int>
+ </value>
+ </member>
+ <member>
+ <name>port</name>
+ <value>
+ <int>8000</int>
+ </value>
+ </member>
+ <member>
+ <name>status</name>
+ <value>
+ <string>UP</string>
+ </value>
+ </member>
+ <member>
+ <name>groupReferences</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>serviceGroupId</name>
+ <value>
+ <int>131113</int>
+ </value>
+ </member>
+ <member>
+ <name>serviceId</name>
+ <value>
+ <int>226227</int>
+ </value>
+ </member>
+ <member>
+ <name>weight</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ <member>
+ <name>ipAddress</name>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>29341260</int>
+ </value>
+ </member>
+ <member>
+ <name>ipAddress</name>
+ <value>
+ <string>10.126.5.34</string>
+ </value>
+ </member>
+ <member>
+ <name>isBroadcast</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isGateway</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isNetwork</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isReserved</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>subnetId</name>
+ <value>
+ <int>730826</int>
+ </value>
+ </member>
+ <member>
+ <name>subnet</name>
+ <value>
+ <struct>
+ <member>
+ <name>broadcastAddress</name>
+ <value>
+ <string>10.126.5.63</string>
+ </value>
+ </member>
+ <member>
+ <name>cidr</name>
+ <value>
+ <int>26</int>
+ </value>
+ </member>
+ <member>
+ <name>gateway</name>
+ <value>
+ <string>10.126.5.1</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>730826</int>
+ </value>
+ </member>
+ <member>
+ <name>isCustomerOwned</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isCustomerRoutable</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>modifyDate</name>
+ <value>
+ <string>2015-04-19T03:14:26+02:00</string>
+ </value>
+ </member>
+ <member>
+ <name>netmask</name>
+ <value>
+ <string>255.255.255.192</string>
+ </value>
+ </member>
+ <member>
+ <name>networkIdentifier</name>
+ <value>
+ <string>10.126.5.0</string>
+ </value>
+ </member>
+ <member>
+ <name>networkVlanId</name>
+ <value>
+ <int>728518</int>
+ </value>
+ </member>
+ <member>
+ <name>sortOrder</name>
+ <value>
+ <string>4</string>
+ </value>
+ </member>
+ <member>
+ <name>subnetType</name>
+ <value>
+ <string>PRIMARY</string>
+ </value>
+ </member>
+ <member>
+ <name>totalIpAddresses</name>
+ <value>
+ <int>64</int>
+ </value>
+ </member>
+ <member>
+ <name>usableIpAddressCount</name>
+ <value>
+ <int>61</int>
+ </value>
+ </member>
+ <member>
+ <name>version</name>
+ <value>
+ <int>4</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>enabled</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>226229</int>
+ </value>
+ </member>
+ <member>
+ <name>ipAddressId</name>
+ <value>
+ <int>29341262</int>
+ </value>
+ </member>
+ <member>
+ <name>port</name>
+ <value>
+ <int>8080</int>
+ </value>
+ </member>
+ <member>
+ <name>status</name>
+ <value>
+ <string>UP</string>
+ </value>
+ </member>
+ <member>
+ <name>groupReferences</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>serviceGroupId</name>
+ <value>
+ <int>131113</int>
+ </value>
+ </member>
+ <member>
+ <name>serviceId</name>
+ <value>
+ <int>226229</int>
+ </value>
+ </member>
+ <member>
+ <name>weight</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ <member>
+ <name>ipAddress</name>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>29341262</int>
+ </value>
+ </member>
+ <member>
+ <name>ipAddress</name>
+ <value>
+ <string>10.126.5.35</string>
+ </value>
+ </member>
+ <member>
+ <name>isBroadcast</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isGateway</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isNetwork</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isReserved</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>subnetId</name>
+ <value>
+ <int>730826</int>
+ </value>
+ </member>
+ <member>
+ <name>subnet</name>
+ <value>
+ <struct>
+ <member>
+ <name>broadcastAddress</name>
+ <value>
+ <string>10.126.5.63</string>
+ </value>
+ </member>
+ <member>
+ <name>cidr</name>
+ <value>
+ <int>26</int>
+ </value>
+ </member>
+ <member>
+ <name>gateway</name>
+ <value>
+ <string>10.126.5.1</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>730826</int>
+ </value>
+ </member>
+ <member>
+ <name>isCustomerOwned</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isCustomerRoutable</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>modifyDate</name>
+ <value>
+ <string>2015-04-19T03:14:26+02:00</string>
+ </value>
+ </member>
+ <member>
+ <name>netmask</name>
+ <value>
+ <string>255.255.255.192</string>
+ </value>
+ </member>
+ <member>
+ <name>networkIdentifier</name>
+ <value>
+ <string>10.126.5.0</string>
+ </value>
+ </member>
+ <member>
+ <name>networkVlanId</name>
+ <value>
+ <int>728518</int>
+ </value>
+ </member>
+ <member>
+ <name>sortOrder</name>
+ <value>
+ <string>4</string>
+ </value>
+ </member>
+ <member>
+ <name>subnetType</name>
+ <value>
+ <string>PRIMARY</string>
+ </value>
+ </member>
+ <member>
+ <name>totalIpAddresses</name>
+ <value>
+ <int>64</int>
+ </value>
+ </member>
+ <member>
+ <name>usableIpAddressCount</name>
+ <value>
+ <int>61</int>
+ </value>
+ </member>
+ <member>
+ <name>version</name>
+ <value>
+ <int>4</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ </struct>
+ </value>
+ <value>
+ <struct>
+ <member>
+ <name>enabled</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>221145</int>
+ </value>
+ </member>
+ <member>
+ <name>ipAddressId</name>
+ <value>
+ <int>33499201</int>
+ </value>
+ </member>
+ <member>
+ <name>notes</name>
+ <value>
+ <string>inst-test-276a.example.com</string>
+ </value>
+ </member>
+ <member>
+ <name>port</name>
+ <value>
+ <int>8080</int>
+ </value>
+ </member>
+ <member>
+ <name>status</name>
+ <value>
+ <string>UP</string>
+ </value>
+ </member>
+ <member>
+ <name>groupReferences</name>
+ <value>
+ <array>
+ <data>
+ <value>
+ <struct>
+ <member>
+ <name>serviceGroupId</name>
+ <value>
+ <int>131113</int>
+ </value>
+ </member>
+ <member>
+ <name>serviceId</name>
+ <value>
+ <int>221145</int>
+ </value>
+ </member>
+ <member>
+ <name>weight</name>
+ <value>
+ <int>1</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ <member>
+ <name>ipAddress</name>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>33499201</int>
+ </value>
+ </member>
+ <member>
+ <name>ipAddress</name>
+ <value>
+ <string>75.75.75.75</string>
+ </value>
+ </member>
+ <member>
+ <name>isBroadcast</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isGateway</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isNetwork</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isReserved</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>subnetId</name>
+ <value>
+ <int>22958</int>
+ </value>
+ </member>
+ <member>
+ <name>subnet</name>
+ <value>
+ <struct>
+ <member>
+ <name>broadcastAddress</name>
+ <value>
+ <string>75.75.75.75</string>
+ </value>
+ </member>
+ <member>
+ <name>cidr</name>
+ <value>
+ <int>29</int>
+ </value>
+ </member>
+ <member>
+ <name>gateway</name>
+ <value>
+ <string>75.75.75.75</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>22958</int>
+ </value>
+ </member>
+ <member>
+ <name>isCustomerOwned</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isCustomerRoutable</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>modifyDate</name>
+ <value>
+ <string>2015-04-19T03:04:09+02:00</string>
+ </value>
+ </member>
+ <member>
+ <name>netmask</name>
+ <value>
+ <string>255.255.255.248</string>
+ </value>
+ </member>
+ <member>
+ <name>networkIdentifier</name>
+ <value>
+ <string>75.75.75.75</string>
+ </value>
+ </member>
+ <member>
+ <name>networkVlanId</name>
+ <value>
+ <int>815621</int>
+ </value>
+ </member>
+ <member>
+ <name>sortOrder</name>
+ <value>
+ <string>4</string>
+ </value>
+ </member>
+ <member>
+ <name>subnetType</name>
+ <value>
+ <string>PRIMARY</string>
+ </value>
+ </member>
+ <member>
+ <name>totalIpAddresses</name>
+ <value>
+ <int>8</int>
+ </value>
+ </member>
+ <member>
+ <name>usableIpAddressCount</name>
+ <value>
+ <int>5</int>
+ </value>
+ </member>
+ <member>
+ <name>version</name>
+ <value>
+ <int>4</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </data>
+ </array>
+ </value>
+ </member>
+ </struct>
+ </value>
+</param>
+</params>
http://git-wip-us.apache.org/repos/asf/libcloud/blob/5d7b1d84/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Subnet_IpAddress_getByIpAddress.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Subnet_IpAddress_getByIpAddress.xml b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Subnet_IpAddress_getByIpAddress.xml
new file mode 100644
index 0000000..3ae4871
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/softlayer/v3__SoftLayer_Network_Subnet_IpAddress_getByIpAddress.xml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="utf-8"?>
+<params>
+<param>
+ <value>
+ <struct>
+ <member>
+ <name>id</name>
+ <value>
+ <int>29341260</int>
+ </value>
+ </member>
+ <member>
+ <name>ipAddress</name>
+ <value>
+ <string>10.126.5.34</string>
+ </value>
+ </member>
+ <member>
+ <name>isBroadcast</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isGateway</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isNetwork</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isReserved</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>subnetId</name>
+ <value>
+ <int>730826</int>
+ </value>
+ </member>
+ <member>
+ <name>subnet</name>
+ <value>
+ <struct>
+ <member>
+ <name>broadcastAddress</name>
+ <value>
+ <string>10.126.5.63</string>
+ </value>
+ </member>
+ <member>
+ <name>cidr</name>
+ <value>
+ <int>26</int>
+ </value>
+ </member>
+ <member>
+ <name>gateway</name>
+ <value>
+ <string>10.126.5.1</string>
+ </value>
+ </member>
+ <member>
+ <name>id</name>
+ <value>
+ <int>730826</int>
+ </value>
+ </member>
+ <member>
+ <name>isCustomerOwned</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>isCustomerRoutable</name>
+ <value>
+ <boolean>0</boolean>
+ </value>
+ </member>
+ <member>
+ <name>modifyDate</name>
+ <value>
+ <string>2015-04-19T03:14:26+02:00</string>
+ </value>
+ </member>
+ <member>
+ <name>netmask</name>
+ <value>
+ <string>255.255.255.192</string>
+ </value>
+ </member>
+ <member>
+ <name>networkIdentifier</name>
+ <value>
+ <string>10.126.5.0</string>
+ </value>
+ </member>
+ <member>
+ <name>networkVlanId</name>
+ <value>
+ <int>728518</int>
+ </value>
+ </member>
+ <member>
+ <name>sortOrder</name>
+ <value>
+ <string>4</string>
+ </value>
+ </member>
+ <member>
+ <name>subnetType</name>
+ <value>
+ <string>PRIMARY</string>
+ </value>
+ </member>
+ <member>
+ <name>totalIpAddresses</name>
+ <value>
+ <int>64</int>
+ </value>
+ </member>
+ <member>
+ <name>usableIpAddressCount</name>
+ <value>
+ <int>61</int>
+ </value>
+ </member>
+ <member>
+ <name>version</name>
+ <value>
+ <int>4</int>
+ </value>
+ </member>
+ </struct>
+ </value>
+ </member>
+ </struct>
+ </value>
+</param>
+</params>