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:38 UTC
[4/5] libcloud git commit: Add tests for Softlayer loadbalancer driver
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>