aboutsummaryrefslogtreecommitdiffstats
path: root/docs/swagger.yaml
blob: 3b7e36ba05a764c2cd87787bdbd3667291066658 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99<
# 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"