Add SO APIs to Nokia VNFM adapter
[vfc/nfvo/driver/vnfm/svnfm.git] / nokiav2 / driver / src / main / java / org / onap / vfc / nfvo / driver / vnfm / svnfm / nokia / restapi / SoApi.java
diff --git a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/restapi/SoApi.java b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/restapi/SoApi.java
deleted file mode 100644 (file)
index eb6c289..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright 2016-2017, Nokia Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.restapi;
-
-import javax.servlet.http.HttpServletResponse;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.onap.so.SoLifecycleManager;
-import org.onap.vnfmadapter.so.model.*;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-import static javax.servlet.http.HttpServletResponse.SC_CREATED;
-
-import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.Constants.BASE_URL;
-import static org.slf4j.LoggerFactory.getLogger;
-import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
-import static org.springframework.web.bind.annotation.RequestMethod.*;
-
-/**
- * Responsible for providing the Nokia sVNFM REST APIs
- */
-@Controller
-@RequestMapping(value = BASE_URL + "/so")
-public class SoApi {
-    private static Logger logger = getLogger(SoApi.class);
-
-    private final SoLifecycleManager soLifecycleManager;
-
-    @Autowired
-    SoApi(SoLifecycleManager lifecycleManager) {
-        this.soLifecycleManager = lifecycleManager;
-    }
-
-    /**
-     * Create the VNF
-     *
-     * @param request      the creation request
-     * @param vnfmId       the identifier of the VNFM
-     * @param httpResponse the HTTP response
-     * @return the descriptor of the created VNF
-     */
-    @RequestMapping(value = "/{vnfmId}/vnfs", method = POST, produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE)
-    @ResponseBody
-    public SoVnfCreationResponse createVnf(@RequestBody SoVnfCreationRequest request, @PathVariable("vnfmId") String vnfmId, HttpServletResponse httpResponse) {
-        logger.info("REST: Create the VNF");
-        SoVnfCreationResponse response = soLifecycleManager.create(vnfmId, request);
-        httpResponse.setStatus(SC_CREATED);
-        return response;
-    }
-
-    /**
-     * Activate the VNF
-     *
-     * @param request      the activation request
-     * @param vnfmId       the identifier of the VNFM
-     * @param httpResponse the HTTP response
-     * @return the descriptor of the created VNF
-     */
-    @RequestMapping(value = "/{vnfmId}/vnfs/{vnfId}", method = POST, produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE)
-    @ResponseBody
-    public SoJobHandler activateVnf(@RequestBody SoVnfActivationRequest request, @PathVariable("vnfmId") String vnfmId, @PathVariable("vnfId") String vnfId, HttpServletResponse httpResponse) {
-        logger.info("REST: Activate the VNF");
-        return soLifecycleManager.activate(vnfmId, vnfId, request, httpResponse);
-    }
-
-    /**
-     * Execute custom operation on the VNF
-     *
-     * @param request      the custom operation request
-     * @param vnfmId       the identifier of the VNFM
-     * @param httpResponse the HTTP response
-     * @return the descriptor of the created VNF
-     */
-    @RequestMapping(value = "/{vnfmId}/vnfs/{vnfId}/customOperation", method = POST, produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE)
-    @ResponseBody
-    public SoJobHandler executeCustomOperation(@RequestBody SoVnfCustomOperation request, @PathVariable("vnfmId") String vnfmId, @PathVariable("vnfId") String vnfId, HttpServletResponse httpResponse) {
-        logger.info("REST: Execute custom operation on the VNF");
-        return soLifecycleManager.customOperation(vnfmId, vnfId, request, httpResponse);
-    }
-
-    /**
-     * Terminate the VNF
-     *
-     * @param request      the termination request
-     * @param vnfmId       the identifier of the VNFM
-     * @param vnfId        the identifier of the VNF
-     * @param httpResponse the HTTP response
-     * @return the job representing the VNF termination operation
-     */
-    @RequestMapping(value = "/{vnfmId}/vnfs/{vnfId}/terminate", method = POST, produces = APPLICATION_JSON_VALUE)
-    @ResponseBody
-    public SoJobHandler deactivateVnf(@RequestBody SoVnfTerminationRequest request, @PathVariable("vnfmId") String vnfmId, @PathVariable("vnfId") String vnfId, HttpServletResponse httpResponse) {
-        logger.info("REST: Deactivate the VNF");
-        return soLifecycleManager.deactivate(vnfmId, vnfId, request, httpResponse);
-    }
-
-    /**
-     * Delete the VNF
-     *
-     * @param vnfmId       the identifier of the VNFM
-     * @param vnfId        the identifier of the VNF
-     * @param httpResponse the HTTP response
-     */
-    @RequestMapping(value = "/{vnfmId}/vnfs/{vnfId}", method = DELETE)
-    public void deleteVnf(@PathVariable("vnfmId") String vnfmId, @PathVariable("vnfId") String vnfId, HttpServletResponse httpResponse) {
-        logger.info("REST: Delete the VNF");
-        soLifecycleManager.delete(vnfmId, vnfId);
-        httpResponse.setStatus(HttpServletResponse.SC_NO_CONTENT);
-    }
-
-    /**
-     * Query the job
-     *
-     * @param jobId        the identifier of the job
-     * @param vnfmId       the identifier of the VNFM
-     * @param httpResponse the HTTP response
-     * @return the instantiated VNF info
-     */
-    @RequestMapping(value = "/{vnfmId}/jobs/{jobId}", method = GET, produces = APPLICATION_JSON_VALUE)
-    @ResponseBody
-    public SoJobDetail getJob(@PathVariable("vnfmId") String vnfmId, @PathVariable("jobId") String jobId, HttpServletResponse httpResponse) {
-        logger.trace("REST: Query the job");
-        return soLifecycleManager.getJobDetails(vnfmId, jobId);
-    }
-
-    /**
-     * Scale the VNF (defined further in the VF-C driver integration documentation)
-     *
-     * @param request      the scaling request
-     * @param vnfmId       the identifier of the VNFM
-     * @param vnfId        the identifier of the VNF
-     * @param httpResponse the HTTP response
-     * @return the job representing the scaling operation
-     */
-    @RequestMapping(value = "/{vnfmId}/vnfs/{vnfId}/scale", method = POST, produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE)
-    @ResponseBody
-    public SoJobHandler scaleVnf(@RequestBody SoVnfScaleRequest request, @PathVariable("vnfmId") String vnfmId, @PathVariable("vnfId") String vnfId, HttpServletResponse httpResponse) {
-        logger.info("REST: Scale the VNF");
-        return soLifecycleManager.scale(vnfmId, vnfId, request, httpResponse);
-    }
-
-    /**
-     * Heal the VNF (defined further in the VF-C driver integration documentation)
-     *
-     * @param request       the healing request
-     * @param vnfmId        the identifier of the VNFM
-     * @param vnfInstanceId the identifier of the VNF
-     * @param httpResponse  the HTTP response
-     * @return the job representing the healing operation
-     */
-    @RequestMapping(value = "/{vnfmId}/vnfs/{vnfId}/heal", method = POST, produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE)
-    @ResponseBody
-    public SoJobHandler healVnf(@RequestBody SoVnfHealRequest request, @PathVariable("vnfmId") String vnfmId, @PathVariable("vnfId") String vnfInstanceId, HttpServletResponse httpResponse) {
-        logger.info("REST: Heal the VNF");
-        return soLifecycleManager.heal(vnfmId, vnfInstanceId, request, httpResponse);
-    }
-}