+++ /dev/null
-{
- "swagger": "2.0",
- "info": {
- "version": "1.0.0",
- "title": "ZTE vManager Service rest API"
- },
- "host": "10.43.104.27:8000",
- "basePath": "/api/vnfres/v1",
- "tags": [
- {
- "name": "res Resource"
- }
- ],
- "paths": {
- "/vnfs/{vnfInstanceId}": {
- "get": {
- "tags": [
- "vnf Resource"
- ],
- "summary": "query the single vnf info",
- "description": "",
- "operationId": "query_single_vnf",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "name": "vnfInstanceId",
- "in": "path",
- "description": "vnf instance id",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "successful operation",
- "schema": {
- "$ref": "#/definitions/SingleVnfInfo"
- }
- },
- "404": {
- "description": "the vnf instance id is wrong"
- },
- "500": {
- "description": "the url is invalid"
- }
- }
- }
- },
- "/vnfs": {
- "get": {
- "tags": [
- "vnfs Resource"
- ],
- "summary": "query the vnfs info",
- "description": "",
- "operationId": "query_many_vnf",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "name": "",
- "in": "path",
- "description": "no param",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "successful operation",
- "schema": {
- "$ref": "#/definitions/VnfsInfo"
- }
- },
- "404": {
- "description": "the vnf instance id is wrong"
- },
- "500": {
- "description": "the url is invalid"
- }
- }
- }
- },
- "/{vnfInstanceId}/vms": {
- "get": {
- "tags": [
- "vms Resource"
- ],
- "summary": "query the specified vm info",
- "description": "",
- "operationId": "query_vms",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "name": "vnfInstanceId",
- "in": "path",
- "description": "vnf instance id",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "successful operation",
- "schema": {
- "$ref": "#/definitions/VMInfo"
- }
- },
- "404": {
- "description": "the vnf instance id is wrong"
- },
- "500": {
- "description": "the url is invalid"
- }
- }
- }
- },
- "/{vnfInstanceId}/flavors": {
- "get": {
- "tags": [
- "flavors Resource"
- ],
- "summary": "query the specified flavor info",
- "description": "",
- "operationId": "query_flavors",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "name": "vnfInstanceId",
- "in": "path",
- "description": "vnf instance id",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "successful operation",
- "schema": {
- "$ref": "#/definitions/FlavorInfo"
- }
- },
- "404": {
- "description": "the vnf instance id is wrong"
- },
- "500": {
- "description": "the url is invalid"
- }
- }
- }
- },
- "/{vnfInstanceId}/networks": {
- "get": {
- "tags": [
- "networks Resource"
- ],
- "summary": "query the specified network info",
- "description": "",
- "operationId": "query_networks",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "name": "vnfInstanceId",
- "in": "path",
- "description": "vnf instance id",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "successful operation",
- "schema": {
- "$ref": "#/definitions/NetworkInfo"
- }
- },
- "404": {
- "description": "the vnf instance id is wrong"
- },
- "500": {
- "description": "the url is invalid"
- }
- }
- }
- },
- "/{vnfInstanceId}/subnets": {
- "get": {
- "tags": [
- "subnets Resource"
- ],
- "summary": "query the specified subnet info",
- "description": "",
- "operationId": "query_subnet",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "name": "vnfInstanceId",
- "in": "path",
- "description": "vnf instance id",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "successful operation",
- "schema": {
- "$ref": "#/definitions/SubnetInfo"
- }
- },
- "404": {
- "description": "the vnf instance id is wrong"
- },
- "500": {
- "description": "the url is invalid"
- }
- }
- }
- },
- "/{vnfInstanceId}/cps": {
- "get": {
- "tags": [
- "sps Resource"
- ],
- "summary": "query the specified cp info",
- "description": "",
- "operationId": "query_cp",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "name": "vnfInstanceId",
- "in": "path",
- "description": "vnf instance id",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "successful operation",
- "schema": {
- "$ref": "#/definitions/CpInfo"
- }
- },
- "404": {
- "description": "the vnf instance id is wrong"
- },
- "500": {
- "description": "the url is invalid"
- }
- }
- }
- },
- "/{vnfInstanceId}/volumes": {
- "get": {
- "tags": [
- "sps Resource"
- ],
- "summary": "query the specified volumes info",
- "description": "",
- "operationId": "query_volumes",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "name": "vnfInstanceId",
- "in": "path",
- "description": "vnf instance id",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "successful operation",
- "schema": {
- "$ref": "#/definitions/VolumesInfo"
- }
- },
- "404": {
- "description": "the vnf instance id is wrong"
- },
- "500": {
- "description": "the url is invalid"
- }
- }
- }
- }
- },
- "definitions": {
- "SingleVnfInfo": {
- "type": "object",
- "properties": {
- "vnfInstanceId": {
- "type": "string"
- },
- "vnfInstanceName": {
- "type": "string"
- },
- "vnfInstanceDescription": {
- "type": "string"
- },
- "onboardedVnfPkgInfoId": {
- "type": "string"
- },
- "vnfdId": {
- "type": "string"
- },
- "vnfdVersion": {
- "type": "string"
- },
- "vnfSoftwareVersion": {
- "type": "string"
- },
- "vnfProvider": {
- "type": "string"
- },
- "vnfProductName": {
- "type": "string"
- },
- "vnfConfigurableProperties": {
- "type": "object"
- },
- "instantiationState": {
- "type": "string"
- },
- "instantiatedVnfInfo": {
- "type": "object",
- "properties": {
- "flavourId": {
- "type": "string"
- },
- "vnfState": {
- "type": "string"
- },
- "scaleStatus": {
- "type": "array",
- "items": {
- "type": "object"
- }
- },
- "extCpInfo": {
- "type": "array",
- "items": {
- "type": "object"
- }
- },
- "extVirtualLink": {
- "type": "array",
- "items": {
- "type": "object"
- }
- },
- "monitoringParameters": {
- "type": "object"
- },
- "localizationLanguage": {
- "type": "string"
- },
- "vimInfo": {
- "type": "array",
- "items": {
- "type": "object"
- }
- },
- "vnfcResourceInfo": {
- "type": "array",
- "items": {
- "type": "object"
- }
- },
- "virtualLinkResourceInfo": {
- "type": "array",
- "items": {
- "type": "object"
- }
- },
- "virtualStorageResourceInfo": {
- "type": "array",
- "items": {
- "type": "object"
- }
- }
- }
- },
- "metadata": {
- "type": "object"
- },
- "extensions": {
- "type": "object"
- }
- }
- },
- "VnfsInfo": {
- "type": "array",
- "items": {
- "type": "SingleVnfInfo"
- }
- },
- "VMInfo": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "vmid": {
- "type": "string"
- },
- "vimid": {
- "type": "string"
- },
- "resouceid": {
- "type": "string"
- },
- "insttype": {
- "type": "integer"
- },
- "instid": {
- "type": "string"
- },
- "vmname": {
- "type": "string"
- },
- "operationalstate": {
- "type": "string"
- },
- "availability_zone": {
- "type": "string"
- },
- "tenant": {
- "type": "string"
- },
- "nodeId": {
- "type": "string"
- },
- "metadata": {
- "type": "string"
- },
- "is_predefined": {
- "type": "integer"
- }
- }
- }
- },
- "FlavorInfo": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "flavourid": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "vcpu": {
- "type": "integer"
- },
- "memory": {
- "type": "integer"
- },
- "extraspecs": {
- "type": "string"
- },
- "instid": {
- "type": "string"
- },
- "tenant": {
- "type": "string"
- },
- "vimid": {
- "type": "string"
- },
- "create_time": {
- "type": "string"
- }
- }
- }
- },
- "NetworkInfo": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "networkid": {
- "type": "string"
- },
- "vimid": {
- "type": "string"
- },
- "resouceid": {
- "type": "string"
- },
- "insttype": {
- "type": "integer"
- },
- "instid": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- }
- }
- },
- "SubnetInfo": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "subnetworkid": {
- "type": "string"
- },
- "networkid": {
- "type": "string"
- },
- "vimid": {
- "type": "string"
- },
- "resouceid": {
- "type": "string"
- },
- "insttype": {
- "type": "integer"
- },
- "instid": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "cidr": {
- "type": "string"
- }
- }
- }
- },
- "CpInfo": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "cpinstanceid": {
- "type": "string"
- },
- "cpdid": {
- "type": "string"
- },
- "cpinstancename": {
- "type": "string"
- },
- "vlinstanceid": {
- "type": "string"
- },
- "ownertype": {
- "type": "integer"
- },
- "ownerid": {
- "type": "string"
- },
- "relatedtype": {
- "type": "integer"
- }
- }
- }
- },
- "VolumesInfo": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "storageid": {
- "type": "string"
- },
- "vimid": {
- "type": "string"
- },
- "resouceid": {
- "type": "string"
- },
- "insttype": {
- "type": "integer"
- },
- "instid": {
- "type": "string"
- },
- "storagetype": {
- "type": "string"
- },
- "size": {
- "type": "string"
- }
- }
- }
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-# Copyright 2018 ZTE 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.
-import unittest
-
-from rest_framework import status
-from rest_framework.test import APIClient
-
-
-class SwaggerViewTest(unittest.TestCase):
- def setUp(self):
- self.client = APIClient()
-
- def tearDown(self):
- pass
-
- def test_swagger_ok(self):
- resp = self.client.get("/api/vnfres/v1/swagger.json", format="json")
- self.assertEqual(resp.status_code, status.HTTP_200_OK, resp.content)
+++ /dev/null
-# Copyright 2018 ZTE 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.
-import json
-import os
-
-from rest_framework.response import Response
-from rest_framework.views import APIView
-
-
-class SwaggerJsonView(APIView):
- def get(self, request):
- json_file = os.path.join(os.path.dirname(__file__), 'swagger.json')
- f = open(json_file)
- json_data = json.JSONDecoder().decode(f.read())
- f.close()
- return Response(json_data)