REST Plugin and client documentation
[policy/parent.git] / docs / apex / APEX-User-Manual.rst
index 50468a2..b10dcf8 100644 (file)
@@ -28,11 +28,11 @@ Installation Requirements
                .. container:: ulist
 
                   -  Downloaded distribution: JAVA runtime environment
-                     (JRE, Java 8 or later, APEX is tested with the
-                     Oracle Java)
+                     (JRE, Java 11 or later, APEX is tested with the
+                     OpenJDK Java)
 
                   -  Building from source: JAVA development kit (JDK,
-                     Java 8 or later, APEX is tested with the Oracle
+                     Java 11 or later, APEX is tested with the OpenJDK
                      Java)
 
                   -  A web archive capable webserver, for instance for
@@ -65,12 +65,6 @@ Installation Requirements
                               -  Windows for instance
                                  `7Zip <http://www.7-zip.org/>`__
 
-                        -  RPM to install from the RPM distribution
-
-                           .. container:: ulist
-
-                              -  Install: ``sudo apt-get install rpm``
-
                         -  DPKG to install from the DEB distribution
 
                            .. container:: ulist
@@ -172,11 +166,6 @@ Build APEX
       repository. The first standard build (and any first specific build) requires Internet access to download those
       dependencies.
 
-   .. important::
-      Building RPM distributions
-      RPM images are only build if the ``rpm`` package is installed (Unix). To install  ``rpm`` run ``sudo apt-get install rpm``,
-      then build APEX.
-
    .. container:: paragraph
 
       Use Maven to for a standard build without any tests.
@@ -305,7 +294,7 @@ Install APEX
 
    .. container:: ulist
 
-      -  Unix: automatically using ``rpm`` or ``dpkg`` from ``.rpm`` or
+      -  Unix: automatically using ``dpkg`` from
          ``.deb`` archive
 
       -  Windows, Unix, Cygwin: manually from a ``.tar.gz`` archive
@@ -313,11 +302,14 @@ Install APEX
       -  Windows, Unix, Cygwin: build from source using Maven, then
          install manually
 
-Install with RPM and DPKG
-#########################
+Install with DPKG
+#################
 
       .. container:: paragraph
 
+         You can get the APEX debian package from the
+         `ONAP Nexus Repository <https://nexus.onap.org/content/groups/public/org/onap/policy/apex-pdp/packages/apex-pdp-package-full/>`__.
+
          The install distributions of APEX automatically install the
          system. The installation directory is
          ``/opt/app/policy/apex-pdp``. Log files are located in
@@ -332,29 +324,6 @@ Install with RPM and DPKG
          the standard APEX start scripts to run APEX with this user’s
          permissions.
 
-         +-----------------------------------------------------------------------+
-         | RPM Installation                                                      |
-         +=======================================================================+
-         | .. container::                                                        |
-         |                                                                       |
-         |    .. container:: listingblock                                        |
-         |                                                                       |
-         |       .. container:: content                                          |
-         |                                                                       |
-         |          .. code::                                                    |
-         |             :number-lines:                                            |
-         |                                                                       |
-         |             # sudo rpm -i apex-pdp-package-full-2.0.0-SNAPSHOT.rpm    |
-         |             ********************preinst*******************            |
-         |             arguments 1                                               |
-         |             **********************************************            |
-         |             creating group apexuser . . .                             |
-         |             creating user apexuser . . .                              |
-         |             ********************postinst****************              |
-         |             arguments 1                                               |
-         |             ***********************************************           |
-         +-----------------------------------------------------------------------+
-
 +--------------------------------------------------------------------------------------+
 | DPKG Installation                                                                    |
 +======================================================================================+
@@ -393,7 +362,10 @@ Install Manually from Archive (Unix, Cygwin)
 
    .. container:: paragraph
 
-      Download a ``tar.gz`` archive. Create a directory where APEX
+      You can download a ``tar.gz`` archive from the
+      `ONAP Nexus Repository <https://nexus.onap.org/content/groups/public/org/onap/policy/apex-pdp/packages/apex-pdp-package-full/>`__.
+
+      Create a directory where APEX
       should be installed. Extract the ``tar`` archive. The following
       example shows how to install APEX in ``/opt/apex`` and create a
       link to ``/opt/apex/apex`` for the most recent installation.
