Improve templates and add references in guides
[doc.git] / docs / templates / sections / apiexample / dcaecdap.rst
diff --git a/docs/templates/sections/apiexample/dcaecdap.rst b/docs/templates/sections/apiexample/dcaecdap.rst
new file mode 100644 (file)
index 0000000..bc7f7bf
--- /dev/null
@@ -0,0 +1,757 @@
+===============
+CDAP Broker API
+===============
+
+:Date:   2017-10-09
+
+.. contents::
+   :depth: 3
+..
+
+Overview
+========
+
+Version information
+-------------------
+
+*Version* : 4.0.10
+
+Paths
+=====
+
+GET /
+-----
+
+Description
+~~~~~~~~~~~
+
+shows some information about this service
+
+Responses
+~~~~~~~~~
+
++---------+----------------------------------------------------+----------------+
+| HTTP    | Description                                        | Schema         |
+| Code    |                                                    |                |
++=========+====================================================+================+
+| **200** | successful response                                | `info <#_info> |
+|         |                                                    | `__            |
++---------+----------------------------------------------------+----------------+
+
+GET /application
+----------------
+
+Description
+~~~~~~~~~~~
+
+get all applications registered with this broker
+
+Responses
+~~~~~~~~~
+
++---------+----------------------------------------------------+----------------+
+| HTTP    | Description                                        | Schema         |
+| Code    |                                                    |                |
++=========+====================================================+================+
+| **200** | successful response                                | <              |
+|         |                                                    | `appname <#_ap |
+|         |                                                    | pname>`__      |
+|         |                                                    | > array        |
++---------+----------------------------------------------------+----------------+
+
+PUT /application\*/{appname}
+----------------------------
+
+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.
+
+Parameters
+~~~~~~~~~~
+
++---------+-------------+--------------------------------------+------------------+
+| Type    | Name        | Description                          | Schema           |
++=========+=============+======================================+==================+
+| **Path* | | **appname | Name of the application.             | string (text)    |
+| *       | **          |                                      |                  |
+|         | | *required |                                      |                  |
+|         | *           |                                      |                  |
++---------+-------------+--------------------------------------+------------------+
+| **Body* | | **putbody | required put body                    | `hydratorappput  |
+| *       | **          |                                      | <#_hydratorapppu |
+|         | | *required |                                      | t>`__            |
+|         | *           |                                      |                  |
++---------+-------------+--------------------------------------+------------------+
+
+Responses
+~~~~~~~~~
+
++---------+----------------------------------------------------+----------------+
+| HTTP    | Description                                        | Schema         |
+| Code    |                                                    |                |
++=========+====================================================+================+
+| **200** | Successful response                                | `Application < |
+|         |                                                    | #_application> |
+|         |                                                    | `__            |
++---------+----------------------------------------------------+----------------+
+| **400** | put was performed but the appname was already      | No Content     |
+|         | registered with the broker, or Invalid PUT body    |                |
++---------+----------------------------------------------------+----------------+
+
+Consumes
+~~~~~~~~
+
+-  ``application/json``
+
+Produces
+~~~~~~~~
+
+-  ``application/json``
+
+POST /application/delete
+------------------------
+
+Description
+~~~~~~~~~~~
+
+endpoint to delete multiple applications at once. Returns an array of
+status codes, where statuscode[i] = response returned from
+DELETE(application/i)
+
+Parameters
+~~~~~~~~~~
+
++---------+-------------+--------------------------------------+------------------+
+| Type    | Name        | Description                          | Schema           |
++=========+=============+======================================+==================+
+| **Body* | | **postbod | required post body                   | `multideleteput  |
+| *       | y**         |                                      | <#_multideletepu |
+|         | | *required |                                      | t>`__            |
+|         | *           |                                      |                  |
++---------+-------------+--------------------------------------+------------------+
+
+Responses
+~~~~~~~~~
+
++---------+----------------------------------------------------+----------------+
+| HTTP    | Description                                        | Schema         |
+| Code    |                                                    |                |
++=========+====================================================+================+
+| **200** | successful response                                | <              |
+|         |                                                    | `returncode <# |
+|         |                                                    | _returncode>`_ |
+|         |                                                    | _              |
+|         |                                                    | > array        |
++---------+----------------------------------------------------+----------------+
+
+GET /application/{appname}
+--------------------------
+
+Description
+~~~~~~~~~~~
+
+Returns the representation of the application resource, including the
+links for healthcheck and metrics.
+
+Parameters
+~~~~~~~~~~
+
++---------+-------------+--------------------------------------+------------------+
+| Type    | Name        | Description                          | Schema           |
++=========+=============+======================================+==================+
+| **Path* | | **appname | Name of the application.             | string (text)    |
+| *       | **          |                                      |                  |
+|         | | *required |                                      |                  |
+|         | *           |                                      |                  |
++---------+-------------+--------------------------------------+------------------+
+
+Responses
+~~~~~~~~~
+
++---------+----------------------------------------------------+----------------+
+| HTTP    | Description                                        | Schema         |
+| Code    |                                                    |                |
++=========+====================================================+================+
+| **200** | Successful response                                | `Application < |
+|         |                                                    | #_application> |
+|         |                                                    | `__            |
++---------+----------------------------------------------------+----------------+
+| **404** | no app with name 'appname' registered with this    | No Content     |
+|         | broker.                                            |                |
++---------+----------------------------------------------------+----------------+
+
+PUT /application/{appname}
+--------------------------
+
+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.
+
+Parameters
+~~~~~~~~~~
+
++---------+-------------+--------------------------------------+------------------+
+| Type    | Name        | Description                          | Schema           |
++=========+=============+======================================+==================+
+| **Path* | | **appname | Name of the application.             | string (text)    |
+| *       | **          |                                      |                  |
+|         | | *required |                                      |                  |
+|         | *           |                                      |                  |
++---------+-------------+--------------------------------------+------------------+
+| **Body* | | **putbody | required put body                    | `appput <#_apppu |
+| *       | **          |                                      | t>`__            |
+|         | | *required |                                      |                  |
+|         | *           |                                      |                  |
++---------+-------------+--------------------------------------+------------------+
+
+Responses
+~~~~~~~~~
+
++---------+----------------------------------------------------+----------------+
+| HTTP    | Description                                        | Schema         |
+| Code    |                                                    |                |
++=========+====================================================+================+
+| **200** | Successful response                                | `Application < |
+|         |                                                    | #_application> |
+|         |                                                    | `__            |
++---------+----------------------------------------------------+----------------+
+| **400** | put was performed but the appname was already      | No Content     |
+|         | registered with the broker, or Invalid PUT body    |                |
++---------+----------------------------------------------------+----------------+
+
+Consumes
+~~~~~~~~
+
+-  ``application/json``
+
+Produces
+~~~~~~~~
+
+-  ``application/json``
+
+DELETE /application/{appname}
+-----------------------------
+
+Description
+~~~~~~~~~~~
+
+Remove an app for service and configuration discovery. This will remove
+the metrics and health endpoints for this app.
+
+Parameters
+~~~~~~~~~~
+
++---------+-------------+--------------------------------------+------------------+
+| Type    | Name        | Description                          | Schema           |
++=========+=============+======================================+==================+
+| **Path* | | **appname | Name of the application.             | string (text)    |
+| *       | **          |                                      |                  |
+|         | | *required |                                      |                  |
+|         | *           |                                      |                  |
++---------+-------------+--------------------------------------+------------------+
+
+Responses
+~~~~~~~~~
+
++---------+----------------------------------------------------+----------------+
+| HTTP    | Description                                        | Schema         |
+| Code    |                                                    |                |
++=========+====================================================+================+
+| **200** | Successful response                                | No Content     |
++---------+----------------------------------------------------+----------------+
+| **404** | no app with name 'appname' registered with this    | No Content     |
+|         | broker.                                            |                |
++---------+----------------------------------------------------+----------------+
+
+GET /application/{appname}/healthcheck
+--------------------------------------
+
+Description
+~~~~~~~~~~~
+
+Perform a healthcheck on the running app appname.
+
+Parameters
+~~~~~~~~~~
+
++---------+-------------+--------------------------------------+------------------+
+| Type    | Name        | Description                          | Schema           |
++=========+=============+======================================+==================+
+| **Path* | | **appname | Name of the application to get the   | string (test)    |
+| *       | **          | healthcheck for.                     |                  |
+|         | | *required |                                      |                  |
+|         | *           |                                      |                  |
++---------+-------------+--------------------------------------+------------------+
+
+Responses
+~~~~~~~~~
+
++---------+----------------------------------------------------+----------------+
+| HTTP    | Description                                        | Schema         |
+| Code    |                                                    |                |
++=========+====================================================+================+
+| **200** | Successful response, healthcheck pass              | No Content     |
++---------+----------------------------------------------------+----------------+
+| **404** | no app with name 'appname' registered with this    | No Content     |
+|         | broker, or the healthcheck has failed (though I    |                |
+|         | would like to disambiguiate from the first case,   |                |
+|         | CDAP returns a 404 for this).                      |                |
++---------+----------------------------------------------------+----------------+
+
+GET /application/{appname}/metrics
+----------------------------------
+
+Description
+~~~~~~~~~~~
+
+Get live (real-time) app specific metrics for the running app appname.
+Metrics are customized per each app by the component developer
+
+Parameters
+~~~~~~~~~~
+
++---------+-------------+--------------------------------------+------------------+
+| Type    | Name        | Description                          | Schema           |
++=========+=============+======================================+==================+
+| **Path* | | **appname | Name of the application to get       | string (test)    |
+| *       | **          | metrics for.                         |                  |
+|         | | *required |                                      |                  |
+|         | *           |                                      |                  |
++---------+-------------+--------------------------------------+------------------+
+
+Responses
+~~~~~~~~~
+
++---------+----------------------------------------------------+----------------+
+| HTTP    | Description                                        | Schema         |
+| Code    |                                                    |                |
++=========+====================================================+================+
+| **200** | Successful response                                | `MetricsObject |
+|         |                                                    |  <#_metricsobj |
+|         |                                                    | ect>`__        |
++---------+----------------------------------------------------+----------------+
+| **404** | no app with name 'appname' registered with this    | No Content     |
+|         | broker.                                            |                |
++---------+----------------------------------------------------+----------------+
+
+PUT /application/{appname}/reconfigure
+--------------------------------------
+
+Description
+~~~~~~~~~~~
+
+Reconfigures the application.
+
+Parameters
+~~~~~~~~~~
+
++---------+-------------+--------------------------------------+------------------+
+| Type    | Name        | Description                          | Schema           |
++=========+=============+======================================+==================+
+| **Path* | | **appname | Name of the application.             | string (text)    |
+| *       | **          |                                      |                  |
+|         | | *required |                                      |                  |
+|         | *           |                                      |                  |
++---------+-------------+--------------------------------------+------------------+
+| **Body* | | **putbody | required put body                    | `reconfigput <#_ |
+| *       | **          |                                      | reconfigput>`__  |
+|         | | *required |                                      |                  |
+|         | *           |                                      |                  |
++---------+-------------+--------------------------------------+------------------+
+
+Responses
+~~~~~~~~~
+
++---------+----------------------------------------------------+----------------+
+| HTTP    | Description                                        | Schema         |
+| Code    |                                                    |                |
++=========+====================================================+================+
+| **200** | Successful response                                | No Content     |
++---------+----------------------------------------------------+----------------+
+| **400** | Bad request. Can happen with 1) {appname} is not   | No Content     |
+|         | 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
+===========
+
+Application
+-----------
+
++-------------+---------------------------------------------+------------------+
+| Name        | Description                                 | Schema           |
++=============+=============================================+==================+
+| | **appname | application name                            | string           |
+| **          |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **connect | input URL that you can POST data into (URL  | string           |
+| ionurl**    | of the CDAP stream)                         |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **healthc | fully qualified url to perform healthcheck  | string           |
+| heckurl**   |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **metrics | fully qualified url to get metrics from     | string           |
+| url**       |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **service | a list of HTTP services exposed by this     | <                |
+| endpoints** | CDAP application                            | `service\_method |
+| | *optional |                                             |  <#_service_meth |
+| *           |                                             | od>`__           |
+|             |                                             | > array          |
++-------------+---------------------------------------------+------------------+
+| | **url**   | fully qualified url of the resource         | string           |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+
+MetricsObject
+-------------
+
+key,value object where the key is 'appmetrics' and the value is an app
+dependent json and specified by the component developer
+
++--------------------------------+-------------------------------------------+
+| Name                           | Schema                                    |
++================================+===========================================+
+| | **appmetrics**               | object                                    |
+| | *optional*                   |                                           |
++--------------------------------+-------------------------------------------+
+
+appname
+-------
+
+an application name
+
+*Type* : string
+
+appput
+------
+
++-------------+---------------------------------------------+------------------+
+| Name        | Description                                 | Schema           |
++=============+=============================================+==================+
+| | **app\_co | the application config JSON                 | object           |
+| nfig**      |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **app\_pr | the application preferences JSON            | object           |
+| eferences** |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **artifac | the name of the CDAP artifact to be added   | string           |
+| t\_name**   |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **cdap\_a | denotes whether this is a program-flowlet   | enum             |
+| pplication\ | style application or a hydrator pipeline.   | (program-flowlet |
+| _type**     | For program-flowlet style apps, this value  | )                |
+| | *optional | must be "program-flowlet"                   |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **jar\_ur | the URL that the JAR you’re deploying       | string           |
+| l**         | resides                                     |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **namespa | the cdap namespace this is deployed into    | string           |
+| ce**        |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **program |                                             | <                |
+| \_preferenc |                                             | `programpref <#_ |
+| es**        |                                             | programpref>`__  |
+| | *optional |                                             | > array          |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **program |                                             | <                |
+| s**         |                                             | `programs <#_pro |
+| | *optional |                                             | grams>`__        |
+| *           |                                             | > array          |
++-------------+---------------------------------------------+------------------+
+| | **service |                                             | <                |
+| s**         |                                             | `service\_endpoi |
+| | *optional |                                             | nt <#_service_en |
+| *           |                                             | dpoint>`__       |
+|             |                                             | > array          |
++-------------+---------------------------------------------+------------------+
+| | **streamn | name of the CDAP stream to ingest data into | string           |
+| ame**       | this app. Should come from the developer    |                  |
+| | *optional | and Tosca model.                            |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+
+hydratorappput
+--------------
+
++-------------+---------------------------------------------+------------------+
+| Name        | Description                                 | Schema           |
++=============+=============================================+==================+
+| | **cdap\_a | denotes whether this is a program-flowlet   | enum             |
+| pplication\ | style application or a hydrator pipeline.   | (hydrator-pipeli |
+| _type**     | For hydrator, this value must be            | ne)              |
+| | *required | "hydrator-pipeline"                         |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **depende | represents a list of dependencies to be     | <                |
+| ncies**     | loaded for this pipeline. Not required.     | `hydratordep <#_ |
+| | *optional |                                             | hydratordep>`__  |
+| *           |                                             | > array          |
++-------------+---------------------------------------------+------------------+
+| | **namespa | the cdap namespace this is deployed into    | string           |
+| ce**        |                                             |                  |
+| | *required |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **pipelin | the URL of the config.json for this         | string           |
+| e\_config\_ | pipeline                                    |                  |
+| json\_url** |                                             |                  |
+| | *required |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **streamn | name of the CDAP stream to ingest data into | string           |
+| ame**       | this app. Should come from the developer    |                  |
+| | *required | and Tosca model.                            |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+
+hydratordep
+-----------
+
+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)"
+
++-------------+---------------------------------------------+------------------+
+| Name        | Description                                 | Schema           |
++=============+=============================================+==================+
+| | **artifac | the value of the header that gets passed in | string           |
+| t\_extends\ | for artifact-extends, e.g.,                 |                  |
+| _header**   | "Artifact-Extends:system:cdap-data-pipeline |                  |
+| | *required | [4.0.1,5.0.0)"                              |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **artifac | the name of the artifact                    | string           |
+| t\_name**   |                                             |                  |
+| | *required |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **artifac | the URL of the artifact JAR                 | string           |
+| t\_url**    |                                             |                  |
+| | *required |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **artifac | the value of the header that gets passed in | string           |
+| t\_version\ | for artifact-version, e.g.,                 |                  |
+| _header**   | "Artifact-Version:1.0.0-SNAPSHOT"           |                  |
+| | *required |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **ui\_pro | the URL of the properties.json if the       | string           |
+| perties\_ur | custom artifact has UI properties. This is  |                  |
+| l**         | optional.                                   |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+
+info
+----
+
+some broker information
+
++-------------+---------------------------------------------+------------------+
+| Name        | Description                                 | Schema           |
++=============+=============================================+==================+
+| | **broker  | the API version of this running broker      | string           |
+|   API       |                                             |                  |
+|   version** |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **cdap    | The GUI port of the CDAP cluster this       | integer          |
+|   GUI       | broker is managing. Mostly to help users of |                  |
+|   port**    | this API check their application in cdap.   |                  |
+| | *optional | Note, will return UNKNOWN\_CDAP\_VERSION if |                  |
+| *           | it cannot be determined.                    |                  |
++-------------+---------------------------------------------+------------------+
+| | **cdap    | the version of the CDAP cluster this broker | string           |
+|   cluster   | is managing. Note, will return              |                  |
+|   version** | UKNOWN\_CDAP\_VERSION if it cannot be       |                  |
+| | *optional | determined.                                 |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **managed | the url of the CDAP cluster API this broker | string           |
+|   cdap      | is managing                                 |                  |
+|   url**     |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **number  |                                             | integer          |
+|   of        |                                             |                  |
+|   applicati |                                             |                  |
+| ons         |                                             |                  |
+|   registere |                                             |                  |
+| d**         |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **uptime  |                                             | integer          |
+|   (s)**     |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+
+multideleteput
+--------------
+
++--------------------------------+-------------------------------------------+
+| Name                           | Schema                                    |
++================================+===========================================+
+| | **appnames**                 | < `appname <#_appname>`__ > array         |
+| | *optional*                   |                                           |
++--------------------------------+-------------------------------------------+
+
+programpref
+-----------
+
+the list of programs in this CDAP app
+
++-------------+---------------------------------------------+------------------+
+| Name        | Description                                 | Schema           |
++=============+=============================================+==================+
+| | **program | the name of the program                     | string           |
+| \_id**      |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **program | the preference JSON to set for this program | object           |
+| \_pref**    |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **program | must be one of flows, mapreduce, schedules, | string           |
+| \_type**    | spark, workflows, workers, or services      |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+
+programs
+--------
+
+the list of programs in this CDAP app
+
++-------------+---------------------------------------------+------------------+
+| Name        | Description                                 | Schema           |
++=============+=============================================+==================+
+| | **program | the name of the program                     | string           |
+| \_id**      |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **program | must be one of flows, mapreduce, schedules, | string           |
+| \_type**    | spark, workflows, workers, or services      |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+
+reconfigput
+-----------
+
++-------------+---------------------------------------------+------------------+
+| Name        | Description                                 | Schema           |
++=============+=============================================+==================+
+| | **config* | the config JSON                             | object           |
+| *           |                                             |                  |
+| | *required |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **reconfi | the type of reconfiguration                 | enum             |
+| guration\_t |                                             | (program-flowlet |
+| ype**       |                                             | -app-config,     |
+| | *required |                                             | program-flowlet- |
+| *           |                                             | app-preferences, |
+|             |                                             | program-flowlet- |
+|             |                                             | smart)           |
++-------------+---------------------------------------------+------------------+
+
+returncode
+----------
+
+an httpreturncode
+
+*Type* : integer
+
+service\_endpoint
+-----------------
+
+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)
+
++-------------+---------------------------------------------+------------------+
+| Name        | Description                                 | Schema           |
++=============+=============================================+==================+
+| | **endpoin | GET, POST, PUT, etc                         | string           |
+| t\_method** |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **service | the name of the endpoint on the service     | string           |
+| \_endpoint* |                                             |                  |
+| *           |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **service | the name of the service                     | string           |
+| \_name**    |                                             |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+
+service\_method
+---------------
+
+a URL and HTTP method exposed via a CDAP service
+
++-------------+---------------------------------------------+------------------+
+| Name        | Description                                 | Schema           |
++=============+=============================================+==================+
+| | **method* | HTTP method you can perform on the URL,     | string           |
+| *           | e.g., GET, PUT, etc                         |                  |
+| | *optional |                                             |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+
+| | **url**   | the fully qualified URL in CDAP for this    | string           |
+| | *optional | service                                     |                  |
+| *           |                                             |                  |
++-------------+---------------------------------------------+------------------+