Add Load Balancer access URLs to clusters in the REST API GET 
Application/Runtime method


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

Branch: refs/heads/master
Commit: fea9104848525bc9148d253e69bf66380c62ebbd
Parents: 50e1bf0
Author: Gayan Gunarathne <[email protected]>
Authored: Fri Jan 23 19:50:29 2015 +0530
Committer: Gayan Gunarathne <[email protected]>
Committed: Sat Jan 24 21:26:25 2015 +0530

----------------------------------------------------------------------
 .../parser/DefaultApplicationParser.java        |   2 +-
 .../pojo/ApplicationClusterContext.java         |  12 +-
 .../client/CloudControllerClient.java           |   1 +
 .../domain/ApplicationClusterContext.java       |  10 +
 .../impl/CloudControllerServiceImpl.java        |  29 +-
 .../messaging/domain/topology/Cluster.java      |  11 +-
 .../util/converter/ObjectConverter.java         |   2 +-
 .../main/resources/CloudControllerService.wsdl  | 481 ++++++++++---------
 8 files changed, 301 insertions(+), 247 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/fea91048/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
index db9d9c6..420dae0 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
@@ -695,7 +695,7 @@ public class DefaultApplicationParser implements 
ApplicationParser {
 
         String textPayload = payloadData.toString();
                log.debug("Payload :: " + textPayload);
-        return new ApplicationClusterContext(cartridgeInfo.getType(), 
clusterId, hostname, textPayload, deploymentPolicy, isLB, tenantRange);
+        return new ApplicationClusterContext(cartridgeInfo.getType(), 
clusterId, hostname, textPayload, deploymentPolicy, isLB, 
tenantRange,dependencyClustorIDs);
     }
 
     public String  createToken(String applicationId) throws 
