diff options
Diffstat (limited to 'docs/sections/apis/cdapbroker.yaml')
-rw-r--r-- | docs/sections/apis/cdapbroker.yaml | 435 |
1 files changed, 0 insertions, 435 deletions
diff --git a/docs/sections/apis/cdapbroker.yaml b/docs/sections/apis/cdapbroker.yaml deleted file mode 100644 index f6325b7f..00000000 --- a/docs/sections/apis/cdapbroker.yaml +++ /dev/null @@ -1,435 +0,0 @@ -# ================================================================================ -# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved. -# ================================================================================ -# 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. -# ============LICENSE_END========================================================= -# -# ECOMP is a trademark and service mark of AT&T Intellectual Property. -# Example YAML to get you started quickly. -# Be aware that YAML has indentation based scoping. -# Code completion support is available so start typing for available options. -swagger: '2.0' - -# This is your document metadata -info: - version: "4.0.10" - title: CDAP Broker API - -paths: - /: - get: - description: shows some information about this service - responses: - 200: - description: successful response - schema: - $ref: '#/definitions/info' - - /application: - get: - description: get all applications registered with this broker - responses: - 200: - description: successful response - schema: - type: array - items: - $ref: '#/definitions/appname' - - /application/delete: - post: - description: endpoint to delete multiple applications at once. Returns an array of status codes, where statuscode[i] = response returned from DELETE(application/i) - parameters: - - name: postbody - in: body - description: required post body - required: true - schema: - $ref: '#/definitions/multideleteput' - responses: - 200: - description: successful response - schema: - type: array - items: - $ref: '#/definitions/returncode' - - /application/{appname}: - parameters: - - name: appname - in: path - description: Name of the application. - required: true - type: string - format: text - - get: - description: Returns the representation of the application resource, including the links for healthcheck and metrics. - responses: - 200: - description: Successful response - schema: - $ref: '#/definitions/Application' - 404: - description: no app with name 'appname' registered with this broker. - - put: - description: Register an app for service and configuration discovery. This will light up a metrics and health endpoint for this app. `appname` is assumed to also be the key in consul. - consumes: - - application/json - produces: - - application/json - parameters: - - name: putbody - in: body - description: required put body - required: true - schema: - $ref: '#/definitions/appput' - - responses: - 200: - description: Successful response - schema: - $ref: '#/definitions/Application' - 400: - description: put was performed but the appname was already registered with the broker, or Invalid PUT body - - - delete: - description: Remove an app for service and configuration discovery. This will remove the metrics and health endpoints for this app. - responses: - 200: - description: Successful response - 404: - description: no app with name 'appname' registered with this broker. - - /application*/{appname}: - parameters: - - name: appname - in: path - description: Name of the application. - required: true - type: string - format: text - - put: - description: (This is a hacky way of supporting "oneOf" because Swagger does not support oneOf https://github.com/OAI/OpenAPI-Specification/issues/333. This is the same endpoint as PUT /application/appname, except the PUT body is different.) - - - Register a hydrator app for service and configuration discovery. This will light up a metrics and health endpoint for this app. `appname` is assumed to also be the key in consul. - consumes: - - application/json - produces: - - application/json - parameters: - - name: putbody - in: body - description: required put body - required: true - schema: - $ref: '#/definitions/hydratorappput' - - responses: - 200: - description: Successful response - schema: - $ref: '#/definitions/Application' - 400: - description: put was performed but the appname was already registered with the broker, or Invalid PUT body - - - /application/{appname}/metrics: - get: - # This is array of GET operation parameters: - description: Get live (real-time) app specific metrics for the running app appname. Metrics are customized per each app by the component developer - parameters: - # An example parameter that is in query and is required - - name: appname - in: path - description: Name of the application to get metrics for. - required: true - type: string - format: test - - # Expected responses for this operation: - responses: - 200: - description: Successful response - schema: - $ref: '#/definitions/MetricsObject' - 404: - description: no app with name 'appname' registered with this broker. - - /application/{appname}/healthcheck: - get: - # This is array of GET operation parameters: - description: Perform a healthcheck on the running app appname. - parameters: - # An example parameter that is in query and is required - - name: appname - in: path - description: Name of the application to get the healthcheck for. - required: true - type: string - format: test - - # Expected responses for this operation: - responses: - # Response code - 200: - description: Successful response, healthcheck pass - 404: - description: no app with name 'appname' registered with this broker, or the healthcheck has failed (though I would like to disambiguiate from the first case, CDAP returns a 404 for this). - - /application/{appname}/reconfigure: - parameters: - - name: appname - in: path - description: Name of the application. - required: true - type: string - format: text - put: - description: Reconfigures the application. - parameters: - - name: putbody - in: body - description: required put body - required: true - schema: - $ref: '#/definitions/reconfigput' - responses: - 200: - description: Successful response - 400: - description: Bad request. Can happen with 1) {appname} is not registered with the broker, 2) the required PUT body is wrong, or 3) the smart interface was chosen and none of the config keys match anything in app_config or app_preferences - -definitions: - MetricsObject: - type: object - description: key,value object where the key is 'appmetrics' and the value is an app dependent json and specified by the component developer - properties: - appmetrics: - type: object - - Application: - type: object - properties: - appname: - description: application name - type: string - healthcheckurl: - description: fully qualified url to perform healthcheck - type: string - metricsurl: - description: fully qualified url to get metrics from - type: string - url: - description: fully qualified url of the resource - type: string - connectionurl: - description: input URL that you can POST data into (URL of the CDAP stream) - type: string - serviceendpoints: - description: a list of HTTP services exposed by this CDAP application - type: array - items: - $ref: '#/definitions/service_method' - - reconfigput: - type: object - properties: - reconfiguration_type: - description: the type of reconfiguration - type: string - enum: ["program-flowlet-app-config", "program-flowlet-app-preferences", "program-flowlet-smart"] - config: - description: the config JSON - type: object - required: ["reconfiguration_type", "config"] - - multideleteput: - type: object - properties: - appnames: - type: array - items: - $ref: '#/definitions/appname' - - appname: - description: an application name - type: string - - hydratorappput: - type: object - properties: - cdap_application_type: - description: denotes whether this is a program-flowlet style application or a hydrator pipeline. For hydrator, this value must be "hydrator-pipeline" - type: string - enum: ["hydrator-pipeline"] - namespace: - description: the cdap namespace this is deployed into - type: string - pipeline_config_json_url: - description: the URL of the config.json for this pipeline - type: string - streamname: - description: name of the CDAP stream to ingest data into this app. Should come from the developer and Tosca model. - type: string - dependencies: - description: represents a list of dependencies to be loaded for this pipeline. Not required. - type: array - items: - $ref: '#/definitions/hydratordep' - required: ["cdap_application_type", "namespace", "pipeline_config_json_url", "streamname"] - - appput: - type: object - properties: - cdap_application_type: - description: denotes whether this is a program-flowlet style application or a hydrator pipeline. For program-flowlet style apps, this value must be "program-flowlet" - type: string - enum: ["program-flowlet"] - streamname: - description: name of the CDAP stream to ingest data into this app. Should come from the developer and Tosca model. - type: string - namespace: - description: the cdap namespace this is deployed into - type: string - jar_url: - description: the URL that the JAR you're deploying resides - type: string - artifact_name: - description: the name of the CDAP artifact to be added - type: string - artifact_ver: - description: the version of the artifact. Must be in X.Y.Z form - app_config: - description: the application config JSON - type: object - app_preferences: - description: the application preferences JSON - type: object - programs: - type: array - items: - $ref: '#/definitions/programs' - program_preferences: - type: array - items: - $ref: '#/definitions/programpref' - services: - type: array - items: - $ref: '#/definitions/service_endpoint' - - service_endpoint: - description: descirbes a service endpoint, including the service name, the method name, and the method type (GET, PUT, etc, most of the time will be GET) - type: object - properties: - service_name: - type: string - description: the name of the service - service_endpoint: - type: string - description: the name of the endpoint on the service - endpoint_method: - type: string - description: GET, POST, PUT, etc - - service_method: - description: a URL and HTTP method exposed via a CDAP service - type: object - properties: - url: - type: string - description: the fully qualified URL in CDAP for this service - method: - type: string - description: HTTP method you can perform on the URL, e.g., GET, PUT, etc - - programs: - description: the list of programs in this CDAP app - type: object - properties: - program_type: - description: must be one of flows, mapreduce, schedules, spark, workflows, workers, or services - type: string - program_id: - description: the name of the program - type: string - - returncode: - description: an httpreturncode - type: integer - - hydratordep: - description: represents a hydrator pipeline dependency. An equivelent to the following CURLs are formed with the below four params shown in CAPS "curl -v -w"\n" -X POST http://cdapurl:11015/v3/namespaces/setelsewhere/artifacts/ARTIFACT_NAME -H "Artifact-Extends:ARTIFACT_EXTENDS_HEADER" -H “Artifact-Version:ARTIFACT_VERSION_HEADER” --data-binary @(DOWNLOADED FROM ARTIFACT_URL)","curl -v -w"\n" -X PUT http://cdapurl:11015/v3/namespaces/setelsewhere/artifacts/ARTIFACT_NAME/versions/ARTIFACT_VERSION_HEADER/properties -d (DOWNLOADED FROM UI_PROPERTIES_URL)" - properties: - artifact_extends_header: - description: the value of the header that gets passed in for artifact-extends, e.g., "Artifact-Extends:system:cdap-data-pipeline[4.0.1,5.0.0)" - type: string - artifact_name: - description: the name of the artifact - type: string - artifact_version_header : - description: the value of the header that gets passed in for artifact-version, e.g., "Artifact-Version:1.0.0-SNAPSHOT" - type: string - artifact_url: - description: the URL of the artifact JAR - type: string - ui_properties_url: - description: the URL of the properties.json if the custom artifact has UI properties. This is optional. - type: string - required: ["artifact_extends_header", "artifact_name", "artifact_version_header", "artifact_url"] - - programpref: - description: the list of programs in this CDAP app - type: object - properties: - program_type: - description: must be one of flows, mapreduce, schedules, spark, workflows, workers, or services - type: string - program_id: - description: the name of the program - type: string - program_pref: - description: the preference JSON to set for this program - type: object - - info: - description: some broker information - type: object - properties: - managed cdap url: - description: the url of the CDAP cluster API this broker is managing - type: string - number of applications registered: - type: integer - uptime (s): - type: integer - cdap GUI port: - type: integer - description: The GUI port of the CDAP cluster this broker is managing. Mostly to help users of this API check their application in cdap. Note, will return UNKNOWN_CDAP_VERSION if it cannot be determined. - cdap cluster version: - type: string - description: the version of the CDAP cluster this broker is managing. Note, will return UKNOWN_CDAP_VERSION if it cannot be determined. - broker API version: - type: string - description: the API version of this running broker - - - - - |