libcloud-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From anthonys...@apache.org
Subject [29/51] [abbrv] libcloud git commit: finished load balancer tests and added an nttcis subdirectory under docs/loadbalancer/examples
Date Wed, 31 Oct 2018 03:11:40 GMT
finished load balancer tests and added an nttcis subdirectory under docs/loadbalancer/examples


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/d22a5260
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/d22a5260
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/d22a5260

Branch: refs/heads/trunk
Commit: d22a52604c6e8a383a6deacdfe5c8318863a793a
Parents: c05f59a
Author: mitch <mitch.raful@itaas.dimensiondata.com>
Authored: Tue Oct 23 13:15:51 2018 -0400
Committer: mitch <mitch.raful@itaas.dimensiondata.com>
Committed: Tue Oct 23 13:15:51 2018 -0400

----------------------------------------------------------------------
 .../nttcis/LoadBalancer_create_members.py       |  33 +
 .../nttcis/Load_balancer_add_pool_mon.py        |  41 +
 docs/examples/loadbalancer/nttcis/__init__.py   |   0
 docs/loadbalancer/drivers/nttcis.rst            |  63 ++
 libcloud/common/nttcis.py                       |   4 +-
 libcloud/compute/drivers/nttcis.py              | 115 ++-
 libcloud/loadbalancer/base.py                   |   1 +
 libcloud/loadbalancer/drivers/nttcis.py         |  20 +-
 .../nttcis/networkDomainVip_addPoolMember.xml   |   9 +
 .../nttcis/networkDomainVip_createNode.xml      |   8 +
 .../nttcis/networkDomainVip_createPool.xml      |   9 +
 .../networkDomainVip_createVirtualListener.xml  |  11 +
 .../networkDomainVip_defaultHealthMonitor.xml   |  35 +
 .../nttcis/networkDomainVip_defaultIrule.xml    |  47 +
 ...tworkDomainVip_defaultPersistenceProfile.xml |  47 +
 .../nttcis/networkDomainVip_deleteNode.xml      |   9 +
 .../nttcis/networkDomainVip_deletePool.xml      |   9 +
 .../networkDomainVip_deleteVirtualListener.xml  |   9 +
 .../nttcis/networkDomainVip_editNode.xml        |   8 +
 .../nttcis/networkDomainVip_editPool.xml        |   9 +
 .../nttcis/networkDomainVip_editPoolMember.xml  |   8 +
 .../fixtures/nttcis/networkDomainVip_node.xml   |  29 +
 ...ode_34de6ed6_46a4_4dae_a753_2f8d3840c6f9.xml |  13 +
 .../fixtures/nttcis/networkDomainVip_pool.xml   |  37 +
 .../nttcis/networkDomainVip_poolMember.xml      |  29 +
 ...ber_3dd806a2_c2c8_4c0c_9a4f_5219ea9266c0.xml |  13 +
 ...ool_4d360b1f_bc2c_4ab7_9884_1f03ba2768f7.xml |  17 +
 .../networkDomainVip_removePoolMember.xml       |   7 +
 .../nttcis/networkDomainVip_virtualListener.xml |  51 ++
 ...ner_6115469d_a8bb_445b_bb23_d23b5283f2b9.xml |  44 +
 .../fixtures/nttcis/oec_0_9_myaccount.xml       |  26 +
 libcloud/test/loadbalancer/test_nttcis.py       | 891 ++++++++++---------
 tests/conftest.py                               |   2 +-
 tests/lib_create_test.py                        |   5 +-
 34 files changed, 1198 insertions(+), 461 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/docs/examples/loadbalancer/nttcis/LoadBalancer_create_members.py
