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>
