# Copyright 2018 Intel 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.
swagger: "2.0"
info:
description: "API reference for MultiCloud Kubernetes Plugin."
version: "1.0.0"
title: "API reference for MultiCloud Kubernetes Plugin."
contact:
url: "https://wiki.onap.org/display/DW/Support+for+K8S+%28Kubernetes%29+based+Cloud+regions"
license:
name: "Apache 2.0"
url: "http://www.apache.org/licenses/LICENSE-2.0.html"
basePath: "/v1.0"
schemes:
- "http"
paths:
/vnf_instances:
post:
tags:
- "Deployment of VNF Containers"
summary: "Create Kubernetes based VNFs."
description: "Endpoint to create Kubernetes based VNFs."
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- in: "body"
name: "body"
description: "Create new VNF containers"
required: true
schema:
$ref: "#/definitions/POSTRequest"
responses:
200:
description: "successful operation"
schema:
$ref: "#/definitions/POSTResponse"
/vnf_instances/:
get:
tags:
- "Deployment of VNF Containers"
summary: "List all Kubernetes based VNFs."
description: "Endpoint to list all Kubernetes based VNF."
produces:
- "application/json"
responses:
200:
description: "successful operation"
schema:
$ref: "#/definitions/GETSResponse"
/vnf_instances/{name}:
get:
tags:
- "Deployment of VNF Containers"
summary: "Get details of a Kubernetes based VNFs."
description: "Endpoint to get details of a Kubernetes based VNFs."
produces:
- "application/json"
parameters:
- name: "name"
in: "path"
description: "Name used to query"
required: true
type: "string"
responses:
200:
description: "successful operation"
schema:
$ref: "#/definitions/GETResponse"
patch:
tags:
- "Deployment of VNF Containers"
summary: "Update a Kubernetes based VNFs."
description: "Endp to update a Kubernetes based VNFs."
produces:
- "application/json"
parameters:
- name: "name"
in: "path"
description: "Name used to patch"
required: true
type: "string"
- name: "body"
in: "body"
description: "Patch an existing Kubernetes based VNFs."
required: true
schema:
$ref: "#/definitions/PATCHRequest"
responses:
200:
description: "successful operation"
schema:
$ref: "#/definitions/PATCHResponse"
delete:
tags:
- "Deployment of VNF Containers"
summary: "Delete a Kubernetes based VNFs."
description: "Endpoint to delete a Kubernetes based VNFs."
produces:
- "application/json"
parameters:
- name: "name"
in: "path"
description: "Name used to delete"
required: true
type: "string"
responses:
200:
description: "successful operation"
schema:
$ref: "#/definitions/DELETEResponse"
definitions:
POSTRequest:
type: "object"
properties:
cloud_region_id:
type: "string"
csar_id:
type: "string"
namespace:
type: "string"
oof_parameters:
items:
type: "object"
additionalProperties: true
example:
key1: value1
key2: value2
key3: {}
network_parameters:
type: "object"
properties:
oam_ip_address:
type: "object"
properties:
connection_point:
type: "string"
ip_address:
type: "string"
workload_name:
type: "string"
POSTResponse:
type: "object"
properties:
vnf_id:
type: "string"
name:
type: "string"
GETSResponse:
type: "object"
properties:
vnf_list:
items:
type: "string"
GETResponse:
type: "object"
properties:
response:
type: "string"
PATCHRequest:
type: "object"
properties:
name:
type: "string"
PATCHResponse:
type: "object"
properties:
response:
type: "string"
DELETEResponse:
type: "object"
properties:
response:
type: "string"