----------------------------------------------------------------------
diff --git a/docs/examples/loadbalancer/nttcis/LoadBalancer_create_members.py b/docs/examples/loadbalancer/nttcis/LoadBalancer_create_members.py
new file mode 100644
index 0000000..5ca8a38
--- /dev/null
+++ b/docs/examples/loadbalancer/nttcis/LoadBalancer_create_members.py
@@ -0,0 +1,33 @@
+# This example assumes servers to load balance
+# already exist and will be pool members
+import libcloud
+from libcloud.loadbalancer.base import Algorithm
+
+
+def create_load_balancer():
+    # Compute driver to retrieve servers to be pool members (the nodes)
+    cls = libcloud.get_driver(libcloud.DriverType.COMPUTE,
+                              libcloud.DriverType.COMPUTE.NTTCIS)
+    compute_driver = cls('my_username', 'my_pass', region='eu')
+    net_domain_name = 'sdk_test_1'
+    net_domains = compute_driver.ex_list_network_domains(location='EU6')
+    net_domain_id = [d for d in net_domains if d.name == net_domain_name][0].id
+    # Load balancer driver to create and/or edit load balanceers
+    cls = libcloud.get_driver(libcloud.DriverType.LOADBALANCER,
+                              libcloud.DriverType.LOADBALANCER.NTTCIS)
+    lbdriver = cls('my_username', net_domain_id, 'my_pass', region='eu')
+
+    member1 = compute_driver.list_nodes(ex_name='web1')[0]
+    member2 = compute_driver.list_nodes(ex_name='web2')[0]
+    members = [member1, member2]
+    name = 'sdk_test_balancer'
+    port = '80'
+    listener_port = '8000'
+    protocol = 'TCP'
+    algorithm = Algorithm.LEAST_CONNECTIONS_MEMBER
+    members = [m for m in members]
+    ex_listener_ip_address = "168.128.13.127"
+    lb = lbdriver.create_balancer(name, listener_port=listener_port, port=port, protocol=protocol,
+                                  algorithm=algorithm, members=members, optimization_profile='TCP',
+                                  ex_listener_ip_address=ex_listener_ip_address)
+    print(lb)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/docs/examples/loadbalancer/nttcis/Load_balancer_add_pool_mon.py
----------------------------------------------------------------------
diff --git a/docs/examples/loadbalancer/nttcis/Load_balancer_add_pool_mon.py b/docs/examples/loadbalancer/nttcis/Load_balancer_add_pool_mon.py
new file mode 100644
index 0000000..49179be
--- /dev/null
+++ b/docs/examples/loadbalancer/nttcis/Load_balancer_add_pool_mon.py
@@ -0,0 +1,41 @@
+# This example adds monitoring to a pool
+
+import libcloud
+
+
+def update_health_monitors(driver, network_domain, monitor_id):
+    pool_name = 'sdk_test_balancer'
+    pools = driver.ex_get_pools(ex_network_domain_id=network_domain.id)
+    pool = [p for p in pools if p.name == pool_name][0]
+    pool.health_monitor_id = monitor_id
+    result = lbdriver.ex_update_pool(pool)
+    return result
+
+
+def health_monitors(driver, network_domain):
+    monitors = driver.ex_get_default_health_monitors(network_domain)
+    return monitors
+
+
+# Compute driver to create/edit virtual servers
+cls = libcloud.get_driver(libcloud.DriverType.COMPUTE,
+                          libcloud.DriverType.COMPUTE.NTTCIS)
+compute_driver = cls('my_username', 'my_pass', region='eu')
+
+# Load balancer driver to create and/or edit load balanceers
+cls = libcloud.get_driver(libcloud.DriverType.LOADBALANCER,
+                          libcloud.DriverType.LOADBALANCER.NTTCIS)
+
+net_domain_name = 'sdk_test_1'
+net_domains = compute_driver.ex_list_network_domains(location='EU6')
+net_domain_id = [d for d in net_domains if d.name == net_domain_name][0].id
+lbdriver = cls('my_username', net_domain_id, 'my_pass', region='eu')
+
+# Get available health monitors
+results = health_monitors(lbdriver, net_domains[0])
+for result in results:
+    print(result)
+
+# Add desired health monitor
+result = update_health_monitors(lbdriver, net_domains[0], "9f79487a-1b6d-11e5-8d4f-180373fb68df")
+assert result is True

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/docs/examples/loadbalancer/nttcis/__init__.py
----------------------------------------------------------------------
diff --git a/docs/examples/loadbalancer/nttcis/__init__.py b/docs/examples/loadbalancer/nttcis/__init__.py
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/docs/loadbalancer/drivers/nttcis.rst
----------------------------------------------------------------------
diff --git a/docs/loadbalancer/drivers/nttcis.rst b/docs/loadbalancer/drivers/nttcis.rst
new file mode 100644
index 0000000..a0215e8
--- /dev/null
+++ b/docs/loadbalancer/drivers/nttcis.rst
@@ -0,0 +1,63 @@
+NTTC-CIS Load Balancer Driver Documentation
+=================================================
+
+Dimension Data are a global IT Services company and form part of the NTT Group.
+Dimension Data provide IT-as-a-Service to customers around the globe on their
+cloud platform (Compute as a Service). The CaaS service is available either on
+one of the public cloud instances or as a private instance on premises.
+
+.. figure:: /_static/images/provider_logos/ntt.png
+    :align: center
+    :width: 300
+    :target:  http://www.ntt.com/en/services/cloud/enterprise-cloud.html/
+
+CaaS has its own non-standard `API`_ , `libcloud` provides a Python
+wrapper on top of this `API`_ with common methods with other IaaS solutions and
+Public cloud providers. Therefore, you can use use the NTTC-CIS libcloud
+driver to communicate with both the public and private clouds.
+
+Instantiating a driver
+----------------------
+
+When you instantiate a driver you need to pass the following arguments to the
+driver constructor:
+
+* ``user_id`` - Your Dimension Data Cloud username
+* ``key`` - Your Dimension Data Cloud password
+* ``region`` - The region key, one of the possible region keys
+
+Possible regions:
+
+* ``na`` : Dimension Data North America (USA)
+* ``eu`` : Dimension Data Europe
+* ``af`` : Dimension Data Africa
+* ``au`` : Dimension Data Australia
+* ``ap`` : Dimension Data Asia Pacific
+* ``canada`` : Dimension Data Canada region
+
+The base `libcloud` API allows you to:
+
+* create balancers, add members and destroy members
+
+Non-standard functionality and extension methods
+------------------------------------------------
+
+The Dimension Data driver exposes some `libcloud` non-standard
+functionalities through extension methods and arguments.
+
+These functionalities include:
+
+* list nodes
+* list pools
+* set the network domain (zone)
+
+For information on how to use these functionalities please see the method
+docstrings below. You can also use an interactive shell for exploration as
+shown in the examples.
+
+API Docs
+--------
+
+.. autoclass:: libcloud.loadbalancer.drivers.nttcis.NttCisLBDriver
+    :members:
+    :inherited-members:

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/common/nttcis.py
----------------------------------------------------------------------
diff --git a/libcloud/common/nttcis.py b/libcloud/common/nttcis.py
index 35dd0a9..97c208c 100644
--- a/libcloud/common/nttcis.py
+++ b/libcloud/common/nttcis.py
@@ -1233,7 +1233,7 @@ class NttCisPoolMember(object):
 
 class NttCisVIPNode(object):
     def __init__(self, id, name, status, ip, connection_limit='10000',
-                 connection_rate_limit='10000'):
+                 connection_rate_limit='10000', health_monitor=None):
         """
         Initialize an instance of :class:`NttCisVIPNode`
 
@@ -1261,6 +1261,8 @@ class NttCisVIPNode(object):
         self.ip = ip
         self.connection_limit = connection_limit
         self.connection_rate_limit = connection_rate_limit
+        if health_monitor is not None:
+            self.health_monitor_id = health_monitor
 
     def __repr__(self):
         return (('<NttCisVIPNode: id=%s, name=%s, '

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/compute/drivers/nttcis.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/nttcis.py b/libcloud/compute/drivers/nttcis.py
index 7945c0e..03fc08f 100644
--- a/libcloud/compute/drivers/nttcis.py
+++ b/libcloud/compute/drivers/nttcis.py
@@ -834,7 +834,7 @@ class NttCisNodeDriver(NodeDriver):
                      driver=self.connection.driver),
         ]
 
-    def list_datacenter_properties(self, location: str=None) -> list:
+    def list_datacenter_properties(self, location):
         """
         return a list of available sizes
             Currently, the size of the node is dictated by the chosen OS base
@@ -895,7 +895,7 @@ class NttCisNodeDriver(NodeDriver):
             request_with_orgId_api_2('infrastructure/datacenter',
                                      params=params)
 
-    def list_snapshot_windows(self, location: str, plan: str) -> list:
+    def list_snapshot_windows(self, location, plan):
         """
         List snapshot windows in a given location
         :param location: a location object or location id such as "NA9"
@@ -1120,9 +1120,10 @@ class NttCisNodeDriver(NodeDriver):
             nodes_obj = self._list_nodes_single_page(params)
             yield self._to_nodes(nodes_obj)
 
-    def ex_edit_metadata(self, node: Node, name: str = None,
-                         description: str = None,
-                         drs_eligible: str = None) -> bool:
+    def ex_edit_metadata(self, node,
+                         name=None,
+                         description=None,
+                         drs_eligible=None):
         request_elem = ET.Element('editServerMetadata',
                                   {'xmlns': TYPES_URN, 'id': node.id})
         if name is not None:
@@ -1138,7 +1139,7 @@ class NttCisNodeDriver(NodeDriver):
         response_code = findtext(body, 'responseCode', TYPES_URN)
         return response_code in ['IN_PROGRESS', 'OK']
 
-    def ex_start_node(self, node: Node) -> bool:
+    def ex_start_node(self, node):
         """
         Powers on an existing deployed server
 
