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