@@ -417,7 +389,10 @@ Install Manually from Archive (Windows, 7Zip, GUI)
 
    .. container:: paragraph
 
-      Download a ``tar.gz`` archive and copy the file into the install
+      You can download a ``tar.gz`` archive from the
+      `ONAP Nexus Repository <https://nexus.onap.org/content/groups/public/org/onap/policy/apex-pdp/packages/apex-pdp-package-full/>`__.
+
+      Copy the ``tar.gz`` file into the install
       folder (in this example ``C:\apex``). Assuming you are using 7Zip,
       right click on the file and extract the ``tar`` archive. Note: the
       screenshots might show an older version than you have.
@@ -455,7 +430,10 @@ Install Manually from Archive (Windows, 7Zip, CMD)
 
    .. container:: paragraph
 
-      Download a ``tar.gz`` archive and copy the file into the install
+      You can download a ``tar.gz`` archive from the
+      `ONAP Nexus Repository <https://nexus.onap.org/content/groups/public/org/onap/policy/apex-pdp/packages/apex-pdp-package-full/>`__.
+
+      Copy the ``tar.gz`` file into the install
       folder (in this example ``C:\apex``). Start ``cmd``, for instance
       typing ``Windows+R`` and then ``cmd`` in the dialog. Assuming
       ``7Zip`` is installed in the standard folder, simply run the
@@ -492,11 +470,6 @@ Build and Install Manually (Unix, Windows, Cygwin)
          from the created artifacts (``rpm``, ``deb``, ``tar.gz``, or
          copying manually).
 
-      .. important::
-         Building RPM distributions
-         RPM images are only build if the ``rpm`` package is installed (Unix). To install ``rpm`` run
-         ``sudo apt-get install rpm``, then build APEX.
-
       .. container:: paragraph
 
          The following example shows how to build the APEX system,
@@ -1138,14 +1111,14 @@ Verify Installation - run an Example
 
    Terminate APEX by simply using ``CTRL+C`` in the console.
 
-Verify a Full Installation - REST Editor
+Verify a Full Installation - REST Client
 ########################################
 
    .. container:: paragraph
 
-      APEX has a REST application for viewing policy models. The
+      APEX has a REST application for deploying, monitoring, and viewing policy models. The
       application can also be used to create new policy models close to
-      the engine native policy language. Start the REST editor as
+      the engine native policy language. Start the REST client as
       follows.
 
    .. container:: listingblock
@@ -1155,7 +1128,7 @@ Verify a Full Installation - REST Editor
          .. code::
             :number-lines:
 
-            # $APEX_HOME/bin/apexApps.sh rest-editor
+            # $APEX_HOME/bin/apexApps.sh full-client
 
 .. container:: listingblock
 
@@ -1164,13 +1137,13 @@ Verify a Full Installation - REST Editor
       .. code::
             :number-lines:
 
-            >%APEX_HOME%\bin\apexApps.bat rest-editor
+            >%APEX_HOME%\bin\apexApps.bat full-client
 
 .. container:: paragraph
 
    The script will start a simple web server
    (`Grizzly <https://javaee.github.io/grizzly/>`__) and deploy a
-   ``war`` web archive in it. Once the editor is started, it will be
+   ``war`` web archive in it. Once the client is started, it will be
    available on ``localhost:18989``. The last few line of the messages
    should be:
 
@@ -1181,29 +1154,30 @@ Verify a Full Installation - REST Editor
       .. code::
          :number-lines:
 
