5642e01a724189964182a4a3281d0c0ef7255bed
[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 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
32
33 import org.onap.so.entity.MsoRequest;
34 import org.onap.so.openstack.beans.VnfRollback;
35 import org.onap.so.openstack.mappers.MapAdapter;
36
37 /**
38  * This webservice defines the Asynchronous versions of VNF adapter calls.
39  * The notification messages for final responses are documented elsewhere
40  * (by the client service WSDL).
41  *
42  */
43 @WebService (name="VnfAdapterAsync", targetNamespace="http://org.onap.so/vnfA")
44 public interface MsoVnfAdapterAsync
45 {
46         /**
47          * This is the "Create VNF" Web Service Endpoint definition.
48          */
49         @WebMethod
50         @Oneway
51         public void createVnfA (@WebParam(name="cloudSiteId") @XmlElement(required=true) String cloudSiteId,
52                                 @WebParam(name="cloudOwner") @XmlElement(required=false) String cloudOwner,
53                                 @WebParam(name="tenantId") @XmlElement(required=true) String tenantId,
54                                                         @WebParam(name="vnfType") @XmlElement(required=true) String vnfType,
55                                                         @WebParam(name="vnfVersion") @XmlElement(required=false) String vnfVersion,
56                                                         @WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
57                                                         @WebParam(name="requestType") @XmlElement(required=false) String requestType,
58                                                         @WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId,
59                                                         @WebParam(name="inputs") @XmlJavaTypeAdapter(MapAdapter.class) Map<String,Object> inputs,
60                                                         @WebParam(name="failIfExists") Boolean failIfExists,
61                                                         @WebParam(name="backout") Boolean backout,
62                                                         @WebParam(name="enableBridge") Boolean enableBridge,
63                                                         @WebParam(name="messageId") @XmlElement(required=true) String messageId,
64                                                         @WebParam(name="request") MsoRequest msoRequest,
65                                                         @WebParam(name="notificationUrl") @XmlElement(required=true) String notificationUrl );
66
67         @WebMethod
68         @Oneway
69         public void updateVnfA (@WebParam(name="cloudSiteId") @XmlElement(required=true) String cloudSiteId,
70                                 @WebParam(name="cloudOwner") @XmlElement(required=false) String cloudOwner,
71                                                         @WebParam(name="tenantId") @XmlElement(required=true) String tenantId,
72                                                         @WebParam(name="vnfType") @XmlElement(required=true) String vnfType,
73                                                         @WebParam(name="vnfVersion") @XmlElement(required=false) String vnfVersion,
74                                                         @WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
75                                                         @WebParam(name="requestType") @XmlElement(required=false) String requestType,
76                                                         @WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId,
77                                                         @WebParam(name="inputs") @XmlJavaTypeAdapter(MapAdapter.class) Map<String,Object> inputs,
78                                                         @WebParam(name="messageId") @XmlElement(required=true) String messageId,
79                                                         @WebParam(name="request") MsoRequest msoRequest,
80                                                         @WebParam(name="notificationUrl") @XmlElement(required=true) String notificationUrl );
81
82         @WebMethod
83         @Oneway
84         public void queryVnfA (@WebParam(name="cloudSiteId") @XmlElement(required=true) String cloudSiteId,
85                                 @WebParam(name="cloudOwner") @XmlElement(required=false) String cloudOwner,
86                                                         @WebParam(name="tenantId") @XmlElement(required=true) String tenantId,
87                                                         @WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
88                                                         @WebParam(name="messageId") @XmlElement(required=true) String messageId,
89                                                         @WebParam(name="request") MsoRequest msoRequest,
90                                                         @WebParam(name="notificationUrl") @XmlElement(required=true) String notificationUrl );
91
92         @WebMethod
93         @Oneway
94         public void deleteVnfA (@WebParam(name="cloudSiteId") @XmlElement(required=true) String cloudSiteId,
95                                 @WebParam(name="cloudOwner") @XmlElement(required=false) String cloudOwner,
96                                                         @WebParam(name="tenantId") @XmlElement(required=true) String tenantId,
97                                                         @WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
98                                                         @WebParam(name="messageId") @XmlElement(required=true) String messageId,
99                                                         @WebParam(name="request") MsoRequest msoRequest,
100                                                         @WebParam(name="notificationUrl") @XmlElement(required=true) String notificationUrl );
101
102         @WebMethod
103         @Oneway
104         public void rollbackVnfA (@WebParam(name="rollback") @XmlElement(required=true) VnfRollback rollback,
105                                                 @WebParam(name="messageId") @XmlElement(required=true) String messageId,
106                                                 @WebParam(name="notificationUrl") @XmlElement(required=true) String notificationUrl );
107
108
109         @WebMethod
110         public void healthCheckA ();
111 }