Containerization feature of SO
[so.git] / adapters / mso-openstack-adapters / src / main / java / org / onap / so / adapters / vnf / MsoVnfAdapterAsync.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.so.adapters.vnf;
22
23
24 import java.util.Map;
25
26 import javax.jws.Oneway;
27 import javax.jws.WebMethod;
28 import javax.jws.WebParam;
29 import javax.jws.WebService;
30 import javax.xml.bind.annotation.XmlElement;
31
32 import org.onap.so.entity.MsoRequest;
33 import org.onap.so.openstack.beans.VnfRollback;
34
35 /**
36  * This webservice defines the Asynchronous versions of VNF adapter calls.
37  * The notification messages for final responses are documented elsewhere
38  * (by the client service WSDL).
39  *
40  */
41 @WebService (name="VnfAdapterAsync", targetNamespace="http://org.onap.so/vnfA")
42 public interface MsoVnfAdapterAsync
43 {
44         /**
45          * This is the "Create VNF" Web Service Endpoint definition.
46          */
47         @WebMethod
48         @Oneway
49         public void createVnfA (@WebParam(name="cloudSiteId") @XmlElement(required=true) String cloudSiteId,
50                                                         @WebParam(name="tenantId") @XmlElement(required=true) String tenantId,
51                                                         @WebParam(name="vnfType") @XmlElement(required=true) String vnfType,
52                                                         @WebParam(name="vnfVersion") @XmlElement(required=false) String vnfVersion,
53                                                         @WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
54                                                         @WebParam(name="requestType") @XmlElement(required=false) String requestType,
55                                                         @WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId,
56                                                         @WebParam(name="inputs") Map<String,String> inputs,
57                                                         @WebParam(name="failIfExists") Boolean failIfExists,
58                                                         @WebParam(name="backout") Boolean backout,
59                                                         @WebParam(name="enableBridge") Boolean enableBridge,
60                                                         @WebParam(name="messageId") @XmlElement(required=true) String messageId,
61                                                         @WebParam(name="request") MsoRequest msoRequest,
62                                                         @WebParam(name="notificationUrl") @XmlElement(required=true) String notificationUrl );
63         
64         @WebMethod
65         @Oneway
66         public void updateVnfA (@WebParam(name="cloudSiteId") @XmlElement(required=true) String cloudSiteId,
67                                                         @WebParam(name="tenantId") @XmlElement(required=true) String tenantId,
68                                                         @WebParam(name="vnfType") @XmlElement(required=true) String vnfType,
69                                                         @WebParam(name="vnfVersion") @XmlElement(required=false) String vnfVersion,
70                                                         @WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
71                                                         @WebParam(name="requestType") @XmlElement(required=false) String requestType,
72                                                         @WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId,
73                                                         @WebParam(name="inputs") Map<String,String> inputs,
74                                                         @WebParam(name="messageId") @XmlElement(required=true) String messageId,
75                                                         @WebParam(name="request") MsoRequest msoRequest,
76                                                         @WebParam(name="notificationUrl") @XmlElement(required=true) String notificationUrl );
77                                                         
78         @WebMethod
79         @Oneway
80         public void queryVnfA (@WebParam(name="cloudSiteId") @XmlElement(required=true) String cloudSiteId,
81                                                         @WebParam(name="tenantId") @XmlElement(required=true) String tenantId,
82                                                         @WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
83                                                         @WebParam(name="messageId") @XmlElement(required=true) String messageId,
84                                                         @WebParam(name="request") MsoRequest msoRequest,
85                                                         @WebParam(name="notificationUrl") @XmlElement(required=true) String notificationUrl );
86
87         @WebMethod
88         @Oneway
89         public void deleteVnfA (@WebParam(name="cloudSiteId") @XmlElement(required=true) String cloudSiteId,
90                                                         @WebParam(name="tenantId") @XmlElement(required=true) String tenantId,
91                                                         @WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
92                                                         @WebParam(name="messageId") @XmlElement(required=true) String messageId,
93                                                         @WebParam(name="request") MsoRequest msoRequest,
94                                                         @WebParam(name="notificationUrl") @XmlElement(required=true) String notificationUrl );
95
96         @WebMethod
97         @Oneway
98         public void rollbackVnfA (@WebParam(name="rollback") @XmlElement(required=true) VnfRollback rollback,
99                                                 @WebParam(name="messageId") @XmlElement(required=true) String messageId,
100                                                 @WebParam(name="notificationUrl") @XmlElement(required=true) String notificationUrl );
101
102         
103         @WebMethod
104         public void healthCheckA ();
105 }