diff options
author | Tommy Carpenter <tommy@research.att.com> | 2019-05-29 13:36:01 -0400 |
---|---|---|
committer | Tommy Carpenter <tommy@research.att.com> | 2019-06-04 09:12:25 -0400 |
commit | e14b49ead38227ff17d760c4771d58d9c6d2e7c0 (patch) | |
tree | 9e3cdc16376a5fb5f4b825a3930b28a89f58bccd /config_binding_service/openapi.yaml | |
parent | 040d03d77587ce24f0e99ee504b5b0ff5473a39e (diff) |
Switch to gevent
Issue-ID: DCAEGEN2-1549
Change-Id: I762d9630f857a23b6ae61992d483cdca7bb6f88d
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
Diffstat (limited to 'config_binding_service/openapi.yaml')
-rw-r--r-- | config_binding_service/openapi.yaml | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/config_binding_service/openapi.yaml b/config_binding_service/openapi.yaml new file mode 100644 index 0000000..96b19e4 --- /dev/null +++ b/config_binding_service/openapi.yaml @@ -0,0 +1,112 @@ +openapi: 3.0.0 +info: + version: 2.4.0 + title: Config Binding Service +paths: + '/service_component/{service_component_name}': + parameters: + - name: service_component_name + in: path + description: >- + Service Component Name. service_component_name must be a key in + consul. + required: true + schema: + type: string + get: + description: >- + Binds the configuration for service_component_name and returns the bound + configuration as a JSON + operationId: config_binding_service.controller.bind_config_for_scn + responses: + '200': + description: OK; the bound config is returned as an object + content: + '*/*': + schema: + type: object + '404': + description: there is no configuration in Consul for this component + '/service_component_all/{service_component_name}': + parameters: + - name: service_component_name + in: path + description: >- + Service Component Name. service_component_name must be a key in + consul. + required: true + schema: + type: string + get: + description: >- + Binds the configuration for service_component_name and returns the bound + configuration, policies, and any other keys that are in Consul + operationId: config_binding_service.controller.bind_all + responses: + '200': + description: >- + OK; returns {config : ..., policies : ....., k : ...} for all other + k in Consul + content: + '*/*': + schema: + type: object + '404': + description: there is no configuration in Consul for this component + '/{key}/{service_component_name}': + parameters: + - name: key + in: path + description: >- + this endpoint tries to pull service_component_name:key; key is the key + after the colon + required: true + schema: + type: string + - name: service_component_name + in: path + description: Service Component Name. + required: true + schema: + type: string + get: + description: >- + this is an endpoint that fetches a generic service_component_name:key + out of Consul. The idea is that we don't want to tie components to + Consul directly in case we swap out the backend some day, so the CBS + abstracts Consul from clients. The structuring and weird collision of + this new API with the above is unfortunate but due to legacy concerns. + operationId: config_binding_service.controller.get_key + responses: + '200': + description: 'OK; returns service_component_name:key' + content: + '*/*': + schema: + type: object + '400': + description: >- + bad request. Currently this is only returned on :policies, which is + a complex object, and should be gotten through service_component_all + content: + '*/*': + schema: + type: string + '404': + description: key does not exist + content: + '*/*': + schema: + type: string + /healthcheck: + get: + description: >- + This is the health check endpoint. If this returns a 200, the server is + alive and consul can be reached. If not a 200, either dead, or no + connection to consul + operationId: config_binding_service.controller.healthcheck + responses: + '200': + description: Successful response + '503': + description: the config binding service cannot reach Consul |