adding api method to get iaas providers

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

Branch: refs/heads/master
Commit: 0abb54be2b80aae3c905b7acaf230bc4a1a0fa73
Parents: d723273
Author: Pubudu Gunatilaka <[email protected]>
Authored: Mon Jun 15 16:05:05 2015 +0530
Committer: Imesh Gunaratne <[email protected]>
Committed: Tue Jun 16 14:18:12 2015 +0530

----------------------------------------------------------------------
 .../services/CloudControllerService.java        |   5 +
 .../impl/CloudControllerServiceImpl.java        |  34 ++
 .../common/beans/IaasProviderInfoBean.java      |  37 ++
 .../client/CloudControllerServiceClient.java    |   5 +
 .../manager/utils/PermissionConstants.java      |   1 +
 .../rest/endpoint/api/StratosApiV41.java        |  22 ++
 .../rest/endpoint/api/StratosApiV41Utils.java   |  18 +
 .../util/converter/ObjectConverter.java         |  13 +-
 .../main/resources/CloudControllerService.wsdl  | 349 +++++++++++--------
 9 files changed, 333 insertions(+), 151 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/0abb54be/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
index 876a681..4655244 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
@@ -410,4 +410,9 @@ public interface CloudControllerService {
                                                             String clusterId, 
String memberId,
                                                             String 
networkPartitionId, Partition partition);
 
+    /**
+     * Returns the available Iaas Providers
+     */
+    public String[] getIaasProviders();
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/0abb54be/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
index 279280f..d90b7e0 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
@@ -25,6 +25,19 @@ import 
org.apache.stratos.cloud.controller.concurrent.PartitionValidatorCallable
 import org.apache.stratos.cloud.controller.config.CloudControllerConfig;
 import org.apache.stratos.cloud.controller.context.CloudControllerContext;
 import org.apache.stratos.cloud.controller.domain.*;
+import org.apache.stratos.cloud.controller.domain.ApplicationClusterContext;
+import org.apache.stratos.cloud.controller.domain.Cartridge;
+import org.apache.stratos.cloud.controller.domain.ClusterContext;
+import org.apache.stratos.cloud.controller.domain.Dependencies;
+import org.apache.stratos.cloud.controller.domain.IaasProvider;
+import org.apache.stratos.cloud.controller.domain.InstanceContext;
+import org.apache.stratos.cloud.controller.domain.MemberContext;
+import org.apache.stratos.cloud.controller.domain.NetworkPartition;
+import org.apache.stratos.cloud.controller.domain.Partition;
+import org.apache.stratos.cloud.controller.domain.PortMapping;
+import org.apache.stratos.cloud.controller.domain.Registrant;
+import org.apache.stratos.cloud.controller.domain.ServiceGroup;
+import org.apache.stratos.cloud.controller.domain.Volume;
 import org.apache.stratos.cloud.controller.domain.kubernetes.KubernetesCluster;
 import org.apache.stratos.cloud.controller.domain.kubernetes.KubernetesHost;
 import org.apache.stratos.cloud.controller.domain.kubernetes.KubernetesMaster;
@@ -33,6 +46,7 @@ import org.apache.stratos.cloud.controller.iaases.Iaas;
 import org.apache.stratos.cloud.controller.messaging.topology.TopologyBuilder;
 import org.apache.stratos.cloud.controller.messaging.topology.TopologyManager;
 import org.apache.stratos.cloud.controller.services.CloudControllerService;
+import org.apache.stratos.cloud.controller.stub.domain.*;
 import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
 import org.apache.stratos.common.Property;
 import org.apache.stratos.common.domain.LoadBalancingIPType;
@@ -1621,4 +1635,24 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
         return true;
     }
 