-         Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . .
-         Sep 05, 2018 10:35:57 PM org.glassfish.grizzly.http.server.NetworkListener start
+         Apex Editor REST endpoint (ApexServicesRestMain: Config=[ApexServicesRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . .
+         Jul 02, 2020 2:57:39 PM org.glassfish.grizzly.http.server.NetworkListener start
          INFO: Started listener bound to [localhost:18989]
-         Sep 05, 2018 10:35:57 PM org.glassfish.grizzly.http.server.HttpServer start
+         Jul 02, 2020 2:57:39 PM org.glassfish.grizzly.http.server.HttpServer start
          INFO: [HttpServer] Started.
-         Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/
+         Apex Editor REST endpoint (ApexServicesRestMain: Config=[ApexServicesRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/
+
 
 .. container:: paragraph
 
    Now open a browser (Firefox, Chrome, Opera, Internet Explorer) and
    use the URL ``http://localhost:18989/``. This will connect the
-   browser to the started REST editor. The start screen should be as
+   browser to the started REST client. Click on the "Policy Editor" button and the Policy Editor start screen should be as
    follows.
 
 .. container:: imageblock
 
    .. container:: content
 
-      |REST Editor Start Screen|
+      |Policy Editor Start Screen|
 
    .. container:: title
 
-      Figure 1. REST Editor Start Screen
+      Figure 1. Policy Editor Start Screen
 
 .. container:: paragraph
 
@@ -1218,32 +1192,32 @@ Verify a Full Installation - REST Editor
 
    .. container:: content
 
-      |REST Editor with loaded SampleDomain Policy Model|
+      |Policy Editor with loaded SampleDomain Policy Model|
 
    .. container:: title
 
-      Figure 2. REST Editor with loaded SampleDomain Policy Model
+      Figure 2. Policy Editor with loaded SampleDomain Policy Model
 
 .. container:: paragraph
 
-   Now you can use the REST editor. To finish this verification, simply
+   Now you can use the Policy editor. To finish this verification, simply
    terminate your browser (or the tab), and then use ``CTRL+C`` in the
-   console where you started the REST editor.
+   console where you started the Policy editor.
 
-Installing WAR Applications
----------------------------
+Installing the WAR Application
+------------------------------
 
    .. container:: paragraph
 
-      APEX comes with a set of WAR files. These are complete
-      applications that can be installed and run in an application
-      server. All of these applications are realized as servlets. You
-      can find the WAR applications in ``$APEX_HOME/war`` (UNIX, Cygwin)
-      or ``%APEX_HOME%\war`` (Windows).
+      The three APEX clients are packaged in a WAR file. This is a complete
+      application that can be installed and run in an application
+      server. The application is realized as a servlet. You
+      can find the WAR application in the `ONAP Nexus Repository <https://nexus.onap.org/content/groups/public/org/onap/policy/apex-pdp/client/apex-client-full/>`__.
+
 
    .. container:: paragraph
 
-      Installing and using the WAR applications requires a web server
+      Installing and using the WAR application requires a web server
       that can execute ``war`` web archives. We recommend to use `Apache
       Tomcat <https://tomcat.apache.org/>`__, however other web servers
       can be used as well.
@@ -1257,7 +1231,7 @@ Installing WAR Applications
 
    .. container:: paragraph
 
-      There are multiple ways to install the APEX WAR applications:
+      There are multiple ways to install the APEX WAR application:
 
    .. container:: ulist
 
@@ -1287,23 +1261,7 @@ Installing WAR Applications
 
    .. container:: paragraph
 
-      The current APEX version provides the following WAR applications:
-
-   .. container:: ulist
-
-      -  client-deployment-2.0.0-SNAPSHOT.war - a client to deploy new
-         policy models to a running engine
-
-      -  client-editor-2.0.0-SNAPSHOT.war - the standard policy REST
-         editor GUI
-
-      -  client-monitoring-2.0.0-SNAPSHOT.war - a client for monitoring
-         a running APEX engine
-
-      -  client-full-2.0.0-SNAPSHOT.war - a full client with a
-         one-stop-access to deployment, monitoring, and REST editor
-
-      -  examples-servlet-2.0.0-SNAPSHOT.war - an example APEX servlet
+      The WAR application file has a name similar to *apex-client-full-<VERSION>.war*.
 
 Running APEX in Docker
 ----------------------
@@ -1559,7 +1517,8 @@ Engine Service Parameters
                     "id"             :  45,  (3)
                     "instanceCount"  : 4,  (4)
                     "deploymentPort" : 12345,  (5)
-                    "policyModelFileName" : "examples/models/VPN/VPNPolicyModelJava.json", (6)
+                    "policyModelFileName" : "examples/models/VPN/VPNPolicyModelJava.json", (6a)
+                    "policy_type_impl" : {...}, (6b)
                     "periodicEventPeriod": 1000, (7)
                     "engineParameters":{ (8)
                       "executorParameters":{...}, (9)
@@ -1601,8 +1560,19 @@ Engine Service Parameters
             |                                   | Websocket connection to the       |
             |                                   | engine                            |
             +-----------------------------------+-----------------------------------+
-            | **6**                             | the model file to load into the   |
-            |                                   | engine on startup (optional)      |
+            | **6a**                            | the APEX policy model file to     |
+            |                                   | load into the engine on startup   |
+            |                                   | when APEX is running native       |
+            |                                   | policies in standalone mode       |
+            |                                   | (optional)                        |
+            +-----------------------------------+-----------------------------------+
+            | **6b**                            | the APEX policy model as a JSON   |
+            |                                   | or YAML block to load into the    |
+            |                                   | engine on startup when            |
+            |                                   | APEX is running a policy that has |
+            |                                   | its logic and parameters          |
+            |                                   | specified in TOSCA                |
+            |                                   | (optional)                        |
             +-----------------------------------+-----------------------------------+
             | **7**                             | an optional timer for periodic    |
             |                                   | policies, in milliseconds (a      |
@@ -2903,7 +2873,12 @@ REST Client Input
                             "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
                           "parameters" : {
                             "url" : "http://example.org:8080/triggers/events", (2)
-                            "httpCodeFilter" : "[2][0-9][0-9]" (3)
+                            "httpMethod": "GET", (3)
+                            "httpCodeFilter" : "[2][0-9][0-9]", (4)
+                             "httpHeaders" : [ (5)
+                                ["Keep-Alive", "300"],
+                                ["Cache-Control", "no-cache"]
+                             ]
                           }
                         }
 
@@ -2914,7 +2889,14 @@ REST Client Input
                   +-------+--------------------------------------------------+
                   | **2** | the URL of the HTTP server for events            |
                   +-------+--------------------------------------------------+
-                  | **3** | use HTTP CODE FILTER for filtering status code   |
+                  | **3** | the HTTP method to use (GET/PUT/POST/DELETE),    |
+                  |       | optional, defaults to GET                        |
+                  +-------+--------------------------------------------------+
+                  | **4** | use HTTP CODE FILTER for filtering status code,  |
+                  |       | optional, defaults to [2][0-9][0-9]              |
+                  +-------+--------------------------------------------------+
+                  | **5** | HTTP headers to use on the REST request,         |
+                  |       | optional                                         |
                   +-------+--------------------------------------------------+
 
 REST Client Output
@@ -2950,8 +2932,11 @@ REST Client Output
                           "parameters" : {
                             "url" : "http://example.com:8888/actions/events", (2)
                             "url" : "http://example.{site}.com:8888/{trig}/events", (2')
-                            "httpMethod" : "PUT" (3)
-                          }
+                            "httpMethod" : "PUT". (3)
+                            "httpHeaders" : [ (4)
+                               ["Keep-Alive", "300"],
+                               ["Cache-Control", "no-cache"]
+                            ]                          }
                         }
 
                .. container:: colist arabic
@@ -2963,7 +2948,11 @@ REST Client Output
                   +-------+--------------------------------------------------+
                   | **2'**| the tagged URL of the HTTP server for events     |
                   +-------+--------------------------------------------------+
-                  | **3** | use HTTP PUT (remove this line to use HTTP POST) |
+                  | **3** | the HTTP method to use (GET/PUT/POST/DELETE),    |
+                  |       | optional, defaults to POST                       |
+                  +-------+--------------------------------------------------+
+                  | **4** | HTTP headers to use on the REST request,         |
+                  |       | optional                                         |
                   +-------+--------------------------------------------------+
 
 REST Server IO
@@ -3178,14 +3167,81 @@ REST Requestor IO
                APEX can act as REST requestor on the input as well as on
                the output interface. The media type is
                ``application/json``, so this plugin only works with
-               the JSON Event protocol.
+               the JSON Event protocol. This plugin allows APEX to send REST requests
+               and to receive the reply of that request without tying up APEX resources
+               while the request is being processed. The REST Requestor pairs a REST
+               requestor producer and consumer together to handle the REST request
+               and response. The REST request is created from an APEX output event
+               and the REST response is input into APEX as a new input event.
 
-REST Requestor Input
-====================
+REST Requestor Output (REST Request Producer)
+=============================================
 
                .. container:: paragraph
 
-                  APEX will connect to a given URL to request an input.
+                  APEX sends a REST request when events are output by APEX, the REST
+                  request configuration is specified on the REST Request Consumer (see
+                  below).
+
+               .. container:: listingblock
+
+                  .. container:: content
+
+                     .. code::
+
+                        "carrierTechnologyParameters": {
+                          "carrierTechnology": "RESTREQUESTOR", (1)
+                          "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RESTRequestorCarrierTechnologyParameters"
+                        },
+
+               .. container:: colist arabic
+
+                  +-------+------------------------------------------+
+                  | **1** | set REST requestor as carrier technology |
+                  +-------+------------------------------------------+
+
+               .. container:: paragraph
+
+                  The settings below are required on the producer to
+                  define the event that triggers the REST request and
+                  to specify the peered consumer configuration for the
+                  REST request, for example:
+
+               .. container:: listingblock
+
+                  .. container:: content
+
+                     .. code::
+
+                        "eventNameFilter": "GuardRequestEvent", (1)
+                        "requestorMode": true, (2)
+                        "requestorPeer": "GuardRequestorConsumer", (3)
+                        "requestorTimeout": 500 (4)
+
+               .. container:: colist arabic
+
+                  +-------+-------------------------------------------+
+                  | **1** | a filter on the event                     |
+                  +-------+-------------------------------------------+
+                  | **2** | requestor mode must be set to *true*      |
+                  +-------+-------------------------------------------+
+                  | **3** | the peered consumer for REST requests,    |
+                  |       | that consumer specifies the full          |
+                  |       | configuration for REST requests           |
+                  +-------+-------------------------------------------+
+                  | **4** | the request timeout in milliseconds,      |
+                  |       | overridden by timeout on consumer if that |
+                  |       | is set, optional defaults to 500          |
+                  |       | millisconds                               |
+                  +-------+-------------------------------------------+
+
+REST Requestor Input (REST Request Consumer)
+============================================
+
+               .. container:: paragraph
+
+                  APEX will connect to a given URL to issue a REST request and
+                  wait for a REST response.
                   The URL can be configured statically or tagged
                   as ``?example.{site}.org:8080/{trig}/events``,
                   all tags such as ``site`` and ``trig`` in the URL
@@ -3216,9 +3272,14 @@ REST Requestor Input
                             "url": "http://localhost:54321/some/path/to/rest/resource", (2)
                             "url": "http://localhost:54321/{site}/path/to/rest/{resValue}", (2')
                             "httpMethod": "POST", (3)
-                            "restRequestTimeout": 2000, (4)
-                            "httpCodeFilter" : "[2][0-9][0-9]" (5)
-                          }
+                            "requestorMode": true, (4)
+                            "requestorPeer": "GuardRequestorProducer", (5)
+                            "restRequestTimeout": 2000, (6)
+                            "httpCodeFilter" : "[2][0-9][0-9]" (7)
+                            "httpHeaders" : [ (8)
+                               ["Keep-Alive", "300"],
+                               ["Cache-Control", "no-cache"]
+                            ]                          }
                         },
 
                .. container:: colist arabic
@@ -3230,17 +3291,31 @@ REST Requestor Input
                   +-------+--------------------------------------------------+
                   | **2'**| the tagged URL of the HTTP server for events     |
                   +-------+--------------------------------------------------+
-                  | **3** | use HTTP PUT (remove this line to use HTTP POST) |
+                  | **3** | the HTTP method to use (GET/PUT/POST/DELETE),    |
+                  |       | optional, defaults to GET                        |
+                  +-------+--------------------------------------------------+
+                  | **4** | requestor mode must be set to *true*             |
+                  +-------+--------------------------------------------------+
+                  | **5** | the peered producer for REST requests, that      |
+                  |       | producer specifies the APEX output event that    |
+                  |       | triggers the REST request                        |
                   +-------+--------------------------------------------------+
-                  | **4** | request timeout in milliseconds                  |
+                  | **6** | request timeout in milliseconds, overrides any   |
+                  |       | value set in the REST Requestor Producer,        |
+                  |       | optional, defaults to 500 millisconds            |
                   +-------+--------------------------------------------------+
-                  | **5** | use HTTP CODE FILTER for filtering status code   |
+                  | **7** | use HTTP CODE FILTER for filtering status code   |
+                  |       | optional, defaults to [2][0-9][0-9]              |
+                  +-------+--------------------------------------------------+
+                  | **8** | HTTP headers to use on the REST request,         |
+                  |       | optional                                         |
                   +-------+--------------------------------------------------+
 
                .. container:: paragraph
 
-                  Further settings are required on the consumer to
-                  define the event that is requested, for example:
+                  Further settings may be required on the consumer to
+                  define the input event that is produced and forwarded into
+                  APEX, for example:
 
                .. container:: listingblock
 
@@ -3249,10 +3324,7 @@ REST Requestor Input
                      .. code::
 
                         "eventName": "GuardResponseEvent", (1)
-                        "eventNameFilter": "GuardResponseEvent", (2)
-                        "requestorMode": true, (3)
-                        "requestorPeer": "GuardRequestorProducer", (4)
-                        "requestorTimeout": 500 (5)
+                        "eventNameFilter": "GuardResponseEvent" (2)
 
                .. container:: colist arabic
 
@@ -3261,65 +3333,6 @@ REST Requestor Input
                   +-------+---------------------------+
                   | **2** | a filter on the event     |
                   +-------+---------------------------+
-                  | **3** | the mode of the requestor |
-                  +-------+---------------------------+
-                  | **4** | a peer for the requestor  |
-                  +-------+---------------------------+
-                  | **5** | a general request timeout |
-                  +-------+---------------------------+
-
-REST Requestor Output
-=====================
-
-               .. container:: paragraph
-
-                  APEX will connect to a given URL to send events, but
-                  not receive any events.
-
-               .. container:: listingblock
-
-                  .. container:: content
-
-                     .. code::
-
-                        "carrierTechnologyParameters": {
-                          "carrierTechnology": "RESTREQUESTOR", (1)
-                          "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RESTRequestorCarrierTechnologyParameters"
-                        },
-
-               .. container:: colist arabic
-
-                  +-------+------------------------------------------+
-                  | **1** | set REST requestor as carrier technology |
-                  +-------+------------------------------------------+
-
-               .. container:: paragraph
-
-                  Further settings are required on the consumer to
-                  define the event that is requested, for example:
-
-               .. container:: listingblock
-
-                  .. container:: content
-
-                     .. code::
-
-                        "eventNameFilter": "GuardRequestEvent", (1)
-                        "requestorMode": true, (2)
-                        "requestorPeer": "GuardRequestorConsumer", (3)
-                        "requestorTimeout": 500 (4)
-
-               .. container:: colist arabic
-
-                  +-------+---------------------------+
-                  | **1** | a filter on the event     |
-                  +-------+---------------------------+
-                  | **2** | the mode of the requestor |
-                  +-------+---------------------------+
-                  | **3** | a peer for the requestor  |
-                  +-------+---------------------------+
-                  | **4** | a general request timeout |
-                  +-------+---------------------------+
 
 gRPC IO
 #######
@@ -4224,250 +4237,13 @@ The APEX CLI Tosca Editor
 
                   %APEX_HOME%/\bin/\apexCLIToscaEditor.bat -c %APEX_HOME%\examples\PolicyModel.apex -ot %APEX_HOME%\examples\test.json  -l %APEX_HOME%\examples\test.log -ac %APEX_HOME%\examples\RESTServerStandaloneJsonEvent.json -t %APEX_HOME%\examples\ToscaTemplate.json
 
-The APEX REST Editor
---------------------
-
-         .. container:: paragraph
-
-            The standard way to use the APEX REST Editor is via an
-            installation of the *war* file on a webserver. However, the
-            REST editor can also be started via command line. This will
-            start a Grizzly webserver with the *war* deployed. Access to
-            the REST Editor is then via the provided URL
-
-         .. container:: paragraph
-
-            On UNIX and Cygwin systems use:
-
-         .. container:: ulist
-
-            -  ``apexRESTEditor.sh`` - simply starts the webserver with
-               the REST editor
-
-            -  ``apexApps.sh rest-editor`` - simply starts the webserver
-               with the REST editor
-
-         .. container:: paragraph
-
-            On Windows systems use:
-
-         .. container:: ulist
-
-            -  ``apexRESTEditor.bat`` - simply starts the webserver with
-               the REST editor
-
-            -  ``apexApps.bat rest-editor`` - simply starts the
-               webserver with the REST editor
-
-         .. container:: paragraph
-
-            Summary of alternatives to start the APEX REST Editor:
-
-         +-------------------------------------------------------------+---------------------------------------------------------------+
-         | Unix, Cygwin                                                | Windows                                                       |
-         +=============================================================+===============================================================+
-         | .. container::                                              | .. container::                                                |
-         |                                                             |                                                               |
-         |    .. container:: listingblock                              |    .. container:: listingblock                                |
-         |                                                             |                                                               |
-         |       .. container:: content                                |       .. container:: content                                  |
-         |                                                             |                                                               |
-         |          .. code::                                          |          .. code::                                            |
-         |                                                             |                                                               |
-         |             # $APEX_HOME/bin/apexRESTEditor.sh.sh [args]    |             > %APEX_HOME%\bin\apexRESTEditor.bat [args]       |
-         |             # $APEX_HOME/bin/apexApps.sh rest-editor [args] |             > %APEX_HOME%\bin\apexApps.bat rest-editor [args] |
-         +-------------------------------------------------------------+---------------------------------------------------------------+
-
-         .. container:: paragraph
-
-            The option ``-h`` provides a help screen with all command
-            line arguments.
-
-         .. container:: listingblock
-
-            .. container:: content
-
-               .. code::
-
-                  usage: org.onap.policy.apex.client.editor.rest.ApexEditorMain [options...]
-                  -h,--help                        outputs the usage of this command
-                  -l,--listen <ADDRESS>            the IP address to listen on.  Default value is localhost to restrict access to the
-                                                   local machine only.
-                  -p,--port <PORT>                 port to use for the Apex RESTful editor REST calls.
-                  -t,--time-to-live <TIME_TO_LIVE> the amount of time in seconds that the server will run for before terminating. Default
-                                                   value is -1 to run indefinitely.
-
-         .. container:: paragraph
-
-            If the REST Editor is started without any arguments the
-            final messages will look similar to this:
-
-         .. container:: listingblock
-
-            .. container:: content
-
-               .. code::
-
-                  Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . .
-                  Sep 05, 2018 11:24:30 PM org.glassfish.grizzly.http.server.NetworkListener start
-                  INFO: Started listener bound to [localhost:18989]
-                  Sep 05, 2018 11:24:30 PM org.glassfish.grizzly.http.server.HttpServer start
-                  INFO: [HttpServer] Started.
-                  Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/
-
-         .. container:: paragraph
-
-            The last line states the URL on which the REST Editor can be
-            accessed. The example above stated
-            ``http://0.0.0.0:18989/apex/``. In a web browser use the URL
-            ``http://localhost:18989`` and the REST Editor will start.
-
-The APEX Monitoring Client
---------------------------
-
-         .. container:: paragraph
-
-            The standard way to use the APEX Monitoring Client is via an
-            installation of the *war* file on a webserver. However, the
-            Monitoring Client can also be started via command line. This
-            will start a Grizzly webserver with the *war* deployed.
-            Access to the Monitoring Client is then via the provided URL
-
-         .. container:: paragraph
-
-            On UNIX and Cygwin systems use:
-
-         .. container:: ulist
-
-            -  ``apexApps.sh eng-monitoring`` - simply starts the
-               webserver with the Monitoring Client
-
-         .. container:: paragraph
-
-            On Windows systems use:
-
-         .. container:: ulist
-
-            -  ``apexApps.bat eng-monitoring`` - simply starts the
-               webserver with the Monitoring Client
-
-         .. container:: paragraph
-
-            The option ``-h`` provides a help screen with all command
-            line arguments.
-
-         .. container:: listingblock
-
-            .. container:: content
-
-               .. code::
 
-                  usage: org.onap.policy.apex.client.monitoring.rest.ApexMonitoringRestMain [options...]
-                  -h,--help                        outputs the usage of this command
-                  -p,--port <PORT>                 port to use for the Apex Services REST calls
-                  -t,--time-to-live <TIME_TO_LIVE> the amount of time in seconds that the server will run for before terminating
-
-         .. container:: paragraph
-
-            If the Monitoring Client is started without any arguments
-            the final messages will look similar to this:
-
-         .. container:: listingblock
-
-            .. container:: content
-
-               .. code::
-
-                  Apex Services REST endpoint (ApexMonitoringRestMain: Config=[ApexMonitoringRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . .
-                  Sep 05, 2018 11:26:20 PM org.glassfish.grizzly.http.server.NetworkListener start
-                  INFO: Started listener bound to [localhost:18989]
-                  Sep 05, 2018 11:26:20 PM org.glassfish.grizzly.http.server.HttpServer start
-                  INFO: [HttpServer] Started.
-                  Apex Services REST endpoint (ApexMonitoringRestMain: Config=[ApexMonitoringRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/
-
-         .. container:: paragraph
-
-            The last line states the URL on which the Monitoring Client
-            can be accessed. The example above stated
-            ``http://localhost:18989/apexservices``. In a web browser
-            use the URL ``http://localhost:18989``.
-
-The APEX Deployment Client
---------------------------
-
-         .. container:: paragraph
-
-            The standard way to use the APEX Deployment Client is via an
-            installation of the *war* file on a webserver. However, the
-            Deployment Client can also be started via command line. This
-            will start a Grizzly webserver with the *war* deployed.
-            Access to the Deployment Client is then via the provided URL
-
-         .. container:: paragraph
-
-            On UNIX and Cygwin systems use:
-
-         .. container:: ulist
-
-            -  ``apexApps.sh eng-deployment`` - simply starts the
-               webserver with the Deployment Client
-
-         .. container:: paragraph
-
-            On Windows systems use:
-
-         .. container:: ulist
-
-            -  ``apexApps.bat eng-deployment`` - simply starts the
-               webserver with the Deployment Client
-
-         .. container:: paragraph
-
-            The option ``-h`` provides a help screen with all command
-            line arguments.
-
-         .. container:: listingblock
-
-            .. container:: content
-
-               .. code::
-
-                  usage: org.onap.policy.apex.client.deployment.rest.ApexDeploymentRestMain [options...]
-                  -h,--help                        outputs the usage of this command
-                  -p,--port <PORT>                 port to use for the Apex Services REST calls
-                  -t,--time-to-live <TIME_TO_LIVE> the amount of time in seconds that the server will run for before terminating
-
-         .. container:: paragraph
-
-            If the Deployment Client is started without any arguments
-            the final messages will look similar to this:
-
-         .. container:: listingblock
-
-            .. container:: content
-
-               .. code::
-
-                  Apex Services REST endpoint (ApexDeploymentRestMain: Config=[ApexDeploymentRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . .
-                  Sep 05, 2018 11:27:09 PM org.glassfish.grizzly.http.server.NetworkListener start
-                  INFO: Started listener bound to [localhost:18989]
-                  Sep 05, 2018 11:27:09 PM org.glassfish.grizzly.http.server.HttpServer start
-                  INFO: [HttpServer] Started.
-                  Apex Services REST endpoint (ApexDeploymentRestMain: Config=[ApexDeploymentRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/
-
-         .. container:: paragraph
-
-            The last line states the URL on which the Deployment Client
-            can be accessed. The example above stated
-            ``http://localhost:18989/apexservices``. In a web browser
-            use the URL ``http://localhost:18989``.
-
-The APEX Full Client
+The APEX Client
 --------------------
 
          .. container:: paragraph
 
-            The APEX Full Client combines the REST Editor, the
+            The APEX Client combines the Policy Editor, the
             Monitoring Client, and the Deployment Client into a single
             application. The standard way to use the APEX Full Client is
             via an installation of the *war* file on a webserver.
@@ -4540,7 +4316,7 @@ The APEX Application Launcher
 
          .. container:: paragraph
 
-            The standard applications (Engine, CLI Editor, REST Editor)
+            The standard applications (Engine and CLI Editor)
             come with dedicated start scripts. For all other APEX
             applications, we provide an application launcher.
 
@@ -5967,13 +5743,5 @@ Send Events
    .. container::
       :name: footer-text
 
-      2.0.0-SNAPSHOT
-      Last updated 2018-09-10 15:38:16 IST
-
-.. |Extract the TAR archive| image:: images/install-guide/win-extract-tar-gz.png
-.. |Extract the APEX distribution| image:: images/install-guide/win-extract-tar.png
-.. |REST Editor Start Screen| image:: images/install-guide/rest-start.png
-.. |REST Editor with loaded SampleDomain Policy Model| image:: images/install-guide/rest-loaded.png
-.. |APEX Configuration Matrix| image:: images/apex-intro/ApexEngineConfig.png