@@ -1156,7 +1157,7 @@ class NttCisNodeDriver(NodeDriver):
         response_code = findtext(body, 'responseCode', TYPES_URN)
         return response_code in ['IN_PROGRESS', 'OK']
 
-    def ex_shutdown_graceful(self, node: Node) -> bool:
+    def ex_shutdown_graceful(self, node):
         """
         This function will attempt to "gracefully" stop a server by
         initiating a shutdown sequence within the guest operating system.
@@ -1282,8 +1283,26 @@ class NttCisNodeDriver(NodeDriver):
         response_code = findtext(body, 'result', GENERAL_NS)
         return response_code in ['IN_PROGRESS', 'SUCCESS']
 
-    def ex_enable_snapshots(self, node: str, window: str, plan: str='ADVANCED',
-                            initiate: str = 'true') -> bool:
+    def ex_enable_snapshots(self, node, window, plan='ADVANCED', initiate='true'):
+        """
+        Enable snapshot service on a server
+
+        :param      node: Node ID of the node on which to enable snapshots.
+        :type       node: ``str``
+
+        :param      window: The window id of the window in which the snapshot
+                            is enabled.
+        :type       name: ``str``
+
+        :param      plan: Pland type 'ESSENTIALS' or 'ADVANCED
+        :type       plan: ``str``
+
+        :param      initiate: Run a snapshot upon configuration of the snapshot.
+        :type       ``str``
+
+        :rtype: ``bool``
+        """
+
         update_node = ET.Element('enableSnapshotService',
                                  {'xmlns': TYPES_URN})
         window_id = window
@@ -1300,18 +1319,42 @@ class NttCisNodeDriver(NodeDriver):
         response_code = findtext(result, 'responseCode', TYPES_URN)
         return response_code in ['IN_PROGRESS', 'OK']
 
-    def list_snapshots(self, node: Node) -> list:
+    def list_snapshots(self, node):
+        """
+        List snapshots of a server
+
+        :param      node: Node nameof the node on which to enable snapshots.
+        :type       node: ``str``
+
+        :rtype: ``list``
+        """
         params = {}
         params['serverId'] = self.list_nodes(ex_name=node)[0].id
         return self._to_snapshots(self.connection.request_with_orgId_api_2(
             'snapshot/snapshot',
             params=params).object)
 
-    def get_snapshot(self, snapshot_id: str) -> list:
+    def get_snapshot(self, snapshot_id):
+        """
+        Get snapshot of a server by snapshot id.
+
+        :param      snapshot_id: ID of snapshot to retrieve.
+        :type       snapshot_id: ``str``
+
+        :rtype: ``dict``
+        """
         return self._to_snapshot(self.connection.request_with_orgId_api_2(
                                  'snapshot/snapshot/%s' % snapshot_id).object)
 
-    def ex_disable_snapshots(self, node: str) -> bool:
+    def ex_disable_snapshots(self, node):
+        """
+        Disable snapshots on a server.  This also deletes current snapshots.
+
+        :param      node: Node ID of the node on which to enable snapshots.
+        :type       node: ``str``
+
+        :rtype: ``list``
+        """
         update_node = ET.Element('disableSnapshotService',
                                  {'xmlns': TYPES_URN})
 
@@ -1324,12 +1367,15 @@ class NttCisNodeDriver(NodeDriver):
         response_code = findtext(result, 'responseCode', TYPES_URN)
         return response_code in ['IN_PROGRESS', 'OK']
 
-    def ex_initiate_manual_snapshot(self, name: str,
-                                    server_id: str = None) -> bool:
+    def ex_initiate_manual_snapshot(self, name=None, server_id=None):
         """
-        Initiate a manual snapshot on the fly
+        Initiate a manual snapshot of server on the fly
         :param name: optional name of server
+        :type ``str``
+
         :param server_id: optinal parameter to use instead of name
+        :type ``str``
+
         :return: True of False
         :rtype: ``bool``
         """
@@ -1361,6 +1407,45 @@ class NttCisNodeDriver(NodeDriver):
                                           preserve_mac_addresses=None,
                                           tag_key_name=None,
                                           tag_key_id=None, tag_value=None):
+        """
+        Create a snapshot preview of a server to clone to a new server
+
+        :param snapshot_id: ID of the specific snahpshot to use in
+                                 creating preview server.
+        :type  snapshot_id: ``str``
+
+        :param server_name: Name of the server created from the snapshot
+        :type  ``str``
+
+        :param nics_connected: 'true' or 'false'.  Should the nics be
+                                automatically connected
+        :type  ``str``
+
+        :param server_description: (Optional) A brief description of the
+                                   server.
+        :type ``str``
+
+        :param target_cluster_id: (Optional) The ID of a specific cluster as
+                                   opposed to the default.
+        :type ``str``
+
+        :param preserve_mac_address: (Optional) If set to 'true' will preserve
+                                      mac address from the original server.
+        :type ``str``
+
+        :param tag_key_name: (Optional) If tagging is desired and by name is
+                             desired, set this to the tag name.
+        :type ``str``
+
+        :param tag_key_id: (Optional) If tagging is desired and by id is
+                            desired, set this to the tag id.
+        :type ``str``
+
+        :param tag_value: (Optional) If using a tag_key_id or tag_key_name,
+                           set the value fo tag_value.
+
+        :rtype: ``str``
+        """
         create_preview = ET.Element('createSnapshotPreviewServer',
                                     {'xmlns': TYPES_URN,
                                      'snapshotId': snapshot_id})

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/loadbalancer/base.py
----------------------------------------------------------------------
diff --git a/libcloud/loadbalancer/base.py b/libcloud/loadbalancer/base.py
index 9223f89..600dbc3 100644
--- a/libcloud/loadbalancer/base.py
+++ b/libcloud/loadbalancer/base.py
@@ -130,6 +130,7 @@ class Algorithm(object):
     PREDICTIVE_MEMBER = 5
     PREDICTIVE_NODE = 6
 
+
 DEFAULT_ALGORITHM = Algorithm.ROUND_ROBIN
 
 

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/loadbalancer/drivers/nttcis.py
----------------------------------------------------------------------
diff --git a/libcloud/loadbalancer/drivers/nttcis.py b/libcloud/loadbalancer/drivers/nttcis.py
index 0013574..396df0c 100644
--- a/libcloud/loadbalancer/drivers/nttcis.py
+++ b/libcloud/loadbalancer/drivers/nttcis.py
@@ -30,7 +30,7 @@ from libcloud.common.nttcis import TYPES_URN
 from libcloud.utils.misc import reverse_dict
 from libcloud.utils.xml import fixxpath, findtext, findall
 from libcloud.loadbalancer.types import State
-from libcloud.loadbalancer.base import Algorithm, Driver, LoadBalancer
+from libcloud.loadbalancer.base import Algorithm, Driver, LoadBalancer, DEFAULT_ALGORITHM
 from libcloud.loadbalancer.base import Member
 from libcloud.loadbalancer.types import Provider
 
@@ -100,7 +100,7 @@ class NttCisLBDriver(Driver):
 
     def create_balancer(self, name, listener_port=None, port=None,
                         protocol=None, algorithm=None, members=None,
-                        optimization_profile=None,
+                        optimization_profile="TCP",
                         ex_listener_ip_address=None):
         """
 