AutoScalerException {

http://git-wip-us.apache.org/repos/asf/stratos/blob/fea91048/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/ApplicationClusterContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/ApplicationClusterContext.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/ApplicationClusterContext.java
index 91a737c..204584d 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/ApplicationClusterContext.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/ApplicationClusterContext.java
@@ -42,9 +42,11 @@ public class ApplicationClusterContext {
     // properties
     private Properties properties;
 
+       private String[] dependencyCluterIds;
+
     public ApplicationClusterContext (String cartridgeType, String clusterId, 
String hostName,
                                       String textPayload, String 
deploymentPolicyName, boolean isLbCluster,
-                                      String tenantRange) {
+                                      String tenantRange, String[] 
dependencyCluterIds) {
 
         this.cartridgeType = cartridgeType;
         this.clusterId = clusterId;
@@ -53,6 +55,7 @@ public class ApplicationClusterContext {
         this.deploymentPolicyName = deploymentPolicyName;
         this.isLbCluster = isLbCluster;
         this.tenantRange = tenantRange;
+           this.dependencyCluterIds=dependencyCluterIds;
     }
 
     public String getClusterId() {
@@ -147,4 +150,11 @@ public class ApplicationClusterContext {
         return this.cartridgeType.hashCode() + this.clusterId.hashCode();
     }
 
+       public String[] getDependencyCluterId() {
+               return dependencyCluterIds;
+       }
+
+       public void setDependencyCluterId(String[] dependencyCluterIds) {
+               this.dependencyCluterIds = dependencyCluterIds;
+       }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/fea91048/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java
index 6fb13fd..cbac3bb 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java
@@ -239,6 +239,7 @@ public class CloudControllerClient {
             dto.setTextPayload(applicationClusterContext.getTextPayload());
             dto.setLbCluster(applicationClusterContext.isLbCluster());
             
dto.setProperties(AutoscalerUtil.toStubProperties(applicationClusterContext.getProperties()));
+                       
dto.setDependencyCluterIds(applicationClusterContext.getDependencyCluterId());
             contextDTOs.add(dto);
         }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/fea91048/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java
index cdd8cf3..7416773 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java
@@ -42,6 +42,8 @@ public class ApplicationClusterContext {
     private String tenantRange;
     // properties
     private Properties properties;
+       //dependencyclusterid
+       private String[] dependencyCluterIds;
 
     public ApplicationClusterContext() {
     }
@@ -137,4 +139,12 @@ public class ApplicationClusterContext {
     public void setProperties(Properties properties) {
         this.properties = properties;
     }
+
+       public String[] getDependencyCluterIds() {
+               return dependencyCluterIds;
+       }
+
+       public void setDependencyCluterIds(String[] dependencyCluterIds) {
+               this.dependencyCluterIds = dependencyCluterIds;
+       }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/fea91048/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 c7d0084..e59b405 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
@@ -28,6 +28,9 @@ import 
org.apache.stratos.cloud.controller.context.CloudControllerContext;
 import org.apache.stratos.cloud.controller.domain.*;
 import org.apache.stratos.cloud.controller.domain.Cartridge;
 import org.apache.stratos.cloud.controller.domain.Dependencies;
+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;
 import org.apache.stratos.cloud.controller.exception.*;
 import org.apache.stratos.cloud.controller.iaases.Iaas;
 import 
org.apache.stratos.cloud.controller.messaging.publisher.StatisticsDataPublisher;
@@ -38,9 +41,6 @@ import 
org.apache.stratos.cloud.controller.services.CloudControllerService;
 import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
 import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
 import org.apache.stratos.common.Property;
-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;
 import org.apache.stratos.messaging.domain.topology.*;
 import org.apache.stratos.messaging.event.topology.MemberReadyToShutdownEvent;
 
@@ -997,6 +997,23 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
 
             // Create a Cluster Context obj. for each of the Clusters in the 
Application
             List<Cluster> clusters = new ArrayList<Cluster>();
+               Map<String,List> accessUrls= new HashMap<String, List>();
+
+               for (ApplicationClusterContext appClusterCtxt : 
appClustersContexts) {
+                       if(appClusterCtxt.getCartridgeType().equals("lb")) {
+                               String[] dependencyClusterIDs = 
appClusterCtxt.getDependencyCluterIds();
+                               for (String dependencyClusterID : 
dependencyClusterIDs) {
+                                       Cartridge cartridge= 
CloudControllerContext.getInstance().getCartridge(appClusterCtxt.getCartridgeType());
+                                               List accessUrlPerCluster=new 
ArrayList();
+                                       List<PortMapping> 
portMappings=cartridge.getPortMappings();
+                                       for(PortMapping portMap: portMappings){
+                                               String 
accessUrl=portMap.getProtocol()+"://"+appClusterCtxt.getHostName()+":"+portMap.getPort();
+                                               
accessUrlPerCluster.add(accessUrl);
+                                       }
+                                       accessUrls.put(dependencyClusterID, 
accessUrlPerCluster);
+                               }
+                       }
+               }
 
             for (ApplicationClusterContext appClusterCtxt : 
appClustersContexts) {
                 ClusterContext clusterContext = new ClusterContext(
@@ -1006,12 +1023,18 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
 
                 
CloudControllerContext.getInstance().addClusterContext(clusterContext);
 
+                   Cartridge 
cartridge=CloudControllerContext.getInstance().getCartridge(clusterContext.getCartridgeType());
+                   if(cartridge.getCategory().equals("lb")){
+
+                   }
+
                 // Create cluster object
                 Cluster cluster = new 
Cluster(appClusterCtxt.getCartridgeType(), appClusterCtxt.getClusterId(),
                         appClusterCtxt.getDeploymentPolicyName(), 
appClusterCtxt.getAutoscalePolicyName(), appId);
                 cluster.setLbCluster(false);
                 cluster.setTenantRange(appClusterCtxt.getTenantRange());
                 
cluster.setHostNames(Arrays.asList(appClusterCtxt.getHostName()));
+                   
cluster.setAccessUrls(accessUrls.get(appClusterCtxt.getClusterId()));
 
                 if (appClusterCtxt.getProperties() != null) {
                     Properties properties = 
CloudControllerUtil.toJavaUtilProperties(appClusterCtxt.getProperties());

http://git-wip-us.apache.org/repos/asf/stratos/blob/fea91048/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
index c51cea2..23c9782 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
@@ -62,6 +62,7 @@ public class Cluster implements Serializable {
     private Properties properties;
     private Map<String, ClusterInstance> instanceIdToInstanceContextMap;
     //private LifeCycleStateManager<ClusterStatus> clusterStateManager;
+       private List accessUrls;
 
     public Cluster(Cluster cluster) {
         this.serviceName = cluster.getServiceName();
@@ -337,7 +338,15 @@ public class Cluster implements Serializable {
     public Collection<ClusterInstance> getClusterInstances() {
         return this.instanceIdToInstanceContextMap.values();
     }
-//    public ClusterStatus getTempStatus() {
+
+       public List getAccessUrls() {
+               return accessUrls;
+       }
+
+       public void setAccessUrls(List accessUrls) {
+               this.accessUrls = accessUrls;
+       }
+       //    public ClusterStatus getTempStatus() {
 //        return status;
 //    }
 //

http://git-wip-us.apache.org/repos/asf/stratos/blob/fea91048/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 dfb25eb..b6dd300 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
@@ -724,7 +724,7 @@ public class ObjectConverter {
             }
 
         }
-               clusterInstanceBean.setAccessUrls(accessUrls);
+               clusterInstanceBean.setAccessUrls(cluster.getAccessUrls());
         for (String hostname : cluster.getHostNames()) {
             clusterInstanceBean.getHostNames().add(hostname);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/fea91048/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 38a4c82..65f72df 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
@@ -26,38 +26,41 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstance">
+            <xs:element name="startInstances">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="instanceContext" 
nillable="true" type="ax26:InstanceContext"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="instanceContexts" nillable="true" type="ax26:InstanceContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstanceResponse">
+            <xs:element name="startInstancesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:MemberContext"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax26:MemberContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidMemberException">
+            <xs:element 
name="CloudControllerServiceUnregisteredClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidMemberException" nillable="true" 
type="ax21:InvalidMemberException"/>
+                        <xs:element minOccurs="0" 
name="UnregisteredClusterException" nillable="true" 
type="ax21:UnregisteredClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceInvalidCartridgeTypeException">
+            <xs:element name="unregisterService">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidCartridgeTypeException" nillable="true" 
type="ax21:InvalidCartridgeTypeException"/>
+                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstance">
+            <xs:element name="updateClusterStatus">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="memberId" 
nillable="true" type="xs:string"/>
+                        <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="ax27:ClusterStatus"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -75,341 +78,329 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceInvalidServiceGroupException">
+            <xs:element name="getCartridges">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getCartridgesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidServiceGroupException" nillable="true" 
type="ax21:InvalidServiceGroupException"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupSubGroups">
+            <xs:element 
name="CloudControllerServiceInvalidKubernetesMasterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
+                        <xs:element minOccurs="0" 
name="InvalidKubernetesMasterException" nillable="true" 
type="ax21:InvalidKubernetesMasterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupSubGroupsResponse">
+            <xs:element 
name="CloudControllerServiceNonExistingKubernetesMasterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" 
name="NonExistingKubernetesMasterException" nillable="true" 
type="ax21:NonExistingKubernetesMasterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupCartridges">
+            <xs:element name="updateKubernetesMaster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
+                        <xs:element minOccurs="0" name="kubernetesMaster" 
nillable="true" type="ax29:KubernetesMaster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupCartridgesResponse">
+            <xs:element name="updateKubernetesMasterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupDependencies">
+            <xs:element 
name="CloudControllerServiceNonExistingKubernetesClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
+                        <xs:element minOccurs="0" 
name="NonExistingKubernetesClusterException" nillable="true" 
type="ax21:NonExistingKubernetesClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupDependenciesResponse">
+            <xs:element name="getKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:Dependencies"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidPartitionException">
+            <xs:element name="getKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidPartitionException" nillable="true" 
type="ax21:InvalidPartitionException"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax29:KubernetesCluster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validatePartition">
+            <xs:element 
name="CloudControllerServiceInvalidKubernetesHostException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="partition" 
nillable="true" type="ax26:Partition"/>
+                        <xs:element minOccurs="0" 
name="InvalidKubernetesHostException" nillable="true" 
type="ax21:InvalidKubernetesHostException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validatePartitionResponse">
+            <xs:element 
name="CloudControllerServiceNonExistingKubernetesHostException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                        <xs:element minOccurs="0" 
name="NonExistingKubernetesHostException" nillable="true" 
type="ax21:NonExistingKubernetesHostException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validateDeploymentPolicy">
+            <xs:element name="updateKubernetesHost">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeType" 
nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="partitions" nillable="true" type="ax26:Partition"/>
+                        <xs:element minOccurs="0" name="kubernetesHost" 
nillable="true" type="ax29:KubernetesHost"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validateDeploymentPolicyResponse">
+            <xs:element name="updateKubernetesHostResponse">
                 <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="CloudControllerServiceInvalidServiceGroupException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="instanceContexts" nillable="true" type="ax26:InstanceContext"/>
+                        <xs:element minOccurs="0" 
name="InvalidServiceGroupException" nillable="true" 
type="ax21:InvalidServiceGroupException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstancesResponse">
+            <xs:element name="getServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax26:MemberContext"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidClusterException">
+            <xs:element name="getServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidClusterException" nillable="true" 
type="ax21:InvalidClusterException"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="terminateInstances">
+            <xs:element 
name="CloudControllerServiceInvalidCartridgeDefinitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" 
name="InvalidCartridgeDefinitionException" nillable="true" 
type="ax21:InvalidCartridgeDefinitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateClusterStatus">
+            <xs:element name="addCartridge">
                 <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="ax27:ClusterStatus"/>
+                        <xs:element minOccurs="0" name="cartridgeConfig" 
nillable="true" type="ax26:CartridgeConfig"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceUnregisteredClusterException">
+            <xs:element 
name="CloudControllerServiceInvalidCartridgeTypeException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="UnregisteredClusterException" nillable="true" 
type="ax21:UnregisteredClusterException"/>
+                        <xs:element minOccurs="0" 
name="InvalidCartridgeTypeException" nillable="true" 
type="ax21:InvalidCartridgeTypeException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="unregisterService">
+            <xs:element name="removeCartridge">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="cartridgeType" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridgeInfo">
+            <xs:element name="getServiceGroupSubGroups">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeType" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridgeInfoResponse">
+            <xs:element name="getServiceGroupSubGroupsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:CartridgeInfo"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceApplicationClusterRegistrationException">
+            <xs:element name="getServiceGroupCartridges">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="ApplicationClusterRegistrationException" nillable="true" 
type="ax21:ApplicationClusterRegistrationException"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="createApplicationClusters">
+            <xs:element name="getServiceGroupCartridgesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="appId" nillable="true" 
type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="appClustersContexts" nillable="true" 
type="ax26:ApplicationClusterContext"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceClusterInstanceCreationException">
+            <xs:element name="getServiceGroupDependencies">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="ClusterInstanceCreationException" nillable="true" 
type="ax21:ClusterInstanceCreationException"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="createClusterInstance">
+            <xs:element name="getServiceGroupDependenciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="serviceType" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="alias" nillable="true" 
type="xs:string"/>
-                        <xs:element minOccurs="0" name="instanceId" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="partitionId" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="networkPartitionId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:Dependencies"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceNonExistingKubernetesClusterException">
+            <xs:element name="getCartridgeInfo">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="NonExistingKubernetesClusterException" nillable="true" 
type="ax21:NonExistingKubernetesClusterException"/>
+                        <xs:element minOccurs="0" name="cartridgeType" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getMasterForKubernetesCluster">
+            <xs:element name="getCartridgeInfoResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:CartridgeInfo"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getMasterForKubernetesClusterResponse">
+            <xs:element name="getClusterContext">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax29:KubernetesMaster"/>
+                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getHostsForKubernetesCluster">
+            <xs:element name="getClusterContextResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:ClusterContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getHostsForKubernetesClusterResponse">
+            <xs:element name="CloudControllerServiceInvalidClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax29:KubernetesHost"/>
+                        <xs:element minOccurs="0" 
name="InvalidClusterException" nillable="true" 
type="ax21:InvalidClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceInvalidKubernetesHostException">
+            <xs:element name="terminateInstances">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidKubernetesHostException" nillable="true" 
type="ax21:InvalidKubernetesHostException"/>
+                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addKubernetesHost">
+            <xs:element 
name="CloudControllerServiceInvalidKubernetesClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="kubernetesHost" 
nillable="true" type="ax29:KubernetesHost"/>
+                        <xs:element minOccurs="0" 
name="InvalidKubernetesClusterException" nillable="true" 
type="ax21:InvalidKubernetesClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addKubernetesHostResponse">
+            <xs:element name="addKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="kubernetesCluster" 
nillable="true" type="ax29:KubernetesCluster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceNonExistingKubernetesHostException">
+            <xs:element name="addKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="NonExistingKubernetesHostException" nillable="true" 
type="ax21:NonExistingKubernetesHostException"/>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesHost">
+            <xs:element name="addKubernetesHost">
                 <xs:complexType>
                     <xs:sequence>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
                         <xs:element minOccurs="0" name="kubernetesHost" 
nillable="true" type="ax29:KubernetesHost"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesHostResponse">
+            <xs:element name="addKubernetesHostResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceInvalidKubernetesMasterException">
+            <xs:element name="getKubernetesClusters">
                 <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidKubernetesMasterException" nillable="true" 
type="ax21:InvalidKubernetesMasterException"/>
-                    </xs:sequence>
+                    <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceNonExistingKubernetesMasterException">
+            <xs:element name="getKubernetesClustersResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="NonExistingKubernetesMasterException" nillable="true" 
type="ax21:NonExistingKubernetesMasterException"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax29:KubernetesCluster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesMaster">
+            <xs:element name="removeKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesMaster" 
nillable="true" type="ax29:KubernetesMaster"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesMasterResponse">
+            <xs:element name="removeKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridges">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getCartridgesResponse">
+            <xs:element name="removeKubernetesHost">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="kubernetesHostId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceInvalidCartridgeDefinitionException">
+            <xs:element name="removeKubernetesHostResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidCartridgeDefinitionException" nillable="true" 
type="ax21:InvalidCartridgeDefinitionException"/>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addCartridge">
+            <xs:element name="getHostsForKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeConfig" 
nillable="true" type="ax26:CartridgeConfig"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeCartridge">
+            <xs:element name="getHostsForKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeType" 
nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax29:KubernetesHost"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroup">
+            <xs:element name="getMasterForKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupResponse">
+            <xs:element name="getMasterForKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax29:KubernetesMaster"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -427,92 +418,101 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getClusterContext">
+            <xs:element 
name="CloudControllerServiceClusterInstanceCreationException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" 
name="ClusterInstanceCreationException" nillable="true" 
type="ax21:ClusterInstanceCreationException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getClusterContextResponse">
+            <xs:element name="createClusterInstance">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:ClusterContext"/>
+                        <xs:element minOccurs="0" name="serviceType" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="alias" nillable="true" 
type="xs:string"/>
+                        <xs:element minOccurs="0" name="instanceId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="partitionId" 
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="removeKubernetesCluster">
+            <xs:element name="CloudControllerServiceInvalidMemberException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" 
name="InvalidMemberException" nillable="true" 
type="ax21:InvalidMemberException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeKubernetesClusterResponse">
+            <xs:element name="terminateInstance">
                 <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="removeKubernetesHost">
+            <xs:element name="CloudControllerServiceInvalidPartitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesHostId" 
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="removeKubernetesHostResponse">
+            <xs:element name="validateDeploymentPolicy">
                 <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 maxOccurs="unbounded" minOccurs="0" 
name="partitions" nillable="true" type="ax26:Partition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceInvalidKubernetesClusterException">
+            <xs:element name="validateDeploymentPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidKubernetesClusterException" nillable="true" 
type="ax21:InvalidKubernetesClusterException"/>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addKubernetesCluster">
+            <xs:element name="startInstance">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesCluster" 
nillable="true" type="ax29:KubernetesCluster"/>
+                        <xs:element minOccurs="0" name="instanceContext" 
nillable="true" type="ax26:InstanceContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addKubernetesClusterResponse">
+            <xs:element name="startInstanceResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:MemberContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getKubernetesCluster">
+            <xs:element 
name="CloudControllerServiceApplicationClusterRegistrationException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" 
name="ApplicationClusterRegistrationException" nillable="true" 
type="ax21:ApplicationClusterRegistrationException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getKubernetesClusterResponse">
+            <xs:element name="createApplicationClusters">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax29:KubernetesCluster"/>
+                        <xs:element minOccurs="0" name="appId" nillable="true" 
type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="appClustersContexts" nillable="true" 
type="ax26:ApplicationClusterContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getKubernetesClusters">
+            <xs:element name="validatePartition">
                 <xs:complexType>
-                    <xs:sequence/>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="partition" 
nillable="true" type="ax26:Partition"/>
+                    </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getKubernetesClustersResponse">
+            <xs:element name="validatePartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax29:KubernetesCluster"/>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -559,77 +559,77 @@
                     </xs:extension>
                 </xs:complexContent>
             </xs:complexType>
-            <xs:complexType name="InvalidMemberException">
+            <xs:complexType name="UnregisteredClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidCartridgeTypeException">
+            <xs:complexType name="InvalidKubernetesMasterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidServiceGroupException">
+            <xs:complexType name="NonExistingKubernetesMasterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidPartitionException">
+            <xs:complexType name="NonExistingKubernetesClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidClusterException">
+            <xs:complexType name="InvalidKubernetesHostException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="UnregisteredClusterException">
+            <xs:complexType name="NonExistingKubernetesHostException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="ApplicationClusterRegistrationException">
+            <xs:complexType name="InvalidServiceGroupException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="ClusterInstanceCreationException">
+            <xs:complexType name="InvalidCartridgeDefinitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="NonExistingKubernetesClusterException">
+            <xs:complexType name="InvalidCartridgeTypeException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidKubernetesHostException">
+            <xs:complexType name="InvalidClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="NonExistingKubernetesHostException">
+            <xs:complexType name="InvalidKubernetesClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidKubernetesMasterException">
+            <xs:complexType name="ClusterInstanceCreationException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="NonExistingKubernetesMasterException">
+            <xs:complexType name="InvalidMemberException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidCartridgeDefinitionException">
+            <xs:complexType name="InvalidPartitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidKubernetesClusterException">
+            <xs:complexType name="ApplicationClusterRegistrationException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
@@ -765,67 +765,18 @@
                     <xs:element minOccurs="0" name="volumeId" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="Dependencies">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="killBehaviour" 
nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="startupOrders" nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="CartridgeInfo">
-                <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="appTypes" nillable="true" type="ax23:AppType"/>
-                    <xs:element minOccurs="0" name="baseDir" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="category" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="defaultAutoscalingPolicy" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="defaultDeploymentPolicy" 
nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="deploymentDirs" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="description" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="displayName" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="hostName" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="isPublic" 
type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="lbConfig" nillable="true" 
type="ax23:LoadbalancerConfig"/>
-                    <xs:element minOccurs="0" name="multiTenant" 
type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="persistence" 
nillable="true" type="ax23:Persistence"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="portMappings" nillable="true" type="ax23:PortMapping"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="properties" nillable="true" type="ax25:Property"/>
-                    <xs:element minOccurs="0" name="provider" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="serviceGroup" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="tenantPartitions" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="type" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="version" nillable="true" 
type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="AppType">
+            <xs:complexType name="ServiceGroup">
                 <xs:sequence>
-                    <xs:element minOccurs="0" name="appSpecificMapping" 
type="xs:boolean"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="cartridges" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="dependencies" 
nillable="true" type="ax23:Dependencies"/>
                     <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="subGroups" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="LoadbalancerConfig">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
-                    <xs:element minOccurs="0" name="type" nillable="true" 
type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="PortMapping">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="kubernetesServicePort" 
type="xs:int"/>
-                    <xs:element minOccurs="0" name="port" type="xs:int"/>
-                    <xs:element minOccurs="0" name="protocol" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="proxyPort" type="xs:int"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="ApplicationClusterContext">
+            <xs:complexType name="Dependencies">
                 <xs:sequence>
-                    <xs:element minOccurs="0" name="autoscalePolicyName" 
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="deploymentPolicyName" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="hostName" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="lbCluster" 
type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
-                    <xs:element minOccurs="0" name="tenantRange" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="textPayload" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="killBehaviour" 
nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="startupOrders" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="CartridgeConfig">
@@ -893,12 +844,48 @@
                     <xs:element minOccurs="0" name="networkUuid" 
nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="ServiceGroup">
+            <xs:complexType name="LoadbalancerConfig">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="cartridges" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="dependencies" 
nillable="true" type="ax23:Dependencies"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="type" nillable="true" 
type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="PortMapping">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="kubernetesServicePort" 
type="xs:int"/>
+                    <xs:element minOccurs="0" name="port" type="xs:int"/>
+                    <xs:element minOccurs="0" name="protocol" nillable="true" 
type="xs:string"/>
+                    <xs:element minOccurs="0" name="proxyPort" type="xs:int"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="CartridgeInfo">
+                <xs:sequence>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="appTypes" nillable="true" type="ax23:AppType"/>
+                    <xs:element minOccurs="0" name="baseDir" nillable="true" 
type="xs:string"/>
+                    <xs:element minOccurs="0" name="category" nillable="true" 
type="xs:string"/>
+                    <xs:element minOccurs="0" name="defaultAutoscalingPolicy" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="defaultDeploymentPolicy" 
nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="deploymentDirs" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="description" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="displayName" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="hostName" nillable="true" 
type="xs:string"/>
+                    <xs:element minOccurs="0" name="isPublic" 
type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="lbConfig" nillable="true" 
type="ax23:LoadbalancerConfig"/>
+                    <xs:element minOccurs="0" name="multiTenant" 
type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="persistence" 
nillable="true" type="ax23:Persistence"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="portMappings" nillable="true" type="ax23:PortMapping"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="properties" nillable="true" type="ax25:Property"/>
+                    <xs:element minOccurs="0" name="provider" nillable="true" 
type="xs:string"/>
+                    <xs:element minOccurs="0" name="serviceGroup" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="tenantPartitions" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="type" nillable="true" 
type="xs:string"/>
+                    <xs:element minOccurs="0" name="version" nillable="true" 
type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="AppType">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="appSpecificMapping" 
type="xs:boolean"/>
                     <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="subGroups" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="ClusterContext">
@@ -917,6 +904,20 @@
                     <xs:element maxOccurs="unbounded" minOccurs="0" 
name="volumes" nillable="true" type="ax23:Volume"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="ApplicationClusterContext">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="autoscalePolicyName" 
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 maxOccurs="unbounded" minOccurs="0" 
name="dependencyCluterIds" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="deploymentPolicyName" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="hostName" nillable="true" 
type="xs:string"/>
+                    <xs:element minOccurs="0" name="lbCluster" 
type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="tenantRange" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="textPayload" 
nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
         </xs:schema>
     </wsdl:types>
     <wsdl:message name="getCartridgesRequest">
@@ -1009,18 +1010,18 @@
     <wsdl:message name="CloudControllerServiceCloudControllerException">
         <wsdl:part name="parameters" 
element="ns:CloudControllerServiceCloudControllerException"/>
     </wsdl:message>
-    <wsdl:message name="getServiceGroupRequest">
-        <wsdl:part name="parameters" element="ns:getServiceGroup"/>
-    </wsdl:message>
-    <wsdl:message name="getServiceGroupResponse">
-        <wsdl:part name="parameters" element="ns:getServiceGroupResponse"/>
-    </wsdl:message>
     <wsdl:message name="getServiceGroupDependenciesRequest">
         <wsdl:part name="parameters" element="ns:getServiceGroupDependencies"/>
     </wsdl:message>
     <wsdl:message name="getServiceGroupDependenciesResponse">
         <wsdl:part name="parameters" 
element="ns:getServiceGroupDependenciesResponse"/>
     </wsdl:message>
+    <wsdl:message name="getServiceGroupRequest">
+        <wsdl:part name="parameters" element="ns:getServiceGroup"/>
+    </wsdl:message>
+    <wsdl:message name="getServiceGroupResponse">
+        <wsdl:part name="parameters" element="ns:getServiceGroupResponse"/>
+    </wsdl:message>
     <wsdl:message name="getServiceGroupSubGroupsRequest">
         <wsdl:part name="parameters" element="ns:getServiceGroupSubGroups"/>
     </wsdl:message>
@@ -1191,16 +1192,16 @@
             <wsdl:fault 
message="ns:CloudControllerServiceInvalidCartridgeTypeException" 
name="CloudControllerServiceInvalidCartridgeTypeException" 
wsaw:Action="urn:terminateInstanceCloudControllerServiceInvalidCartridgeTypeException"/>
             <wsdl:fault 
message="ns:CloudControllerServiceCloudControllerException" 
name="CloudControllerServiceCloudControllerException" 
wsaw:Action="urn:terminateInstanceCloudControllerServiceCloudControllerException"/>
         </wsdl:operation>
-        <wsdl:operation name="getServiceGroup">
-            <wsdl:input message="ns:getServiceGroupRequest" 
wsaw:Action="urn:getServiceGroup"/>
-            <wsdl:output message="ns:getServiceGroupResponse" 
wsaw:Action="urn:getServiceGroupResponse"/>
-            <wsdl:fault 
message="ns:CloudControllerServiceInvalidServiceGroupException" 
name="CloudControllerServiceInvalidServiceGroupException" 
wsaw:Action="urn:getServiceGroupCloudControllerServiceInvalidServiceGroupException"/>
-        </wsdl:operation>
         <wsdl:operation name="getServiceGroupDependencies">
             <wsdl:input message="ns:getServiceGroupDependenciesRequest" 
wsaw:Action="urn:getServiceGroupDependencies"/>
             <wsdl:output message="ns:getServiceGroupDependenciesResponse" 
wsaw:Action="urn:getServiceGroupDependenciesResponse"/>
             <wsdl:fault 
message="ns:CloudControllerServiceInvalidServiceGroupException" 
name="CloudControllerServiceInvalidServiceGroupException" 
wsaw:Action="urn:getServiceGroupDependenciesCloudControllerServiceInvalidServiceGroupException"/>
         </wsdl:operation>
+        <wsdl:operation name="getServiceGroup">
+            <wsdl:input message="ns:getServiceGroupRequest" 
wsaw:Action="urn:getServiceGroup"/>
+            <wsdl:output message="ns:getServiceGroupResponse" 
wsaw:Action="urn:getServiceGroupResponse"/>
+            <wsdl:fault 
message="ns:CloudControllerServiceInvalidServiceGroupException" 
name="CloudControllerServiceInvalidServiceGroupException" 
wsaw:Action="urn:getServiceGroupCloudControllerServiceInvalidServiceGroupException"/>
+        </wsdl:operation>
         <wsdl:operation name="getServiceGroupSubGroups">
             <wsdl:input message="ns:getServiceGroupSubGroupsRequest" 
wsaw:Action="urn:getServiceGroupSubGroups"/>
             <wsdl:output message="ns:getServiceGroupSubGroupsResponse" 
wsaw:Action="urn:getServiceGroupSubGroupsResponse"/>
@@ -1428,8 +1429,8 @@
                 <soap:fault use="literal" 
name="CloudControllerServiceInvalidCartridgeTypeException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getServiceGroupDependencies">
-            <soap:operation soapAction="urn:getServiceGroupDependencies" 
style="document"/>
+        <wsdl:operation name="getServiceGroup">
+            <soap:operation soapAction="urn:getServiceGroup" style="document"/>
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
@@ -1440,8 +1441,8 @@
                 <soap:fault use="literal" 
name="CloudControllerServiceInvalidServiceGroupException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getServiceGroup">
-            <soap:operation soapAction="urn:getServiceGroup" style="document"/>
+        <wsdl:operation name="getServiceGroupDependencies">
+            <soap:operation soapAction="urn:getServiceGroupDependencies" 
style="document"/>
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
@@ -1806,8 +1807,8 @@
                 <soap12:fault use="literal" 
name="CloudControllerServiceInvalidCartridgeTypeException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getServiceGroupDependencies">
-            <soap12:operation soapAction="urn:getServiceGroupDependencies" 
style="document"/>
+        <wsdl:operation name="getServiceGroup">
+            <soap12:operation soapAction="urn:getServiceGroup" 
style="document"/>
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
@@ -1818,8 +1819,8 @@
                 <soap12:fault use="literal" 
name="CloudControllerServiceInvalidServiceGroupException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getServiceGroup">
-            <soap12:operation soapAction="urn:getServiceGroup" 
style="document"/>
+        <wsdl:operation name="getServiceGroupDependencies">
+            <soap12:operation soapAction="urn:getServiceGroupDependencies" 
style="document"/>
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
@@ -2142,8 +2143,8 @@
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:input>
         </wsdl:operation>
-        <wsdl:operation name="getServiceGroupDependencies">
-            <http:operation location="getServiceGroupDependencies"/>
+        <wsdl:operation name="getServiceGroup">
+            <http:operation location="getServiceGroup"/>
             <wsdl:input>
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:input>
@@ -2151,8 +2152,8 @@
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="getServiceGroup">
-            <http:operation location="getServiceGroup"/>
+        <wsdl:operation name="getServiceGroupDependencies">
+            <http:operation location="getServiceGroupDependencies"/>
             <wsdl:input>
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:input>

Reply via email to