Repository: stratos Updated Branches: refs/heads/master 50e1bf056 -> c41e66b26
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/c41e66b2 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/c41e66b2 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/c41e66b2 Branch: refs/heads/master Commit: c41e66b2678a463c4ccdfdf01298daf723e0eb2f Parents: fea9104 Author: Gayan Gunarathne <[email protected]> Authored: Sat Jan 24 21:26:02 2015 +0530 Committer: Gayan Gunarathne <[email protected]> Committed: Sat Jan 24 21:26:25 2015 +0530 ---------------------------------------------------------------------- .../parser/DefaultApplicationParser.java | 20 ++- .../cloud/controller/domain/PortMapping.java | 9 ++ .../iaases/kubernetes/KubernetesIaas.java | 1 + .../impl/CloudControllerServiceImpl.java | 28 ++-- .../util/converter/ObjectConverter.java | 4 +- .../main/resources/CloudControllerService.wsdl | 141 ++++++++++--------- 6 files changed, 122 insertions(+), 81 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/c41e66b2/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 420dae0..da04336 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 @@ -175,6 +175,24 @@ public class DefaultApplicationParser implements ApplicationParser { application.setTenantId(applicationContext.getTenantId()); application.setTenantDomain(applicationContext.getTenantDomain()); application.setTenantAdminUserName(applicationContext.getTenantAdminUsername()); + DependencyOrder dependencyOrder=new DependencyOrder(); + Set<StartupOrder> startupOrderSet=new HashSet<StartupOrder>(); + + + String[] arrayOrder= applicationContext.getComponents().getDependencyContext().getStartupOrdersContexts(); + for(int i=0;i<arrayOrder.length;i++) { + + List<String> startedOrder = new ArrayList<String>(); + String[] component = arrayOrder[i].split(","); + for (int j = 0;j<component.length;j++) { + startedOrder.add(component[j]); + } + + startupOrderSet.add(new StartupOrder(startedOrder)); + } + + dependencyOrder.setStartupOrders(startupOrderSet); + application.setDependencyOrder(dependencyOrder); // following keeps track of all Clusters created for this application Map<String,Map<String, ClusterDataHolder>> clusterDataMap; @@ -183,7 +201,7 @@ public class DefaultApplicationParser implements ApplicationParser { // get top level Subscribables if (applicationContext.getComponents().getCartridgeContexts() != null) { clusterDataMap = parseLeafLevelSubscriptions(applicationContext.getApplicationId(), applicationContext.getTenantId(), - application.getKey(), null, Arrays.asList(applicationContext.getComponents().getCartridgeContexts()),null); + application.getKey(), null, Arrays.asList(applicationContext.getComponents().getCartridgeContexts()),application.getDependencyOrder().getStartupOrders()); application.setClusterData(clusterDataMap.get("alias")); application.setClusterDataForType(clusterDataMap.get("type")); } http://git-wip-us.apache.org/repos/asf/stratos/blob/c41e66b2/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/PortMapping.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/PortMapping.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/PortMapping.java index c1d991f..8361734 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/PortMapping.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/PortMapping.java @@ -28,6 +28,7 @@ public class PortMapping implements Serializable{ private int port; private int proxyPort; private int kubernetesServicePort; + private boolean isKubernetesServicePortMapping; public PortMapping() { } @@ -74,4 +75,12 @@ public class PortMapping implements Serializable{ public int getKubernetesServicePort() { return kubernetesServicePort; } + + public boolean isKubernetesServicePortMapping() { + return isKubernetesServicePortMapping; + } + + public void setKubernetesServicePortMapping(boolean isKubernetesServicePortMapping) { + this.isKubernetesServicePortMapping = isKubernetesServicePortMapping; + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/c41e66b2/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java index 6a05478..716842a 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java @@ -449,6 +449,7 @@ public class KubernetesIaas extends Iaas { } portMapping.setKubernetesServicePort(nextServicePort); servicePortsUpdated = true; + portMapping.setKubernetesServicePortMapping(true); if (log.isInfoEnabled()) { log.info(String.format("Kubernetes service port generated: [cluster-id] %s [port] %d " + "[service-port] %d", clusterId, portMapping.getPort(), nextServicePort)); http://git-wip-us.apache.org/repos/asf/stratos/blob/c41e66b2/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 e59b405..0f1ee46 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 @@ -1002,15 +1002,27 @@ public class CloudControllerServiceImpl implements CloudControllerService { 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); + if(dependencyClusterIDs!=null) { + for (int i = 0; i < dependencyClusterIDs.length; i++) { + Cartridge cartridge = CloudControllerContext.getInstance().getCartridge( + appClusterCtxt.getCartridgeType()); + List accessUrlPerCluster = new ArrayList(); + List<PortMapping> portMappings = cartridge.getPortMappings(); + for (PortMapping portMap : portMappings) { + if (portMap.isKubernetesServicePortMapping()) { + String accessUrl = + portMap.getProtocol() + "\\://" + appClusterCtxt.getHostName() + ":" + + portMap.getKubernetesServicePort(); + accessUrlPerCluster.add(accessUrl); + } else { + String accessUrl = + portMap.getProtocol() + "\\://" + appClusterCtxt.getHostName() + ":" + + portMap.getProxyPort(); + accessUrlPerCluster.add(accessUrl); + } + } + accessUrls.put(dependencyClusterIDs[i], accessUrlPerCluster); } - accessUrls.put(dependencyClusterID, accessUrlPerCluster); } } } http://git-wip-us.apache.org/repos/asf/stratos/blob/c41e66b2/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 b6dd300..e200a5f 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 @@ -702,13 +702,13 @@ public class ObjectConverter { PortMapping[] portMappings = cartridgeInfo.getPortMappings(); for (PortMapping portMapping : portMappings) { if (clusterContext.isKubernetesClusterIdSpecified()) { - String accessUrl = portMapping.getProtocol()+"://" + clusterContext.getHostName() +":"+ + String accessUrl = portMapping.getProtocol()+"\\://" + clusterContext.getHostName() +":"+ portMapping.getKubernetesServicePort(); accessUrls.add(accessUrl); } else { String accessUrl = - portMapping.getProtocol() + "://" + clusterContext.getHostName() + ":" + + portMapping.getProtocol() + "\\://" + clusterContext.getHostName() + ":" + portMapping.getProxyPort(); accessUrls.add(accessUrl); } http://git-wip-us.apache.org/repos/asf/stratos/blob/c41e66b2/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 65f72df..8ed3549 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 @@ -78,211 +78,211 @@ </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="getCartridges"> + <xs:element name="CloudControllerServiceInvalidServiceGroupException"> <xs:complexType> - <xs:sequence/> + <xs:sequence> + <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax21:InvalidServiceGroupException"/> + </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="getCartridgesResponse"> + <xs:element name="getServiceGroup"> <xs:complexType> <xs:sequence> - <xs:element maxOccurs="unbounded" minOccurs="0" name="return" 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="CloudControllerServiceInvalidKubernetesMasterException"> + <xs:element name="getServiceGroupResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="InvalidKubernetesMasterException" nillable="true" type="ax21:InvalidKubernetesMasterException"/> + <xs:element minOccurs="0" name="return" nillable="true" type="ax26:ServiceGroup"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceNonExistingKubernetesMasterException"> + <xs:element name="getCartridges"> <xs:complexType> - <xs:sequence> - <xs:element minOccurs="0" name="NonExistingKubernetesMasterException" nillable="true" type="ax21:NonExistingKubernetesMasterException"/> - </xs:sequence> + <xs:sequence/> </xs:complexType> </xs:element> - <xs:element name="updateKubernetesMaster"> + <xs:element name="getCartridgesResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax29:KubernetesMaster"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="updateKubernetesMasterResponse"> + <xs:element name="getServiceGroupDependencies"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="return" type="xs:boolean"/> + <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceNonExistingKubernetesClusterException"> + <xs:element name="getServiceGroupDependenciesResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="NonExistingKubernetesClusterException" nillable="true" type="ax21:NonExistingKubernetesClusterException"/> + <xs:element minOccurs="0" name="return" nillable="true" type="ax26:Dependencies"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="getKubernetesCluster"> + <xs:element name="CloudControllerServiceInvalidCartridgeDefinitionException"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="kubernetesClusterId" 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="getKubernetesClusterResponse"> + <xs:element name="addCartridge"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="return" nillable="true" type="ax29:KubernetesCluster"/> + <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax26:CartridgeConfig"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceInvalidKubernetesHostException"> + <xs:element name="CloudControllerServiceInvalidCartridgeTypeException"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="InvalidKubernetesHostException" nillable="true" type="ax21:InvalidKubernetesHostException"/> + <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax21:InvalidCartridgeTypeException"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceNonExistingKubernetesHostException"> + <xs:element name="removeCartridge"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="NonExistingKubernetesHostException" nillable="true" type="ax21:NonExistingKubernetesHostException"/> + <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="updateKubernetesHost"> + <xs:element name="getServiceGroupSubGroups"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax29:KubernetesHost"/> + <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="updateKubernetesHostResponse"> + <xs:element name="getServiceGroupSubGroupsResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="return" type="xs:boolean"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceInvalidServiceGroupException"> + <xs:element name="getServiceGroupCartridges"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax21:InvalidServiceGroupException"/> + <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="getServiceGroup"> + <xs:element name="getServiceGroupCartridgesResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="getServiceGroupResponse"> + <xs:element name="getCartridgeInfo"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="return" nillable="true" type="ax26:ServiceGroup"/> + <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceInvalidCartridgeDefinitionException"> + <xs:element name="getCartridgeInfoResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="InvalidCartridgeDefinitionException" nillable="true" type="ax21:InvalidCartridgeDefinitionException"/> + <xs:element minOccurs="0" name="return" nillable="true" type="ax26:CartridgeInfo"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="addCartridge"> + <xs:element name="getClusterContext"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax26:CartridgeConfig"/> + <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceInvalidCartridgeTypeException"> + <xs:element name="getClusterContextResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax21:InvalidCartridgeTypeException"/> + <xs:element minOccurs="0" name="return" nillable="true" type="ax26:ClusterContext"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="removeCartridge"> + <xs:element name="CloudControllerServiceInvalidKubernetesMasterException"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="cartridgeType" 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="getServiceGroupSubGroups"> + <xs:element name="CloudControllerServiceNonExistingKubernetesMasterException"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="name" 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="getServiceGroupSubGroupsResponse"> + <xs:element name="updateKubernetesMaster"> <xs:complexType> <xs:sequence> - <xs:element maxOccurs="unbounded" minOccurs="0" name="return" 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="getServiceGroupCartridges"> + <xs:element name="updateKubernetesMasterResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="return" type="xs:boolean"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="getServiceGroupCartridgesResponse"> + <xs:element name="CloudControllerServiceNonExistingKubernetesClusterException"> <xs:complexType> <xs:sequence> - <xs:element maxOccurs="unbounded" minOccurs="0" name="return" 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="getServiceGroupDependencies"> + <xs:element name="getKubernetesCluster"> <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="getServiceGroupDependenciesResponse"> + <xs:element name="getKubernetesClusterResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="return" nillable="true" type="ax26:Dependencies"/> + <xs:element minOccurs="0" name="return" nillable="true" type="ax29:KubernetesCluster"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="getCartridgeInfo"> + <xs:element name="CloudControllerServiceInvalidKubernetesHostException"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="InvalidKubernetesHostException" nillable="true" type="ax21:InvalidKubernetesHostException"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="getCartridgeInfoResponse"> + <xs:element name="CloudControllerServiceNonExistingKubernetesHostException"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="return" nillable="true" type="ax26:CartridgeInfo"/> + <xs:element minOccurs="0" name="NonExistingKubernetesHostException" nillable="true" type="ax21:NonExistingKubernetesHostException"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="getClusterContext"> + <xs:element name="updateKubernetesHost"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="clusterId" 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="getClusterContextResponse"> + <xs:element name="updateKubernetesHostResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="return" nillable="true" type="ax26:ClusterContext"/> + <xs:element minOccurs="0" name="return" type="xs:boolean"/> </xs:sequence> </xs:complexType> </xs:element> @@ -564,42 +564,42 @@ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> - <xs:complexType name="InvalidKubernetesMasterException"> + <xs:complexType name="InvalidServiceGroupException"> <xs:sequence> <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> - <xs:complexType name="NonExistingKubernetesMasterException"> + <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="InvalidKubernetesMasterException"> <xs:sequence> <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> - <xs:complexType name="NonExistingKubernetesHostException"> + <xs:complexType name="NonExistingKubernetesMasterException"> <xs:sequence> <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> - <xs:complexType name="InvalidServiceGroupException"> + <xs:complexType name="NonExistingKubernetesClusterException"> <xs:sequence> <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> - <xs:complexType name="InvalidCartridgeDefinitionException"> + <xs:complexType name="InvalidKubernetesHostException"> <xs:sequence> <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> - <xs:complexType name="InvalidCartridgeTypeException"> + <xs:complexType name="NonExistingKubernetesHostException"> <xs:sequence> <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> </xs:sequence> @@ -853,6 +853,7 @@ <xs:complexType name="PortMapping"> <xs:sequence> <xs:element minOccurs="0" name="kubernetesServicePort" type="xs:int"/> + <xs:element minOccurs="0" name="kubernetesServicePortMapping" type="xs:boolean"/> <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"/>
