349aa78d448a1fe327ceaf5cf9d0ffa92c8e69ba
[so.git] / adapters / mso-openstack-adapters / src / main / java / org / onap / so / adapters / vnf / MsoVnfAdapter.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.WebMethod;
27 import javax.jws.WebParam;
28 import javax.jws.WebParam.Mode;
29 import javax.jws.WebService;
30 import javax.xml.bind.annotation.XmlElement;
31 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
32 import javax.xml.ws.Holder;
33
34 import org.onap.so.adapters.vnf.exceptions.VnfAlreadyExists;
35 import org.onap.so.adapters.vnf.exceptions.VnfException;
36 import org.onap.so.entity.MsoRequest;
37 import org.onap.so.openstack.beans.VnfRollback;
38 import org.onap.so.openstack.beans.VnfStatus;
39 import org.onap.so.openstack.mappers.MapAdapter;
40
41 @WebService (name="VnfAdapter", targetNamespace="http://org.onap.so/vnf")
42 public interface MsoVnfAdapter
43 {
44         /**
45          * This is the "Create VNF" Web Service Endpoint definition.
46          */
47         @WebMethod
48         public void createVnf (@WebParam(name="cloudSiteId") @XmlElement(required=true) String cloudSiteId,
49                             @WebParam(name="cloudOwner") @XmlElement(required=false) String cloudOwner,
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") @XmlJavaTypeAdapter(MapAdapter.class) Map<String,Object> inputs,
57                                                         @WebParam(name="failIfExists") Boolean failIfExists,
58                                                         @WebParam(name="backout") Boolean backout,
59                                                         @WebParam(name="enableBridge") Boolean enableBridge,
60                                                         @WebParam(name="request") MsoRequest msoRequest,
61                                                         @WebParam(name="vnfId", mode=Mode.OUT) Holder<String> vnfId,
62                                                         @WebParam(name="outputs", mode=Mode.OUT) Holder<Map<String,String>> outputs,
63                                                         @WebParam(name="rollback", mode=Mode.OUT) Holder<VnfRollback> rollback )
64                 throws VnfException, VnfAlreadyExists;
65
66         @WebMethod
67         public void updateVnf (@WebParam(name="cloudSiteId") @XmlElement(required=true) String cloudSiteId,
68                             @WebParam(name="cloudOwner") @XmlElement(required=false) String cloudOwner,
69                                                         @WebParam(name="tenantId") @XmlElement(required=true) String tenantId,
70                                                         @WebParam(name="vnfType") @XmlElement(required=true) String vnfType,
71                                                         @WebParam(name="vnfVersion") @XmlElement(required=false) String vnfVersion,
72                                                         @WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
73                                                         @WebParam(name="requestType") @XmlElement(required=false) String requestType,
74                                                         @WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId,
75                                                         @WebParam(name="inputs") @XmlJavaTypeAdapter(MapAdapter.class) Map<String,Object> inputs,
76                                                         @WebParam(name="request") MsoRequest msoRequest,
77                                                         @WebParam(name="outputs", mode=Mode.OUT) Holder<Map<String,String>> outputs,
78                                                         @WebParam(name="rollback", mode=Mode.OUT) Holder<VnfRollback> rollback )
79                 throws VnfException;
80
81         @WebMethod
82         public void queryVnf (@WebParam(name="cloudSiteId") @XmlElement(required=true) String cloudSiteId,
83                             @WebParam(name="cloudOwner") @XmlElement(required=false) String cloudOwner,
84                                                         @WebParam(name="tenantId") @XmlElement(required=true) String tenantId,
85                                                         @WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
86                                                         @WebParam(name="request") MsoRequest msoRequest,
87                                                         @WebParam(name="vnfExists", mode=Mode.OUT) Holder<Boolean> vnfExists,
88                                                         @WebParam(name="vnfId", mode=Mode.OUT) Holder<String> vnfId,
89                                                         @WebParam(name="status", mode=Mode.OUT) Holder<VnfStatus> status,
90                                                         @WebParam(name="outputs", mode=Mode.OUT) Holder<Map<String,String>> outputs )
91                 throws VnfException;
92
93         @WebMethod
94         public void deleteVnf (@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="request") MsoRequest msoRequest)
99                 throws VnfException;
100
101
102         @WebMethod
103         public void rollbackVnf (@WebParam(name="rollback") @XmlElement(required=true) VnfRollback rollback)
104                 throws VnfException;
105
106         @WebMethod
107         public void createVfModule (@WebParam(name="cloudSiteId") @XmlElement(required=true) String cloudSiteId,
108                                 @WebParam(name="cloudOwner") @XmlElement(required=false) String cloudOwner,
109                                                         @WebParam(name="tenantId") @XmlElement(required=true) String tenantId,
110                                                         @WebParam(name="vnfType") @XmlElement(required=true) String vnfType,
111                                                         @WebParam(name="vnfVersion") @XmlElement(required=false) String vnfVersion,
112                                                         @WebParam(name="genericVnfId") @XmlElement(required=true) String genericVnfId,
113                             @WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
114                                                         @WebParam(name="vfModuleId") @XmlElement(required=true) String vfModuleId,
115                             @WebParam(name="requestType") @XmlElement(required=false) String requestType,
116                                                         @WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId,
117                                                         @WebParam(name="baseVfHeatStackId") @XmlElement(required=false) String baseVfHeatStackId,
118                                                         @WebParam(name = "modelCustomizationUuid") @XmlElement(required = false) String modelCustomizationUuid,
119                                                         @WebParam(name="inputs") @XmlJavaTypeAdapter(MapAdapter.class) Map<String,Object> inputs,
120                                                         @WebParam(name="failIfExists") Boolean failIfExists,
121                                                         @WebParam(name="backout") Boolean backout,
122                                                         @WebParam(name="enableBridge") Boolean enableBridge,
123                                                         @WebParam(name="request") MsoRequest msoRequest,
124                                                         @WebParam(name="vnfId", mode=Mode.OUT) Holder<String> vnfId,
125                                                         @WebParam(name="outputs", mode=Mode.OUT) Holder<Map<String,String>> outputs,
126                                                         @WebParam(name="rollback", mode=Mode.OUT) Holder<VnfRollback> rollback )
127                 throws VnfException, VnfAlreadyExists;
128
129         @WebMethod
130         public void deleteVfModule (@WebParam(name="cloudSiteId") @XmlElement(required=true) String cloudSiteId,
131                                 @WebParam(name="cloudOwner") @XmlElement(required=false) String cloudOwner,
132                                                         @WebParam(name="tenantId") @XmlElement(required=true) String tenantId,
133                                                         @WebParam(name="vfName") @XmlElement(required=true) String vfName,
134                                                         @WebParam(name="request") MsoRequest msoRequest,
135                                                         @WebParam(name = "vfModuleOutputs", mode = Mode.OUT) Holder<Map<String, String>> vfModuleOutputs)
136                 throws VnfException;
137
138         @WebMethod
139         public void updateVfModule (@WebParam(name="cloudSiteId") @XmlElement(required=true) String cloudSiteId,
140                                 @WebParam(name="cloudOwner") @XmlElement(required=false) String cloudOwner,
141                                                         @WebParam(name="tenantId") @XmlElement(required=true) String tenantId,
142                                                         @WebParam(name="vnfType") @XmlElement(required=true) String vnfType,
143                                                         @WebParam(name="vnfVersion") @XmlElement(required=false) String vnfVersion,
144                                                         @WebParam(name="vnfName") @XmlElement(required=true) String vnfName,
145                                                         @WebParam(name="requestType") @XmlElement(required=false) String requestType,
146                                                         @WebParam(name="volumeGroupHeatStackId") @XmlElement(required=false) String volumeGroupHeatStackId,
147                                                         @WebParam(name="baseVfHeatStackId") @XmlElement(required=false) String baseVfHeatStackId,
148                                                         @WebParam(name="vfModuleStackId") @XmlElement(required=false) String vfModuleStackId,
149                                                         @WebParam(name = "modelCustomizationUuid") @XmlElement(required = false) String modelCustomizationUuid,
150                                                         @WebParam(name="inputs") @XmlJavaTypeAdapter(MapAdapter.class) Map<String,Object> inputs,
151                                                         @WebParam(name="request") MsoRequest msoRequest,
152                                                         @WebParam(name="outputs", mode=Mode.OUT) Holder<Map<String,String>> outputs,
153                                                         @WebParam(name="rollback", mode=Mode.OUT) Holder<VnfRollback> rollback )
154                 throws VnfException;
155
156         @WebMethod
157         public void healthCheck ();
158 }