From 95e9ddd082cb2ccd28d9d33ea2f8607bd5c793f5 Mon Sep 17 00:00:00 2001 From: Marcus G K Williams Date: Fri, 14 Feb 2020 13:29:37 -0800 Subject: Add Controller Register API to Orchestrator Add API allows Controllers to register themselves as gRPC servers consumed by the orchestrator. Issue-ID: MULTICLOUD-995 Signed-off-by: Marcus G K Williams Change-Id: I75946a4af711bf2e9d65f354923db494da667e70 --- docs/controllers.yaml | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 docs/controllers.yaml (limited to 'docs') diff --git a/docs/controllers.yaml b/docs/controllers.yaml new file mode 100644 index 00000000..9d266846 --- /dev/null +++ b/docs/controllers.yaml @@ -0,0 +1,161 @@ +# Copyright 2020 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. + +openapi: 3.0.1 +info: + title: ONAP4K8S Orchestrator Controller Register API + description: 'This is the Orchestrator Controller gRPC Register API. Find out more about the Orchestrator at: https://wiki.onap.org/display/DW/Multi+Cluster+Application+Scheduler' + contact: + name: Marcus Williams + email: marcus.williams@intel.com + license: + name: Apache 2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html + version: 0.0.1 +externalDocs: + description: ONAP4K8S Orchestrator Controller Register API + url: 'https://wiki.onap.org/display/DW/V2+API+Specification#V2APISpecification-OrchestratorControllerRegistrationAPI' +servers: +- url: http://127.0.0.1:9015 +tags: +- name: controllers + +paths: + /v2/controllers: + post: + tags: + - controllers + summary: Add a new controller to the orchestrator + operationId: addController + requestBody: + description: Describe new controller to add to the orchestrator + content: + application/json: + schema: + $ref: '#/components/schemas/Controller' + required: true + responses: + 405: + description: Invalid input + content: {} + security: + - OAuth2: [] + - OpenId: [] + - BasicHTTP: [] + x-codegen-request-body-name: body + put: + tags: + - controllers + summary: Add a new controller to the orchestrator + operationId: putController + requestBody: + description: Describe new controller to add to the orchestrator + content: + application/json: + schema: + $ref: '#/components/schemas/Controller' + required: true + responses: + 405: + description: Validation exception + content: {} + security: + - OAuth2: [] + - OpenId: [] + - BasicHTTP: [] + x-codegen-request-body-name: body + /v2/controllers/{controller-name}: + get: + tags: + - controllers + summary: Find controller by name + description: Returns a controller + operationId: getController + parameters: + - name: controller-name + in: path + description: Name of controller + required: true + schema: + type: string + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/Controller' + 400: + description: Invalid controller-name supplied + content: {} + 404: + description: Controller not found + content: {} + security: + - OAuth2: [] + - OpenId: [] + - BasicHTTP: [] + delete: + tags: + - controllers + summary: Deletes a controller + operationId: deleteController + parameters: + - name: controller-name + in: path + description: service name + required: true + schema: + type: string + responses: + 400: + description: Invalid controller name supplied + content: {} + 404: + description: Controller not found + content: {} + security: + - OAuth2: [] + - OpenId: [] + - BasicHTTP: [] +components: + schemas: + Controller: + type: object + required: + - name + - host + - port + properties: + name: + type: string + host: + type: string + port: + type: integer + format: int64 + example: + name: HPA-Placement-Controller + host: 10.7.100.4 + port: 8800 + securitySchemes: + OAuth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: /oauth/authorize + tokenUrl: /oauth/token + OpenId: + type: openIdConnect + openIdConnectUrl: https://example.com/.well-known/openid-configuration + BasicHTTP: + type: http + scheme: basic -- cgit 1.2.3-korg