VREManager WSDL

From Gcube Wiki
Jump to: navigation, search
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="VREManager"
    targetNamespace="http://gcube-system.org/namespaces/vremanagement/vremanager"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://gcube-system.org/namespaces/vremanagement/vremanager"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:provider="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"
    xmlns:coretypes="http://gcube-system.org/namespaces/common/core/types"
    xmlns:corefaults="http://gcube-system.org/namespaces/common/core/faults"
    xmlns:vretypes="http://gcube-system.org/common/vremanagement/types"
    xmlns:wsrlw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl"
    xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"    
    xmlns:wsntw="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.wsdl"
    xmlns:wsdlpp="http://www.globus.org/namespaces/2004/10/WSDLPreprocessor"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">

	<import namespace="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"  location="../gcube/common/core/providers/GCUBEProvider.wsdl"/>

	<import namespace="http://gcube-system.org/namespaces/common/core/faults" location="../gcube/common/core/faults/GCUBEFaults.wsdl"/>
	
	<import namespace="http://gcube-system.org/common/vremanagement/types" location="VREManagementTypes.wsdl"/> 


<!--============================================================

                      T Y P E S
                      
  ============================================================-->
<types>
<xsd:schema targetNamespace="http://gcube-system.org/namespaces/vremanagement/vremanager"
    xmlns:tns="http://gcube-system.org/namespaces/vremanagement/vremanager"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   
   <xsd:import namespace="http://gcube-system.org/namespaces/common/core/types" schemaLocation="../gcube/common/core/types/GCUBETypes.xsd"/>
   <xsd:import namespace="http://gcube-system.org/common/vremanagement/types" schemaLocation="VREManagementTypes.xsd"/>
	
	<xsd:simpleType name="resourceID">
		<xsd:restriction base="xsd:string" />
	</xsd:simpleType>    	
    
    <xsd:element name="VOID">
   		<xsd:complexType/>
    </xsd:element>	
	
    <xsd:complexType name="CStoRun">
    	<xsd:sequence>
    			<xsd:element name="pre" type="tns:resourceID" minOccurs="0" maxOccurs="unbounded"/>
		  		<xsd:element name="post" type="tns:resourceID" minOccurs="0" maxOccurs="unbounded"/>
		  		<xsd:element name="delete" type="tns:resourceID" minOccurs="0" maxOccurs="unbounded"/>
    	</xsd:sequence>
    </xsd:complexType>
    	
	<xsd:complexType name="ServiceItem">	
			<xsd:sequence>
				<xsd:element name="ServiceClass" type="xsd:string"/> 
		  		<xsd:element name="ServiceName" type="xsd:string"/>
		  		<xsd:element name="ServiceVersion" type="xsd:string" minOccurs="0" maxOccurs="1"/>
		  		<xsd:element name="GHN" type="tns:resourceID" minOccurs="0" maxOccurs="1"/>
		  		<xsd:element name="CS" type="tns:CStoRun" minOccurs="0" maxOccurs="1"/>
		 	</xsd:sequence>
  	</xsd:complexType>
	
	<xsd:complexType name="ServiceList">	
			<xsd:sequence>
				<xsd:element name="service" type="tns:ServiceItem" minOccurs="1" maxOccurs="unbounded"/> 
		  		<xsd:element name="GHN" type="tns:resourceID" minOccurs="0" maxOccurs="unbounded"/>		  		
		 	</xsd:sequence>
  	</xsd:complexType>	
	
	<xsd:complexType name="ResourceItem">	
			<xsd:sequence>
				<xsd:element name="ID" type="tns:resourceID"/>
				<xsd:element name="Type" type="xsd:string"/>  
		  		<xsd:element name="CS" type="tns:CStoRun" minOccurs="0" maxOccurs="1"/>		  		
		 	</xsd:sequence>
  	</xsd:complexType>
  	
	<xsd:complexType name="ResourceList">	
		<xsd:sequence>
			<xsd:element name="resource" type="tns:ResourceItem" minOccurs="1" maxOccurs="unbounded"/>		  		
		</xsd:sequence>
  	</xsd:complexType>
	
	
	<xsd:element name="addResourcesParameters"> 
    	<xsd:complexType>	
		<xsd:sequence>
			<xsd:element name="services" type="tns:ServiceList" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="resources" type="tns:ResourceList" minOccurs="0" maxOccurs="1"/>				 		  		    
                        <xsd:element name="targetScope" type="xsd:string" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
  		</xsd:complexType>		
	</xsd:element>
	
	<xsd:element name="removeResourcesParameters"> 
    	  <xsd:complexType>	
		<xsd:sequence>
			<xsd:element name="services" type="tns:ServiceList" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="resources" type="tns:ResourceList" minOccurs="0" maxOccurs="1"/> 		  		
                        <xsd:element name="targetScope" type="xsd:string" minOccurs="0" maxOccurs="1"/>        
		</xsd:sequence>
  	  </xsd:complexType>	
	</xsd:element>
	
	<xsd:element name="sendReportParameters"> 
    	  <xsd:complexType>	
		<xsd:sequence>
			<xsd:element name="callbackID" type="xsd:string"/>
                        <xsd:element name="report" type="xsd:string"/>        
		 </xsd:sequence>
  	   </xsd:complexType>	
	</xsd:element>	

	<xsd:complexType name="ScopeOption">	
			<xsd:sequence>
				<xsd:element name="name" type="xsd:string"/>
				<xsd:element name="value" type="xsd:string"/>  		  				  	
		 	</xsd:sequence>
  	</xsd:complexType>
	
	<xsd:element name="optionsParameters"> 
    	<xsd:complexType>	
			<xsd:sequence>
				<xsd:element name="ScopeOptionList" type="tns:ScopeOption" minOccurs="1" maxOccurs="unbounded"/>                        
		 	</xsd:sequence>
  		</xsd:complexType>	
	</xsd:element>
	
	<xsd:element name="GHN" type="tns:resourceID"/>		
	
	<xsd:element name="reportID" type="xsd:string"/>
	
	<xsd:element name="report" type="xsd:string"/>

	<!--  RESOURCE PROPERTIES -->
	
	<xsd:element name="ManagedScope" type="xsd:string"/>
	
	<xsd:element name="VREManagerResourceProperties">
         <xsd:complexType>
    		<xsd:element ref="tns:ManagedScope" minOccurs="1" maxOccurs="1"/>     
         </xsd:complexType>                        
	</xsd:element>


