class VfcManager {

    public RestfulResponse deleteNs(NsOperationKey nsOperationKey, String nsInstanceId) throws ApplicationException {
        LOGGER.info("delete ns -> begin");
        // Step1: prepare url and methodType
        String url = getUrl(nsInstanceId, CommonConstant.Step.DELETE);
        String methodType = CommonConstant.MethodType.DELETE;

        // Step2: prepare restful parameters and options
        RestfulResponse deleteRsp = restfulUtil.send(url, methodType, "");
        ValidateUtil.assertObjectNotNull(deleteRsp);
        LOGGER.info("delete ns response status is : {}", deleteRsp.getStatus());
        LOGGER.info("delete ns response content is : {}", deleteRsp.getResponseContent());
        LOGGER.info("delete ns -> end");

        ResourceOperationStatus status = new ResourceOperationStatus(nsOperationKey.getServiceId(),
                nsOperationKey.getOperationId(), nsOperationKey.getNodeTemplateUUID());
        if (!HttpCode.isSucess(deleteRsp.getStatus())) {
            LOGGER.error("fail to delete ns");

            status.setStatus(RequestsDbConstant.Status.ERROR);
            status.setErrorCode(String.valueOf(deleteRsp.getStatus()));
            status.setStatusDescription(CommonConstant.StatusDesc.TERMINATE_NS_FAILED);
            resourceOperationStatusRepository.save(status);
            throw new ApplicationException(HttpCode.INTERNAL_SERVER_ERROR, DriverExceptionID.FAIL_TO_DELETE_NS);
        }

        // Step3: remove relation info between service and ns
        AaiUtil.removeRelation(nsOperationKey.getGlobalSubscriberId(), nsOperationKey.getServiceType(),
                nsOperationKey.getServiceId(), nsInstanceId);
        LOGGER.info("delete segment information -> end");

        // Step4: update service segment operation status
        status.setStatus(RequestsDbConstant.Status.FINISHED);
        status.setErrorCode(String.valueOf(deleteRsp.getStatus()));
        status.setProgress("100");
        status.setStatusDescription("VFC resource deletion finished");
        resourceOperationStatusRepository.save(status);
        LOGGER.info("update segment operaton status for delete -> end");

        return deleteRsp;

    }

    public  VfcManager();

}