# limitations under the License.
##
-import cherrypy
-import time
+
+from codecs import getreader
+import getopt
+from http import HTTPStatus
import json
-import yaml
-import osm_ng_ro.html_out as html
import logging
import logging.handlers
-import getopt
+from os import environ, path
import sys
+import time
-from osm_ng_ro.ns import Ns, NsException
-from osm_ng_ro.validation import ValidationError
-from osm_ng_ro.vim_admin import VimAdminThread
+import cherrypy
from osm_common.dbbase import DbException
from osm_common.fsbase import FsException
from osm_common.msgbase import MsgException
-from http import HTTPStatus
-from codecs import getreader
-from os import environ, path
from osm_ng_ro import version as ro_version, version_date as ro_version_date
+import osm_ng_ro.html_out as html
+from osm_ng_ro.ns import Ns, NsException
+from osm_ng_ro.validation import ValidationError
+from osm_ng_ro.vim_admin import VimAdminThread
+import yaml
-__author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
+__author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
__version__ = "0.1." # file version, not NBI version
version_date = "May 2020"
},
"ns": {
"v1": {
+ "rebuild": {
+ "METHODS": ("POST",),
+ "ROLE_PERMISSION": "rebuild:",
+ "<ID>": {
+ "METHODS": ("POST",),
+ "ROLE_PERMISSION": "rebuild:id:",
+ },
+ },
+ "start": {
+ "METHODS": ("POST",),
+ "ROLE_PERMISSION": "start:",
+ "<ID>": {
+ "METHODS": ("POST",),
+ "ROLE_PERMISSION": "start:id:",
+ },
+ },
+ "stop": {
+ "METHODS": ("POST",),
+ "ROLE_PERMISSION": "stop:",
+ "<ID>": {
+ "METHODS": ("POST",),
+ "ROLE_PERMISSION": "stop:id:",
+ },
+ },
"deploy": {
"METHODS": ("GET",),
"ROLE_PERMISSION": "deploy:",
},
},
},
+ "recreate": {
+ "<ID>": {
+ "METHODS": ("POST"),
+ "ROLE_PERMISSION": "recreate:id:",
+ "<ID>": {
+ "METHODS": ("GET",),
+ "ROLE_PERMISSION": "recreate:id:id:",
+ },
+ },
+ },
+ "migrate": {
+ "<ID>": {
+ "METHODS": ("POST"),
+ "ROLE_PERMISSION": "migrate:id:",
+ "<ID>": {
+ "METHODS": ("GET",),
+ "ROLE_PERMISSION": "migrate:id:id:",
+ },
+ },
+ },
+ "verticalscale": {
+ "<ID>": {
+ "METHODS": ("POST"),
+ "ROLE_PERMISSION": "verticalscale:id:",
+ "<ID>": {
+ "METHODS": ("GET",),
+ "ROLE_PERMISSION": "verticalscale:id:id:",
+ },
+ },
+ },
}
},
}
"deploy:id:delete": self.ns.delete,
"deploy:id:id:get": self.ns.status,
"deploy:id:id:cancel:post": self.ns.cancel,
+ "rebuild:id:post": self.ns.rebuild_start_stop,
+ "start:id:post": self.ns.rebuild_start_stop,
+ "stop:id:post": self.ns.rebuild_start_stop,
+ "recreate:id:post": self.ns.recreate,
+ "recreate:id:id:get": self.ns.recreate_status,
+ "migrate:id:post": self.ns.migrate,
+ "verticalscale:id:post": self.ns.verticalscale,
}
def _format_in(self, kwargs):