</xsd:schema>
</types>

 <!--============================================================

                       M E S S A G E S

  ============================================================-->

    <message name="AddResourcesInputMessage">
        <part name="request" element="tns:addResourcesParameters"/>
    </message>
    <message name="AddResourcesResponseMessage">
        <part name="request" element="tns:reportID"/>
    </message>            
	<message name="RemoveResourcesInputMessage">
         <part name="request" element="tns:removeResourcesParameters"/>
    </message>
    <message name="RemoveResourcesResponseMessage">
        <part name="request" element="tns:reportID"/>
    </message>    
    <message name="NotifyGHNDeathInputMessage">
        <part name="request" element="tns:GHN"/>
    </message>    
	<message name="SendReportInputMessage">
        <part name="request" element="tns:sendReportParameters"/>
    </message>        	
    <message name="SetScopeOptionsInputMessage">
        <part name="request" element="tns:optionsParameters"/>
    </message>
    <message name="GetReportInputMessage">
        <part name="request" element="tns:reportID"/>
    </message>
    <message name="GetReportResponseMessage">
        <part name="request" element="tns:report"/>
    </message>
	<message name="VoidMessage">
		<part name="response" element="tns:VOID"/>
	</message>
<!--============================================================

                       P O R T T Y P E
                      
  ============================================================-->
<portType name="VREManagerPortType" 
    wsdlpp:extends="provider:GCUBEProvider"
    wsrp:ResourceProperties="tns:VREManagerResourceProperties">
	<documentation>service version 1.0.2 </documentation>
    
    <operation name="AddResources">
        <input message="tns:AddResourcesInputMessage"/>
        <output message="tns:AddResourcesResponseMessage"/>
        <fault name="fault" message="corefaults:GCUBEFaultMessage"/>
    </operation>

	<operation name="RemoveResources">
        <input message="tns:RemoveResourcesInputMessage"/>
        <output message="tns:RemoveResourcesResponseMessage"/>
        <fault name="fault" message="corefaults:GCUBEFaultMessage"/>
    </operation>
    
	<operation name="NotifyGHNDeath">
        <input message="tns:NotifyGHNDeathInputMessage"/>
        <output message="tns:VoidMessage"/>
        <fault name="fault" message="corefaults:GCUBEFaultMessage"/>
    </operation>        	

	<operation name="SetScopeOptions">
        <input message="tns:SetScopeOptionsInputMessage"/>
        <output message="tns:VoidMessage"/>
        <fault name="fault" message="corefaults:GCUBEFaultMessage"/>
    </operation>
    
	<operation name="SendReport">
        <input message="tns:SendReportInputMessage"/>
        <output message="tns:VoidMessage"/>
        <fault name="fault" message="corefaults:GCUBEFaultMessage"/>
    </operation>
    
    <operation name="GetReport">
        <input message="tns:GetReportInputMessage"/>
        <output message="tns:GetReportResponseMessage"/>
        <fault name="fault" message="corefaults:GCUBEFaultMessage"/>
    </operation>

</portType>

</definitions>