@@ -131,7 +131,7 @@ class NttCisLBDriver(Driver):
         :param optimization_profile: For STANDARD type and protocol TCP
                                      an optimization type of TCP, LAN_OPT,
                                       WAN_OPT, MOBILE_OPT, or TCP_LEGACY is
-                                      required
+                                      required. Default is TCP
         :type  protcol: ``str``
 
         :param ex_listener_ip_address: Must be a valid IPv4 in dot-decimal
@@ -144,9 +144,7 @@ class NttCisLBDriver(Driver):
         if protocol is None:
             protocol = 'http'
         if algorithm is None:
-            algor = Algorithm.ROUND_ROBIN
-        else:
-            algor = Algorithm.__dict__[algorithm]
+            algorithm = DEFAULT_ALGORITHM
 
         # Create a pool first
 
@@ -154,7 +152,7 @@ class NttCisLBDriver(Driver):
             network_domain_id=network_domain_id,
             name=name,
             ex_description=None,
-            balancer_method=self._ALGORITHM_TO_VALUE_MAP[algor])
+            balancer_method=self._ALGORITHM_TO_VALUE_MAP[algorithm])
 
         # Attach the members to the pool as nodes
         if members is not None:
@@ -633,7 +631,7 @@ class NttCisLBDriver(Driver):
                                    fallback_persistence_profile=None,
                                    irule=None,
                                    protocol='TCP',
-                                   optimization_profile=None,
+                                   optimization_profile="TCP",
                                    connection_limit=25000,
                                    connection_rate_limit=2000,
                                    source_port_preservation='PRESERVE'):
@@ -676,7 +674,7 @@ class NttCisLBDriver(Driver):
         :param optimization_profile: For STANDARD type and protocol
                                      TCP an optimization type of TCP, LAN_OPT,
                                       WAN_OPT, MOBILE_OPT,
-                                       or TCP_LEGACY is required
+                                       or TCP_LEGACY is required. Default is 'TCP'.
         :type  protcol: ``str``
 
         :param connection_limit: Maximum number
