Update URL according to microservice name
[vfc/nfvo/driver/vnfm/svnfm.git] / huawei / vnfmadapter / VnfmadapterService / service / src / main / java / org / onap / vfc / nfvo / vnfm / svnfm / vnfmadapter / service / csm / inf / InterfaceVnfMgr.java
1 /*
2  * Copyright 2016-2017 Huawei Technologies Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.onap.vfc.nfvo.vnfm.svnfm.vnfmadapter.service.csm.inf;
18
19 import net.sf.json.JSONObject;
20
21 /**
22  * Provide interfaces for instantiate or terminate VNF.
23  * <br/>
24  *
25  * @author
26  * @version NFVO 0.5 Aug 24, 2016
27  */
28 public interface InterfaceVnfMgr {
29
30     /**
31      * Provide interface for scale VNF.
32      * @param vnfObject
33      * @param vnfmObject
34      * @param vnfmId
35      * @param vnfInstanceId
36      * @return
37      */
38     public JSONObject scaleVnf(JSONObject vnfObject, JSONObject vnfmObject, String vnfmId, String vnfInstanceId);
39     /**
40      * Provide interface for instantiate VNF.
41      * <br/>
42      *
43      * @param subJsonObject
44      * @param vnfmObjcet
45      * @return
46      * @since NFVO 0.5
47      */
48     JSONObject createVnf(JSONObject subJsonObject, JSONObject vnfmObjcet);
49
50     /**
51      * Provide interface for terminate VNF
52      * <br/>
53      *
54      * @param vnfmObject
55      * @param vnfId
56      * @param vnfObject
57      * @return
58      * @since NFVO 0.5
59      */
60     JSONObject removeVnf(JSONObject vnfmObject, String vnfId, JSONObject vnfObject);
61
62     /**
63      * Provide interface for get VNF info
64      * <br/>
65      *
66      * @param vnfmObject
67      * @param vnfId
68      * @return
69      * @since NFVO 0.5
70      */
71     JSONObject getVnf(JSONObject vnfmObject, String vnfId);
72
73     /**
74      * Retrieve job
75      * <br>
76      *
77      * @param vnfmObject
78      * @param jobId
79      * @return
80      * @since  NFVO 0.5
81      */
82     JSONObject getJob(JSONObject vnfmObject, String jobId);
83 }