+    @Override
+    public String[] getIaasProviders() {
+
+        try {
+            Collection<IaasProvider> iaasProviders = 
CloudControllerConfig.getInstance().getIaasProviders();
+            List<String> iaases = new ArrayList<String>();
+
+            for (IaasProvider iaas : iaasProviders) {
+                iaases.add(iaas.getProvider());
+            }
+
+            return iaases.toArray(new String[iaases.size()]);
+        } catch (Exception e) {
+            String message = String.format("Could not get Iaas Providers");
+            log.error(message);
+            throw new CloudControllerException(message, e);
+        }
+
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/0abb54be/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/IaasProviderInfoBean.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/IaasProviderInfoBean.java
 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/IaasProviderInfoBean.java
new file mode 100644
index 0000000..94ca458
--- /dev/null
+++ 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/IaasProviderInfoBean.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.common.beans;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.List;
+
+@XmlRootElement
+public class IaasProviderInfoBean {
+
+    private List<String> iaasProviders;
+
+    public List<String> getIaasProviders() {
+        return iaasProviders;
+    }
+
+    public void setIaasProviders(List<String> iaasProviders) {
+        this.iaasProviders = iaasProviders;
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/0abb54be/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
index 890fd59..85a66a0 100644
--- 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
+++ 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
@@ -264,4 +264,9 @@ public class CloudControllerServiceClient {
         }
     }
 
+    public String[] getIaasProviders() throws RemoteException {
+        return stub.getIaasProviders();
+
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/0abb54be/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/PermissionConstants.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/PermissionConstants.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/PermissionConstants.java
index d655628..e41a6c2 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/PermissionConstants.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/PermissionConstants.java
@@ -54,5 +54,6 @@ public class PermissionConstants {
             "/permission/admin/stratos/domainMappings",
             "/permission/admin/stratos/domainMappings/manage",
             "/permission/admin/stratos/domainMappings/view",
+            "/permission/admin/stratos/iaasProviders/view",
     };
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/0abb54be/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
index fc363ee..053a1e1 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
@@ -22,6 +22,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.autoscaler.stub.*;
 import org.apache.stratos.cloud.controller.stub.*;
+import org.apache.stratos.common.beans.IaasProviderInfoBean;
 import org.apache.stratos.common.beans.ResponseMessageBean;
 import org.apache.stratos.common.beans.TenantInfoBean;
 import org.apache.stratos.common.beans.UserInfoBean;
@@ -2093,4 +2094,25 @@ public class StratosApiV41 extends AbstractApi {
                 String.format("Kubernetes Host removed successfully: 
[kub-host] %s", kubernetesHostId)))
                 .build();
     }
+
+    /**
+     * Get Iaas Providers
+     *
+     * @return 200 if iaas providers are found
+     * @throws RestAPIException
+     */
+    @GET
+    @Path("/iaasProviders")
+    @Produces("application/json")
+    @Consumes("application/json")
+    @AuthorizationAction("/permission/admin/stratos/iaasProviders/view")
+    public Response getIaasProviders()
+            throws RestAPIException {
+        IaasProviderInfoBean iaasProviderInfoBean = 
StratosApiV41Utils.getIaasProviders();
+        if (iaasProviderInfoBean == null) {
+            return Response.status(Response.Status.NOT_FOUND).entity(new 
ResponseMessageBean(
+                    ResponseMessageBean.ERROR, "No IaaS Providers 
found")).build();
+        }
+        return Response.ok(iaasProviderInfoBean).build();
+    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/0abb54be/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index 1b86499..7964e1c 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@ -30,6 +30,7 @@ import 
org.apache.stratos.autoscaler.stub.pojo.ApplicationContext;
 import org.apache.stratos.autoscaler.stub.pojo.ServiceGroup;
 import org.apache.stratos.cloud.controller.stub.*;
 import org.apache.stratos.cloud.controller.stub.domain.Cartridge;
+import org.apache.stratos.common.beans.IaasProviderInfoBean;
 import org.apache.stratos.common.beans.PropertyBean;
 import org.apache.stratos.common.beans.TenantInfoBean;
 import org.apache.stratos.common.beans.UserInfoBean;
@@ -3526,4 +3527,21 @@ public class StratosApiV41Utils {
             }
         }
     }
+
+    /**
+     * Get Iaas Providers
+     *
+     * @return Array of Strings
+     */
+    public static IaasProviderInfoBean getIaasProviders() throws 
RestAPIException {
+        try {
+            CloudControllerServiceClient serviceClient = 
CloudControllerServiceClient.getInstance();
+            String[] iaasProviders = serviceClient.getIaasProviders();
+            return 
ObjectConverter.convertStringArrayToIaasProviderInfoBean(iaasProviders);
+        } catch (RemoteException e) {
+            String message = e.getMessage();
+            log.error(message);
+            throw new RestAPIException(message, e);
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/0abb54be/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
index ff3ce0c..23fdedf 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
@@ -28,6 +28,7 @@ import org.apache.stratos.autoscaler.stub.pojo.*;
 import org.apache.stratos.autoscaler.stub.pojo.Dependencies;
 import org.apache.stratos.autoscaler.stub.pojo.ServiceGroup;
 import org.apache.stratos.cloud.controller.stub.domain.*;
+import org.apache.stratos.common.beans.IaasProviderInfoBean;
 import org.apache.stratos.common.beans.application.*;
 import 
org.apache.stratos.common.beans.application.domain.mapping.DomainMappingBean;
 import 
org.apache.stratos.common.beans.application.signup.ApplicationSignUpBean;
@@ -2111,7 +2112,7 @@ public class ObjectConverter {
             NetworkPartitionRef networkPartitionRef = new 
NetworkPartitionRef();
             networkPartitionRef.setId(networkPartitionReferenceBean.getId());
             
networkPartitionRef.setPartitionAlgo(networkPartitionReferenceBean.getPartitionAlgo());
-            if(networkPartitionReferenceBean.getPartitions() != null) {
+            if (networkPartitionReferenceBean.getPartitions() != null) {
                 networkPartitionRef.setPartitionRefs(convertToASStubPartitions(
                         networkPartitionReferenceBean.getPartitions()));
             }
@@ -2119,4 +2120,14 @@ public class ObjectConverter {
         }
         return networkPartitionRefList.toArray(new 
NetworkPartitionRef[networkPartitionRefList.size()]);
     }
+
+    public static IaasProviderInfoBean 
convertStringArrayToIaasProviderInfoBean(String[] iaasProviders) {
+        IaasProviderInfoBean iaasProviderInfoBean = new IaasProviderInfoBean();
+
+        if (iaasProviders != null) {
+            
iaasProviderInfoBean.setIaasProviders(Arrays.asList(iaasProviders));
+        }
+
+        return iaasProviderInfoBean;
+    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/0abb54be/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
----------------------------------------------------------------------
diff --git 
a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
 
b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
index fd70efe..14e3686 100644
--- 
a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
+++ 
b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
@@ -1,6 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:ns="http://impl.services.controller.cloud.stratos.apache.org"; 
xmlns:ax27="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"; 
xmlns:ax23="http://domain.controller.cloud.stratos.apache.org/xsd"; 
xmlns:ax24="http://common.stratos.apache.org/xsd"; 
xmlns:ax21="http://exception.controller.cloud.stratos.apache.org/xsd"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:ns1="http://org.apache.axis2/xsd"; 
xmlns:ax212="http://topology.domain.messaging.stratos.apache.org/xsd"; 
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
xmlns:ax210="http://domain.common.stratos.apache.org/xsd"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"; 
targetNamespace="http://impl.services.controller.cloud.stratos.apache.org";>
+<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:ax29="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"; 
xmlns:ns="http://impl.services.controller.cloud.stratos.apache.org"; 
xmlns:ax27="http://domain.common.stratos.apache.org/xsd"; 
xmlns:ax23="http://domain.controller.cloud.stratos.apache.org/xsd"; 
xmlns:ax24="http://common.stratos.apache.org/xsd"; 
xmlns:ax21="http://exception.controller.cloud.stratos.apache.org/xsd"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:ns1="http://org.apache.axis2/xsd"; 
xmlns:ax212="http://topology.domain.messaging.stratos.apache.org/xsd"; 
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"; 
targetNamespace="http://impl.services.controller.cloud.stratos.apache.org";>
     <wsdl:types>
-        <xs:schema 
xmlns:ax29="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"; 
xmlns:ax213="http://topology.domain.messaging.stratos.apache.org/xsd"; 
xmlns:ax26="http://domain.controller.cloud.stratos.apache.org/xsd"; 
xmlns:ax22="http://exception.controller.cloud.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://impl.services.controller.cloud.stratos.apache.org";>
+        <xs:schema 
xmlns:ax213="http://topology.domain.messaging.stratos.apache.org/xsd"; 
xmlns:ax26="http://domain.controller.cloud.stratos.apache.org/xsd"; 
xmlns:ax211="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"; 
xmlns:ax22="http://exception.controller.cloud.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://impl.services.controller.cloud.stratos.apache.org";>
             <xs:import 
namespace="http://exception.controller.cloud.stratos.apache.org/xsd"/>
             <xs:import 
namespace="http://domain.controller.cloud.stratos.apache.org/xsd"/>
             <xs:import 
namespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"/>
@@ -239,6 +239,60 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
+            <xs:element name="getIaasProviders">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getIaasProvidersResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="CloudControllerServiceCloudControllerException">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" 
name="CloudControllerException" nillable="true" 
type="ax21:CloudControllerException"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="startInstance">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="instanceContext" 
nillable="true" type="ax26:InstanceContext"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="startInstanceResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:MemberContext"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="CloudControllerServiceInvalidMemberException">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" 
name="InvalidMemberException" nillable="true" 
type="ax21:InvalidMemberException"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="terminateInstance">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="memberId" 
nillable="true" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="terminateInstanceResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
             <xs:element name="getClusterContext">
                 <xs:complexType>
                     <xs:sequence>
@@ -363,48 +417,6 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceCloudControllerException">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" 
name="CloudControllerException" nillable="true" 
type="ax21:CloudControllerException"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="startInstance">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="instanceContext" 
nillable="true" type="ax26:InstanceContext"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="startInstanceResponse">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:MemberContext"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="CloudControllerServiceInvalidMemberException">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidMemberException" nillable="true" 
type="ax21:InvalidMemberException"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="terminateInstance">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="memberId" 
nillable="true" type="xs:string"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="terminateInstanceResponse">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
             <xs:element name="getServiceGroupSubGroups">
                 <xs:complexType>
                     <xs:sequence>
@@ -447,137 +459,137 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidPartitionException">
+            <xs:element name="startInstances">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidPartitionException" nillable="true" 
type="ax21:InvalidPartitionException"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="instanceContexts" nillable="true" type="ax26:InstanceContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validatePartition">
+            <xs:element name="startInstancesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="partition" 
nillable="true" type="ax26:Partition"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax26:MemberContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validatePartitionResponse">
+            <xs:element name="terminateInstanceForcefully">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="memberId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validateDeploymentPolicyNetworkPartition">
+            <xs:element name="terminateInstanceForcefullyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeType" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="networkPartitionId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="validateDeploymentPolicyNetworkPartitionResponse">
+            <xs:element name="CloudControllerServiceInvalidClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                        <xs:element minOccurs="0" 
name="InvalidClusterException" nillable="true" 
type="ax21:InvalidClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="registerService">
+            <xs:element name="terminateInstances">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="registrant" 
nillable="true" type="ax26:Registrant"/>
+                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="registerServiceResponse">
+            <xs:element name="terminateInstancesResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstances">
+            <xs:element name="registerService">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="instanceContexts" nillable="true" type="ax26:InstanceContext"/>
+                        <xs:element minOccurs="0" name="registrant" 
nillable="true" type="ax26:Registrant"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstancesResponse">
+            <xs:element name="registerServiceResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax26:MemberContext"/>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstanceForcefully">
+            <xs:element 
name="CloudControllerServiceUnregisteredClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="memberId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" 
name="UnregisteredClusterException" nillable="true" 
type="ax21:UnregisteredClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstanceForcefullyResponse">
+            <xs:element name="unregisterService">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidClusterException">
+            <xs:element name="unregisterServiceResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidClusterException" nillable="true" 
type="ax21:InvalidClusterException"/>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstances">
+            <xs:element name="CloudControllerServiceInvalidPartitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" 
name="InvalidPartitionException" nillable="true" 
type="ax21:InvalidPartitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstancesResponse">
+            <xs:element name="validateDeploymentPolicyNetworkPartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="cartridgeType" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="networkPartitionId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateClusterStatus">
+            <xs:element 
name="validateDeploymentPolicyNetworkPartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="serviceName" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="instanceId" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="status" 
nillable="true" type="ax212:ClusterStatus"/>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateClusterStatusResponse">
+            <xs:element name="validatePartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="partition" 
nillable="true" type="ax26:Partition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceUnregisteredClusterException">
+            <xs:element name="validatePartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="UnregisteredClusterException" nillable="true" 
type="ax21:UnregisteredClusterException"/>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="unregisterService">
+            <xs:element name="updateClusterStatus">
                 <xs:complexType>
                     <xs:sequence>
+                        <xs:element minOccurs="0" name="serviceName" 
nillable="true" type="xs:string"/>
                         <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="instanceId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="status" 
nillable="true" type="ax212:ClusterStatus"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="unregisterServiceResponse">
+            <xs:element name="updateClusterStatusResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
@@ -682,42 +694,42 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesHost">
+            <xs:element 
name="CloudControllerServiceInvalidKubernetesMasterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesHost" 
nillable="true" type="ax29:KubernetesHost"/>
+                        <xs:element minOccurs="0" 
name="InvalidKubernetesMasterException" nillable="true" 
type="ax21:InvalidKubernetesMasterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesHostResponse">
+            <xs:element 
name="CloudControllerServiceNonExistingKubernetesMasterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                        <xs:element minOccurs="0" 
name="NonExistingKubernetesMasterException" nillable="true" 
type="ax21:NonExistingKubernetesMasterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceInvalidKubernetesMasterException">
+            <xs:element name="updateKubernetesMaster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidKubernetesMasterException" nillable="true" 
type="ax21:InvalidKubernetesMasterException"/>
+                        <xs:element minOccurs="0" name="kubernetesMaster" 
nillable="true" type="ax29:KubernetesMaster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceNonExistingKubernetesMasterException">
+            <xs:element name="updateKubernetesMasterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="NonExistingKubernetesMasterException" nillable="true" 
type="ax21:NonExistingKubernetesMasterException"/>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesMaster">
+            <xs:element name="updateKubernetesHost">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesMaster" 
nillable="true" type="ax29:KubernetesMaster"/>
+                        <xs:element minOccurs="0" name="kubernetesHost" 
nillable="true" type="ax29:KubernetesHost"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesMasterResponse">
+            <xs:element name="updateKubernetesHostResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
@@ -829,49 +841,49 @@
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="NonExistingKubernetesClusterException">
+            <xs:complexType name="CloudControllerException">
+                <xs:complexContent>
+                    <xs:extension base="xs:RuntimeException">
+                        <xs:sequence/>
+                    </xs:extension>
+                </xs:complexContent>
+            </xs:complexType>
+            <xs:complexType name="InvalidMemberException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="NonExistingKubernetesHostException">
+            <xs:complexType name="NonExistingKubernetesClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidKubernetesClusterException">
+            <xs:complexType name="NonExistingKubernetesHostException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="KubernetesClusterAlreadyExistsException">
+            <xs:complexType name="InvalidKubernetesClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="CloudControllerException">
-                <xs:complexContent>
-                    <xs:extension base="xs:RuntimeException">
-                        <xs:sequence/>
-                    </xs:extension>
-                </xs:complexContent>
-            </xs:complexType>
-            <xs:complexType name="InvalidMemberException">
+            <xs:complexType name="KubernetesClusterAlreadyExistsException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidPartitionException">
+            <xs:complexType name="InvalidClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidClusterException">
+            <xs:complexType name="UnregisteredClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="UnregisteredClusterException">
+            <xs:complexType name="InvalidPartitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
@@ -902,31 +914,16 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema attributeFormDefault="qualified" 
elementFormDefault="qualified" 
targetNamespace="http://domain.common.stratos.apache.org/xsd";>
-            <xs:complexType name="NameValuePair">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="value" nillable="true" 
type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="LoadBalancingIPType">
-                <xs:complexContent>
-                    <xs:extension base="xs:Enum">
-                        <xs:sequence/>
-                    </xs:extension>
-                </xs:complexContent>
-            </xs:complexType>
-        </xs:schema>
-        <xs:schema xmlns:ax28="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd";>
+        <xs:schema xmlns:ax210="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd";>
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:complexType name="KubernetesCluster">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="clusterId" nillable="true" 
type="xs:string"/>
                     <xs:element minOccurs="0" name="description" 
nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="kubernetesHosts" nillable="true" type="ax27:KubernetesHost"/>
-                    <xs:element minOccurs="0" name="kubernetesMaster" 
nillable="true" type="ax27:KubernetesMaster"/>
-                    <xs:element minOccurs="0" name="portRange" nillable="true" 
type="ax27:PortRange"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax28:Properties"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="kubernetesHosts" nillable="true" type="ax29:KubernetesHost"/>
+                    <xs:element minOccurs="0" name="kubernetesMaster" 
nillable="true" type="ax29:KubernetesMaster"/>
+                    <xs:element minOccurs="0" name="portRange" nillable="true" 
type="ax29:PortRange"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax210:Properties"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="KubernetesHost">
@@ -934,13 +931,13 @@
                     <xs:element minOccurs="0" name="hostId" nillable="true" 
type="xs:string"/>
                     <xs:element minOccurs="0" name="hostname" nillable="true" 
type="xs:string"/>
                     <xs:element minOccurs="0" name="privateIPAddress" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax28:Properties"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax210:Properties"/>
                     <xs:element minOccurs="0" name="publicIPAddress" 
nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="KubernetesMaster">
                 <xs:complexContent>
-                    <xs:extension base="ax27:KubernetesHost">
+                    <xs:extension base="ax29:KubernetesHost">
                         <xs:sequence/>
                     </xs:extension>
                 </xs:complexContent>
@@ -952,7 +949,22 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax25="http://common.stratos.apache.org/xsd"; 
xmlns:ax211="http://domain.common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://domain.controller.cloud.stratos.apache.org/xsd";>
+        <xs:schema attributeFormDefault="qualified" 
elementFormDefault="qualified" 
targetNamespace="http://domain.common.stratos.apache.org/xsd";>
+            <xs:complexType name="NameValuePair">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
+                    <xs:element minOccurs="0" name="value" nillable="true" 
type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="LoadBalancingIPType">
+                <xs:complexContent>
+                    <xs:extension base="xs:Enum">
+                        <xs:sequence/>
+                    </xs:extension>
+                </xs:complexContent>
+            </xs:complexType>
+        </xs:schema>
+        <xs:schema xmlns:ax28="http://domain.common.stratos.apache.org/xsd"; 
xmlns:ax25="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://domain.controller.cloud.stratos.apache.org/xsd";>
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:import 
namespace="http://domain.common.stratos.apache.org/xsd"/>
             <xs:complexType name="Cartridge">
@@ -1087,22 +1099,6 @@
                     <xs:element maxOccurs="unbounded" minOccurs="0" 
name="startupOrders" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="ClusterContext">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="applicationId" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="cartridgeType" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="clusterId" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="hostName" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="kubernetesServices" 
nillable="true" type="xs:anyType"/>
-                    <xs:element minOccurs="0" name="lbCluster" 
type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="payload" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
-                    <xs:element minOccurs="0" name="timeoutInMillis" 
type="xs:long"/>
-                    <xs:element minOccurs="0" name="volumeRequired" 
type="xs:boolean"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="volumes" nillable="true" type="ax23:Volume"/>
-                </xs:sequence>
-            </xs:complexType>
             <xs:complexType name="InstanceContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="cartridgeType" 
nillable="true" type="xs:string"/>
@@ -1126,14 +1122,14 @@
                     <xs:element minOccurs="0" name="clusterInstanceId" 
nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="defaultPrivateIP" 
nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="defaultPublicIP" 
nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="dynamicPayload" nillable="true" type="ax210:NameValuePair"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="dynamicPayload" nillable="true" type="ax27:NameValuePair"/>
                     <xs:element minOccurs="0" name="initTime" type="xs:long"/>
                     <xs:element minOccurs="0" name="instanceId" 
nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="instanceMetadata" 
nillable="true" type="ax23:InstanceMetadata"/>
                     <xs:element minOccurs="0" name="kubernetesPodId" 
nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="kubernetesPodLabel" 
nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="lbClusterId" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="loadBalancingIPType" 
nillable="true" type="ax210:LoadBalancingIPType"/>
+                    <xs:element minOccurs="0" name="loadBalancingIPType" 
nillable="true" type="ax27:LoadBalancingIPType"/>
                     <xs:element minOccurs="0" name="memberId" nillable="true" 
type="xs:string"/>
                     <xs:element minOccurs="0" name="networkPartitionId" 
nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="obsoleteExpiryTime" 
type="xs:long"/>
@@ -1158,6 +1154,22 @@
                     <xs:element minOccurs="0" name="ram" type="xs:int"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="ClusterContext">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="applicationId" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="cartridgeType" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="clusterId" nillable="true" 
type="xs:string"/>
+                    <xs:element minOccurs="0" name="hostName" nillable="true" 
type="xs:string"/>
+                    <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="kubernetesServices" 
nillable="true" type="xs:anyType"/>
+                    <xs:element minOccurs="0" name="lbCluster" 
type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="payload" nillable="true" 
type="xs:string"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="timeoutInMillis" 
type="xs:long"/>
+                    <xs:element minOccurs="0" name="volumeRequired" 
type="xs:boolean"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="volumes" nillable="true" type="ax23:Volume"/>
+                </xs:sequence>
+            </xs:complexType>
             <xs:complexType name="Registrant">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="autoScalerPolicyName" 
nillable="true" type="xs:string"/>
@@ -1396,6 +1408,12 @@
     <wsdl:message name="getMasterForKubernetesClusterResponse">
         <wsdl:part name="parameters" 
element="ns:getMasterForKubernetesClusterResponse"/>
     </wsdl:message>
+    <wsdl:message name="getIaasProvidersRequest">
+        <wsdl:part name="parameters" element="ns:getIaasProviders"/>
+    </wsdl:message>
+    <wsdl:message name="getIaasProvidersResponse">
+        <wsdl:part name="parameters" element="ns:getIaasProvidersResponse"/>
+    </wsdl:message>
     <wsdl:message name="validateDeploymentPolicyNetworkPartitionRequest">
         <wsdl:part name="parameters" 
element="ns:validateDeploymentPolicyNetworkPartition"/>
     </wsdl:message>
@@ -1639,6 +1657,10 @@
             <wsdl:output message="ns:getMasterForKubernetesClusterResponse" 
wsaw:Action="urn:getMasterForKubernetesClusterResponse"/>
             <wsdl:fault 
message="ns:CloudControllerServiceNonExistingKubernetesClusterException" 
name="CloudControllerServiceNonExistingKubernetesClusterException" 
wsaw:Action="urn:getMasterForKubernetesClusterCloudControllerServiceNonExistingKubernetesClusterException"/>
         </wsdl:operation>
+        <wsdl:operation name="getIaasProviders">
+            <wsdl:input message="ns:getIaasProvidersRequest" 
wsaw:Action="urn:getIaasProviders"/>
+            <wsdl:output message="ns:getIaasProvidersResponse" 
wsaw:Action="urn:getIaasProvidersResponse"/>
+        </wsdl:operation>
         <wsdl:operation name="validateDeploymentPolicyNetworkPartition">
             <wsdl:input 
message="ns:validateDeploymentPolicyNetworkPartitionRequest" 
wsaw:Action="urn:validateDeploymentPolicyNetworkPartition"/>
             <wsdl:output 
message="ns:validateDeploymentPolicyNetworkPartitionResponse" 
wsaw:Action="urn:validateDeploymentPolicyNetworkPartitionResponse"/>
@@ -2039,6 +2061,15 @@
                 <soap:fault use="literal" 
name="CloudControllerServiceNonExistingKubernetesClusterException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="getIaasProviders">
+            <soap:operation soapAction="urn:getIaasProviders" 
style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
         <wsdl:operation name="validateDeploymentPolicyNetworkPartition">
             <soap:operation 
soapAction="urn:validateDeploymentPolicyNetworkPartition" style="document"/>
             <wsdl:input>
@@ -2558,6 +2589,15 @@
                 <soap12:fault use="literal" 
name="CloudControllerServiceNonExistingKubernetesClusterException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="getIaasProviders">
+            <soap12:operation soapAction="urn:getIaasProviders" 
style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
         <wsdl:operation name="validateDeploymentPolicyNetworkPartition">
             <soap12:operation 
soapAction="urn:validateDeploymentPolicyNetworkPartition" style="document"/>
             <wsdl:input>
@@ -2996,6 +3036,15 @@
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
+        <wsdl:operation name="getIaasProviders">
+            <http:operation location="getIaasProviders"/>
+            <wsdl:input>
+                <mime:content type="text/xml" part="parameters"/>
+            </wsdl:input>
+            <wsdl:output>
+                <mime:content type="text/xml" part="parameters"/>
+            </wsdl:output>
+        </wsdl:operation>
         <wsdl:operation name="validateDeploymentPolicyNetworkPartition">
             <http:operation 
location="validateDeploymentPolicyNetworkPartition"/>
             <wsdl:input>

Reply via email to