diff options
Diffstat (limited to 'swagger/swagger.json')
-rw-r--r-- | swagger/swagger.json | 560 |
1 files changed, 0 insertions, 560 deletions
diff --git a/swagger/swagger.json b/swagger/swagger.json deleted file mode 100644 index da4ddd6..0000000 --- a/swagger/swagger.json +++ /dev/null @@ -1,560 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "4.0.7", - "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.)\n\nRegister 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": { - "description": "Get live (real-time) app specific metrics for the running app appname. Metrics are customized per each app by the component developer", - "parameters": [ - { - "name": "appname", - "in": "path", - "description": "Name of the application to get metrics for.", - "required": true, - "type": "string", - "format": "test" - } - ], - "responses": { - "200": { - "description": "Successful response", - "schema": { - "$ref": "#/definitions/MetricsObject" - } - }, - "404": { - "description": "no app with name 'appname' registered with this broker." - } - } - } - }, - "/application/{appname}/healthcheck": { - "get": { - "description": "Perform a healthcheck on the running app appname.", - "parameters": [ - { - "name": "appname", - "in": "path", - "description": "Name of the application to get the healthcheck for.", - "required": true, - "type": "string", - "format": "test" - } - ], - "responses": { - "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" - } - } - } - } -} |