@@ -1019,7 +1017,8 @@ class NttCisLBDriver(Driver):
         """
         result = self.connection.request_with_orgId_api_2(
             action='networkDomainVip/defaultHealthMonitor',
-            params={'networkDomainId': network_domain.id},
+            #params={'networkDomainId': network_domain.id},
+            params={'networkDomainId': network_domain},
             method='GET').object
         return self._to_health_monitors(result)
 
@@ -1140,6 +1139,7 @@ class NttCisLBDriver(Driver):
             status=self._VALUE_TO_STATE_MAP.get(
                 findtext(element, 'state', TYPES_URN),
                 State.UNKNOWN),
+            health_monitor=element.find(fixxpath('healthMonitor', TYPES_URN)).get('id'),
             connection_rate_limit=findtext(element,
                                            'connectionRateLimit', TYPES_URN),
             connection_limit=findtext(element, 'connectionLimit', TYPES_URN),

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_addPoolMember.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_addPoolMember.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_addPoolMember.xml
new file mode 100644
index 0000000..e4cba7a
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_addPoolMember.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<response
+xmlns="urn:didata.com:api:cloud:types" requestId="na9/2015-06-09T07:02:49.563-04:00/40653bb1-cf55-4ba8-ba00-121c19c50a54">
+<operation>ADD_POOL_MEMBER</operation>
+<responseCode>OK</responseCode>
+<message>Pool Member '10.0.3.13:9888' has been added.</message>
+<info name="poolMemberId" value="3dd806a2-c2c8-4c0c-9a4f-5219ea9266c0"/>
+<info name="nodeName" value="10.0.3.13"/>
+</response>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createNode.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createNode.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createNode.xml
new file mode 100644
index 0000000..696525c
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createNode.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<response requestId="na/2015-04-14T13:37:20/62f06368-c3fb-11e3-b29c-001517c4643e" xmlns="urn:didata.com:api:cloud:types">
+<operation>CREATE_NODE</operation>
+<responseCode>OK</responseCode>
+<message>Node 'myProductionNode.1' has been created.</message>
+<info name="nodeId" value="9e6b496d-5261-4542-91aa-b50c7f569c54"/>
+<info name="name" value="myProductionNode.1"/>
+</response>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createPool.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createPool.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createPool.xml
new file mode 100644
index 0000000..28302d5
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createPool.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<response requestId="na/2015-04-14T13:37:20/62f06368-c3fb-11e3-b29c-
+001517c4643e" xmlns="urn:didata.com:api:cloud:types">
+<operation>CREATE_POOL</operation>
+<responseCode>OK</responseCode>
+<message>Pool 'myProductionPool.1' has been created.</message>
+<info name="poolId" value="9e6b496d-5261-4542-91aa-b50c7f569c54"/>
+<info name="name" value="myProductionPool.1"/>
+</response>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createVirtualListener.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createVirtualListener.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createVirtualListener.xml
new file mode 100644
index 0000000..5cf1f5a
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_createVirtualListener.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<response
+xmlns="urn:didata.com:api:cloud:types" requestId="na9/2015-06-11T05:45:22.833-04:00/0dc58e64-6e05-4de2-98d6-70bee28cba97">
+<operation>CREATE_VIRTUAL_LISTENER</operation>
+<responseCode>OK</responseCode>
+<message>Virtual Listener 'Production.Load.Balancer' has been created on
+IP 165.180.12.22.</message>
+<info name="virtualListenerId" value="8334f461-0df0-42d5-97eb-f4678eb26bea"/>
+<info name="name" value="Production.Load.Balancer"/>
+<info name="listenerIpAddress" value="165.180.12.22"/>
+</response>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultHealthMonitor.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultHealthMonitor.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultHealthMonitor.xml
new file mode 100644
index 0000000..b24f006
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultHealthMonitor.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<defaultHealthMonitors
+ xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="6"
+totalCount="6" pageSize="250">
+ <defaultHealthMonitor id="01683574-d487-11e4-811f-005056806999">
+ <name>CCDEFAULT.Http</name>
+ <nodeCompatible>false</nodeCompatible>
+ <poolCompatible>true</poolCompatible>
+ </defaultHealthMonitor>
+ <defaultHealthMonitor id="0168546c-d487-11e4-811f-005056806999">
+ <name>CCDEFAULT.Https</name>
+ <nodeCompatible>false</nodeCompatible>
+ <poolCompatible>true</poolCompatible>
+ </defaultHealthMonitor>
+ <defaultHealthMonitor id="0168b83a-d487-11e4-811f-005056806999">
+ <name>CCDEFAULT.Icmp</name>
+ <nodeCompatible>true</nodeCompatible>
+ <poolCompatible>false</poolCompatible>
+ </defaultHealthMonitor>
+ <defaultHealthMonitor id="01686f4b-d487-11e4-811f-005056806999">
+ <name>CCDEFAULT.Tcp</name>
+ <nodeCompatible>false</nodeCompatible>
+ <poolCompatible>true</poolCompatible>
+ </defaultHealthMonitor>
+ <defaultHealthMonitor id="0168a2f9-d487-11e4-811f-005056806999">
+ <name>CCDEFAULT.TcpHalfOpen</name>
+ <nodeCompatible>false</nodeCompatible>
+ <poolCompatible>true</poolCompatible>
+ </defaultHealthMonitor>
+ <defaultHealthMonitor id="01688878-d487-11e4-811f-005056806999">
+ <name>CCDEFAULT.Udp</name>
+ <nodeCompatible>false</nodeCompatible>
+ <poolCompatible>true</poolCompatible>
+ </defaultHealthMonitor>
+</defaultHealthMonitors>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultIrule.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultIrule.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultIrule.xml
new file mode 100644
index 0000000..d2005a3
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultIrule.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<defaultIrules
+ xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="5"
+totalCount="5" pageSize="250">
+ <defaultIrule>
+ <irule id="2b20cb2c-ffdc-11e4-b010-005056806999"
+name="CCDEFAULT.HttpsRedirect"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="HTTP"/>
+ </defaultIrule>
+ <defaultIrule>
+ <irule id="2b20abd9-ffdc-11e4-b010-005056806999"
+name="CCDEFAULT.IpProtocolTimers"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="HTTP"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="TCP"/>
+ <virtualListenerCompatibility type="STANDARD" protocol="UDP"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="UDP"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="ANY"/>
+ <virtualListenerCompatibility type="STANDARD" protocol="TCP"/>
+ <virtualListenerCompatibility type="STANDARD" protocol="ANY"/>
+ </defaultIrule>
+ <defaultIrule>
+ <irule id="2b20e790-ffdc-11e4-b010-005056806999"
+name="CCDEFAULT.Ips"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="HTTP"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="TCP"/>
+ <virtualListenerCompatibility type="STANDARD" protocol="UDP"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="UDP"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="ANY"/>
+ <virtualListenerCompatibility type="STANDARD" protocol="TCP"/>
+ <virtualListenerCompatibility type="STANDARD" protocol="ANY"/>
+ </defaultIrule>
+ <defaultIrule>
+ <irule id="2b210846-ffdc-11e4-b010-005056806999"
+name="CCDEFAULT.IpsHttp"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="HTTP"/>
+ </defaultIrule>
+ </defaultIrules>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultPersistenceProfile.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultPersistenceProfile.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultPersistenceProfile.xml
new file mode 100644
index 0000000..cd6b5a5
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_defaultPersistenceProfile.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<defaultPersistenceProfiles
+ xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="4"
+totalCount="4" pageSize="250">
+ <defaultPersistenceProfile id="a34ca024-f3db-11e4-b010-005056806999"
+fallbackCompatible="false">
+ <name>CCDEFAULT.Cookie</name>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="HTTP"/>
+ </defaultPersistenceProfile>
+ <defaultPersistenceProfile id="a34ca25c-f3db-11e4-b010-005056806999"
+fallbackCompatible="true">
+ <name>CCDEFAULT.DestinationAddress</name>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="HTTP"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="TCP"/>
+ <virtualListenerCompatibility type="STANDARD" protocol="UDP"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="UDP"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="ANY"/>
+ <virtualListenerCompatibility type="STANDARD" protocol="TCP"/>
+ <virtualListenerCompatibility type="STANDARD" protocol="ANY"/>
+ </defaultPersistenceProfile>
+ <defaultPersistenceProfile id="a34ca4b7-f3db-11e4-b010-005056806999"
+fallbackCompatible="false">
+ <name>CCDEFAULT.Sip</name>
+ <virtualListenerCompatibility type="STANDARD" protocol="UDP"/>
+ <virtualListenerCompatibility type="STANDARD" protocol="TCP"/>
+ </defaultPersistenceProfile>
+ <defaultPersistenceProfile id="a34ca3f6-f3db-11e4-b010-005056806999"
+fallbackCompatible="true">
+ <name>CCDEFAULT.SourceAddress</name>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="HTTP"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="TCP"/>
+ <virtualListenerCompatibility type="STANDARD" protocol="UDP"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="UDP"/>
+ <virtualListenerCompatibility type="PERFORMANCE_LAYER_4"
+protocol="ANY"/>
+ <virtualListenerCompatibility type="STANDARD" protocol="TCP"/>
+ <virtualListenerCompatibility type="STANDARD" protocol="ANY"/>
+ </defaultPersistenceProfile>
+</defaultPersistenceProfiles>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteNode.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteNode.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteNode.xml
new file mode 100644
index 0000000..cd5177f
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteNode.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<response requestId="na9/2015-05-14T13:37:20/62f06368-c3fb-11e3-b29c-
+001517c4643e"
+xmlns="urn:didata.com:api:cloud:types">
+<operation>DELETE_NODE</operation>
+<responseCode>OK</responseCode>
+<message>Node (id:34de6ed6-46a4-4dae-a753-2f8d3840c6f9) has been
+deleted.</message>
+</response>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deletePool.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deletePool.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deletePool.xml
new file mode 100644
index 0000000..3883b55
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deletePool.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<response requestId="na9/2015-05-14T13:37:20/62f06368-c3fb-11e3-b29c-
+001517c4643e"
+xmlns="urn:didata.com:api:cloud:types">
+<operation>DELETE_POOL</operation>
+<responseCode>OK</responseCode>
+<message>Pool (id:4d360b1f-bc2c-4ab7-9884-1f03ba2768f7) has been
+deleted.</message>
+</response>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteVirtualListener.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteVirtualListener.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteVirtualListener.xml
new file mode 100644
index 0000000..3504ce9
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_deleteVirtualListener.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<response requestId="na9/2015-05-14T13:37:20/62f06368-c3fb-11e3-b29c-
+001517c4643e"
+xmlns="urn:didata.com:api:cloud:types">
+<operation>DELETE_VIRTUAL_LISTENER</operation>
+<responseCode>OK</responseCode>
+<message>Virtual Listener (id:6115469d-a8bb-445b-bb23-d23b5283f2b9) has been
+deleted.</message>
+</response>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editNode.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editNode.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editNode.xml
new file mode 100644
index 0000000..ae3e2af
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editNode.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<response
+xmlns="urn:didata.com:api:cloud:types" requestId="NA9/2015-05-29T11:57:29.793-04:00/9f7191df-de3a-4cf3-a0a1-6321e88b5af5">
+<operation>EDIT_NODE</operation>
+<responseCode>OK</responseCode>
+<message>Node 'ProductionNode.2' has been edited successfully.</message>
+<info name="nodeId" value="34de6ed6-46a4-4dae-a753-2f8d3840c6f9"/>
+</response>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPool.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPool.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPool.xml
new file mode 100644
index 0000000..78eb686
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPool.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<response
+xmlns="urn:didata.com:api:cloud:types" requestId="NA9/2015-05-29T11:57:29.793-04:00/9f7191df-de3a-4cf3-a0a1-6321e88b5af5">
+<operation>EDIT_POOL</operation>
+<responseCode>OK</responseCode>
+<message>Pool 'ProductionPool.2' has been updated.</message>
+<info name="name" value="ProductionPool.2"/>
+<info name="poolId" value="4d360b1f-bc2c-4ab7-9884-1f03ba2768f7"/>
+</response>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPoolMember.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPoolMember.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPoolMember.xml
new file mode 100644
index 0000000..89ce41d
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_editPoolMember.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<response
+xmlns="urn:didata.com:api:cloud:types" requestId="NA9/2015-06-09T09:29:46.249-04:00/c128c717-b3b4-480a-ba93-e3fb2e32a9be">
+<operation>EDIT_POOL_MEMBER</operation>
+<responseCode>OK</responseCode>
+<message>Pool Member (10.0.3.13:9889) has been edited.</message>
+<info name="poolMemberId" value="3dd806a2-c2c8-4c0c-9a4f-5219ea9266c0"/>
+</response>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node.xml
new file mode 100644
index 0000000..b58e58f
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<nodes xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="1"
+totalCount="2" pageSize="250">
+<node id="34de6ed6-46a4-4dae-a753-2f8d3840c6f9" datacenterId="NA9">
+<networkDomainId>553f26b6-2a73-42c3-a78b-
+6116f11291d0</networkDomainId>
+<name>ProductionNode.1</name>
+<description>Production Server 1</description>
+<ipv4Address>10.10.10.101</ipv4Address>
+<state>NORMAL</state>
+<status>ENABLED</status>
+<healthMonitor id="0168b83a-d487-11e4-811f-005056806999" name="ICMP"/>
+<connectionLimit>10000</connectionLimit>
+<connectionRateLimit>2000</connectionRateLimit>
+<createTime>2015-05-29T13:56:13.000Z</createTime>
+</node>
+<node id="78d2437e-36e1-4dd5-9bfd-582a85d207ad" datacenterId="NA9">
+<networkDomainId>553f26b6-2a73-42c3-a78b-
+6116f11291d0</networkDomainId>
+<name>ProductionNode.2</name>
+<description>Production Server 2</description>
+<ipv4Address>10.5.2.15</ipv4Address>
+<state>NORMAL</state>
+<status>ENABLED</status>
+<connectionLimit>10000</connectionLimit>
+<connectionRateLimit>2000</connectionRateLimit>
+<createTime>2015-05-29T11:46:55.000Z</createTime>
+</node>
+</nodes>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node_34de6ed6_46a4_4dae_a753_2f8d3840c6f9.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node_34de6ed6_46a4_4dae_a753_2f8d3840c6f9.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node_34de6ed6_46a4_4dae_a753_2f8d3840c6f9.xml
new file mode 100644
index 0000000..ace9123
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_node_34de6ed6_46a4_4dae_a753_2f8d3840c6f9.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node xmlns="urn:didata.com:api:cloud:types" id="34de6ed6-46a4-4dae-a753-2f8d3840c6f9" datacenterId="NA9">
+<networkDomainId>553f26b6-2a73-42c3-a78b-6116f11291d0</networkDomainId>
+<name>ProductionNode.2</name>
+<description>Production Server 2</description>
+<ipv4Address>10.10.10.101</ipv4Address>
+<state>NORMAL</state>
+<status>ENABLED</status>
+<healthMonitor id="0168b83a-d487-11e4-811f-005056806999" name="ICMP"/>
+<connectionLimit>10000</connectionLimit>
+<connectionRateLimit>2000</connectionRateLimit>
+<createTime>2015-05-27T13:56:13.000Z</createTime>
+</node>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool.xml
new file mode 100644
index 0000000..239fe52
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pools
+xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="2"
+totalCount="2" pageSize="250">
+<pool id="4d360b1f-bc2c-4ab7-9884-1f03ba2768f7" datacenterId="NA9">
+<networkDomainId>553f26b6-2a73-42c3-a78b-
+6116f11291d0</networkDomainId>
+<name>myDevelopmentPool.1</name>
+<description>Pool for load balancing development application
+servers.</description>
+<loadBalanceMethod>ROUND_ROBIN</loadBalanceMethod>
+<healthMonitor id="01683574-d487-11e4-811f-005056806999"
+name="CCDEFAULT.Http"/>
+<healthMonitor id="0168546c-d487-11e4-811f-005056806999"
+name="CCDEFAULT.Https"/>
+<serviceDownAction>RESELECT</serviceDownAction>
+<slowRampTime>10</slowRampTime>
+<state>NORMAL</state>
+<createTime>2015-06-04T09:15:07.000Z</createTime>
+</pool>
+<pool id="afb1fb1a-eab9-43f4-95c2-36a4cdda6cb8" datacenterId="NA9">
+<networkDomainId>553f26b6-2a73-42c3-a78b-
+6116f11291d0</networkDomainId>
+<name>myProductionPool.1</name>
+<description>Pool for load balancing production application
+servers.</description>
+<loadBalanceMethod>ROUND_ROBIN</loadBalanceMethod>
+<healthMonitor id="01683574-d487-11e4-811f-005056806999"
+name="CCDEFAULT.Http"/>
+<healthMonitor id="0168546c-d487-11e4-811f-005056806999"
+name="CCDEFAULT.Https"/>
+<serviceDownAction>NONE</serviceDownAction>
+<slowRampTime>10</slowRampTime>
+<state>NORMAL</state>
+<createTime>2015-06-03T14:11:17.000Z</createTime>
+</pool>
+</pools>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember.xml
new file mode 100644
index 0000000..b36f75e
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<poolMembers
+xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="2"
+totalCount="2" pageSize="250">
+<poolMember id="3dd806a2-c2c8-4c0c-9a4f-5219ea9266c0" datacenterId="NA9">
+<networkDomainId>553f26b6-2a73-42c3-a78b-
+6116f11291d0</networkDomainId>
+<pool id="4d360b1f-bc2c-4ab7-9884-1f03ba2768f7"
+name="myDevelopmentPool.1"/>
+<node id="3c207269-e75e-11e4-811f-005056806999" name="10.0.3.13"
+ipAddress="10.0.3.13" status="ENABLED"/>
+<port>9889</port>
+<status>ENABLED</status>
+<state>NORMAL</state>
+<createTime>2015-06-09T11:02:50.000Z</createTime>
+</poolMember>
+<poolMember id="b977578b-a827-4172-b285-030c3ba15daa" datacenterId="NA9">
+<networkDomainId>553f26b6-2a73-42c3-a78b-
+6116f11291d0</networkDomainId>
+<pool id="4d360b1f-bc2c-4ab7-9884-1f03ba2768f7"
+name="myDevelopmentPool.1"/>
+<node id="3c207269-e75e-11e4-811f-005056806999" name="10.0.3.13"
+ipAddress="10.0.3.13" status="ENABLED"/>
+<port>9888</port>
+<status>ENABLED</status>
+<state>NORMAL</state>
+<createTime>2015-06-09T10:43:29.000Z</createTime>
+</poolMember>
+</poolMembers>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember_3dd806a2_c2c8_4c0c_9a4f_5219ea9266c0.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember_3dd806a2_c2c8_4c0c_9a4f_5219ea9266c0.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember_3dd806a2_c2c8_4c0c_9a4f_5219ea9266c0.xml
new file mode 100644
index 0000000..7c86d4a
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_poolMember_3dd806a2_c2c8_4c0c_9a4f_5219ea9266c0.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<poolMember
+xmlns="urn:didata.com:api:cloud:types" id="3dd806a2-c2c8-4c0c-9a4f-5219ea9266c0" datacenterId="NA9">
+<networkDomainId>553f26b6-2a73-42c3-a78b-6116f11291d0</networkDomainId>
+<pool id="6f2f5d7b-cdd9-4d84-8ad7-999b64a87978"
+name="myDevelopmentPool.1"/>
+<node id="3c207269-e75e-11e4-811f-005056806999" name="10.0.3.13"
+ipAddress="10.0.3.13" status="ENABLED"/>
+<port>9889</port>
+<status>ENABLED</status>
+<state>NORMAL</state>
+<createTime>2015-06-09T11:02:50.000Z</createTime>
+</poolMember>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool_4d360b1f_bc2c_4ab7_9884_1f03ba2768f7.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool_4d360b1f_bc2c_4ab7_9884_1f03ba2768f7.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool_4d360b1f_bc2c_4ab7_9884_1f03ba2768f7.xml
new file mode 100644
index 0000000..89d3400
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_pool_4d360b1f_bc2c_4ab7_9884_1f03ba2768f7.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pool
+xmlns="urn:didata.com:api:cloud:types" id="4d360b1f-bc2c-4ab7-9884-1f03ba2768f7" datacenterId="NA9">
+<networkDomainId>553f26b6-2a73-42c3-a78b-6116f11291d0</networkDomainId>
+<name>myDevelopmentPool.1</name>
+<description>Pool for load balancing development application
+servers.</description>
+<loadBalanceMethod>ROUND_ROBIN</loadBalanceMethod>
+<healthMonitor id="01683574-d487-11e4-811f-005056806999"
+name="CCDEFAULT.Http"/>
+<healthMonitor id="0168546c-d487-11e4-811f-005056806999"
+name="CCDEFAULT.Https"/>
+<serviceDownAction>RESELECT</serviceDownAction>
+<slowRampTime>10</slowRampTime>
+<state>NORMAL</state>
+<createTime>2015-06-04T09:15:07.000Z</createTime>
+</pool>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_removePoolMember.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_removePoolMember.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_removePoolMember.xml
new file mode 100644
index 0000000..bfe47bc
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_removePoolMember.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<response requestId="na9/2015-05-14T13:37:20/62f06368-c3fb-11e3-b29c-001517c4643e" xmlns="urn:didata.com:api:cloud:types">
+<operation>REMOVE_POOL_MEMBER</operation>
+<responseCode>OK</responseCode>
+<message>Pool Member (id:34de6ed6-46a4-4dae-a753-2f8d3840c6f9) has been
+removed.</message>
+</response>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener.xml
new file mode 100644
index 0000000..88a94fa
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<virtualListeners
+xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="5"
+totalCount="5" pageSize="250">
+<virtualListener id="6115469d-a8bb-445b-bb23-d23b5283f2b9"
+datacenterId="NA9">
+<networkDomainId>553f26b6-2a73-42c3-a78b-
+6116f11291d0</networkDomainId>
+<name>myProduction.Virtual.Listener</name>
+<state>NORMAL</state>
+<description>Virtual Listener for load balancing our test
+systems.</description>
+<createTime>2015-05-28T15:59:49.000Z</createTime>
+<type>PERFORMANCE_LAYER_4</type>
+<protocol>HTTP</protocol>
+<listenerIpAddress>165.180.12.22</listenerIpAddress>
+<port>8899</port>
+<enabled>true</enabled>
+<connectionLimit>10000</connectionLimit>
+<connectionRateLimit>400</connectionRateLimit>
+<sourcePortPreservation>PRESERVE</sourcePortPreservation>
+<pool id="afb1fb1a-eab9-43f4-95c2-36a4cdda6cb8"
+name="myProductionPool.1">
+<loadBalanceMethod>ROUND_ROBIN</loadBalanceMethod>
+<serviceDownAction>NONE</serviceDownAction>
+<slowRampTime>10</slowRampTime>
+<healthMonitor id="01683574-d487-11e4-811f-005056806999"
+name="CCDEFAULT.Http"/>
+<healthMonitor id="0168546c-d487-11e4-811f-005056806999"
+name="CCDEFAULT.Https"/>
+</pool>
+<clientClonePool id="6f2f5d7b-cdd9-4d84-8ad7-999b64a87978"
+name="myDevelopmentPool.1">
+<loadBalanceMethod>ROUND_ROBIN</loadBalanceMethod>
+<serviceDownAction>RESELECT</serviceDownAction>
+<slowRampTime>10</slowRampTime>
+<healthMonitor id="01683574-d487-11e4-811f-005056806999"
+name="CCDEFAULT.Http"/>
+<healthMonitor id="0168546c-d487-11e4-811f-005056806999"
+name="CCDEFAULT.Https"/>
+</clientClonePool>
+<persistenceProfile id="a34ca25c-f3db-11e4-b010-005056806999"
+name="CCDEFAULT.DestinationAddress"/>
+<fallbackPersistenceProfile id="a34ca3f6-f3db-11e4-b010-005056806999"
+name="CCDEFAULT.SourceAddress"/>
+<irule id="2b20abd9-ffdc-11e4-b010-005056806999"
+name="CCDEFAULT.IpProtocolTimers"/>
+<irule id="2b20e790-ffdc-11e4-b010-005056806999"
+name="CCDEFAULT.Ips"/>
+</virtualListener>
+</virtualListeners>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener_6115469d_a8bb_445b_bb23_d23b5283f2b9.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener_6115469d_a8bb_445b_bb23_d23b5283f2b9.xml b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener_6115469d_a8bb_445b_bb23_d23b5283f2b9.xml
new file mode 100644
index 0000000..aea2f6f
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/networkDomainVip_virtualListener_6115469d_a8bb_445b_bb23_d23b5283f2b9.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<virtualListener
+xmlns="urn:didata.com:api:cloud:types" id="6115469d-a8bb-445b-bb23-d23b5283f2b9" datacenterId="NA9">
+<networkDomainId>553f26b6-2a73-42c3-a78b-6116f11291d0</networkDomainId>
+<name>myProduction.Virtual.Listener</name>
+<state>NORMAL</state>
+<description>Virtual Listener for load balancing our test
+systems.</description>
+<createTime>2015-05-28T15:59:49.000Z</createTime>
+<type>PERFORMANCE_LAYER_4</type>
+<protocol>HTTP</protocol>
+<listenerIpAddress>165.180.12.22</listenerIpAddress>
+<port>8899</port>
+<enabled>true</enabled>
+<connectionLimit>10000</connectionLimit>
+<connectionRateLimit>400</connectionRateLimit>
+<sourcePortPreservation>PRESERVE</sourcePortPreservation>
+<pool id="afb1fb1a-eab9-43f4-95c2-36a4cdda6cb8" name="myProductionPool.1">
+<loadBalanceMethod>ROUND_ROBIN</loadBalanceMethod>
+<serviceDownAction>NONE</serviceDownAction>
+<slowRampTime>10</slowRampTime>
+<healthMonitor id="01683574-d487-11e4-811f-005056806999"
+name="CCDEFAULT.Http"/>
+<healthMonitor id="0168546c-d487-11e4-811f-005056806999"
+name="CCDEFAULT.Https"/>
+</pool>
+<clientClonePool id="6f2f5d7b-cdd9-4d84-8ad7-999b64a87978"
+name="myDevelopmentPool.1">
+<loadBalanceMethod>ROUND_ROBIN</loadBalanceMethod>
+<serviceDownAction>RESELECT</serviceDownAction>
+<slowRampTime>10</slowRampTime>
+<healthMonitor id="01683574-d487-11e4-811f-005056806999"
+name="CCDEFAULT.Http"/>
+<healthMonitor id="0168546c-d487-11e4-811f-005056806999"
+name="CCDEFAULT.Https"/>
+</clientClonePool>
+<persistenceProfile id="a34ca25c-f3db-11e4-b010-005056806999"
+name="CCDEFAULT.DestinationAddress"/>
+<fallbackPersistenceProfile id="a34ca3f6-f3db-11e4-b010-005056806999"
+name="CCDEFAULT.SourceAddress"/>
+<irule id="2b20abd9-ffdc-11e4-b010-005056806999"
+name="CCDEFAULT.IpProtocolTimers"/>
+<irule id="2b20e790-ffdc-11e4-b010-005056806999" name="CCDEFAULT.Ips"/>
+</virtualListener>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d22a5260/libcloud/test/loadbalancer/fixtures/nttcis/oec_0_9_myaccount.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/loadbalancer/fixtures/nttcis/oec_0_9_myaccount.xml b/libcloud/test/loadbalancer/fixtures/nttcis/oec_0_9_myaccount.xml
new file mode 100644
index 0000000..4f3b132
--- /dev/null
+++ b/libcloud/test/loadbalancer/fixtures/nttcis/oec_0_9_myaccount.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<ns3:Account xmlns="http://oec.api.opsource.net/schemas/server" xmlns:ns9="http://oec.api.opsource.net/schemas/reset" xmlns:ns5="http://oec.api.opsource.net/schemas/vip" xmlns:ns12="http://oec.api.opsource.net/schemas/general" xmlns:ns6="http://oec.api.opsource.net/schemas/imageimportexport" xmlns:ns13="http://oec.api.opsource.net/schemas/support" xmlns:ns7="http://oec.api.opsource.net/schemas/whitelabel" xmlns:ns10="http://oec.api.opsource.net/schemas/ipplan" xmlns:ns8="http://oec.api.opsource.net/schemas/datacenter" xmlns:ns11="http://oec.api.opsource.net/schemas/storage" xmlns:ns2="http://oec.api.opsource.net/schemas/organization" xmlns:ns4="http://oec.api.opsource.net/schemas/network" xmlns:ns3="http://oec.api.opsource.net/schemas/directory">
+    <ns3:userName>testuser</ns3:userName>
+    <ns3:fullName>Test User</ns3:fullName>
+    <ns3:firstName>Test</ns3:firstName>
+    <ns3:lastName>User</ns3:lastName>
+    <ns3:emailAddress>test@example.com</ns3:emailAddress>
+    <ns3:orgId>8a8f6abc-2745-4d8a-9cbc-8dabe5a7d0e4</ns3:orgId>
+    <ns3:roles>
+        <ns3:role>
+            <ns3:name>create image</ns3:name>
+        </ns3:role>
+        <ns3:role>
+            <ns3:name>reports</ns3:name>
+        </ns3:role>
+        <ns3:role>
+            <ns3:name>server</ns3:name>
+        </ns3:role>
+        <ns3:role>
+            <ns3:name>primary administrator</ns3:name>
+        </ns3:role>
+        <ns3:role>
+            <ns3:name>network</ns3:name>
+        </ns3:role>
+    </ns3:roles>
+</ns3:Account>


Mime
View raw message