CLI HELP: vnf-delete
[cli.git] / docs / developer_guide.rst
index e345e62..8d3fdfe 100644 (file)
@@ -7,10 +7,10 @@
 CLI developer guide
 ===================
 
-Develop ONAP CLI using plug-ins or YAML.
+OCLI provides following approaches for developing CLI:
 
 As a Plug-in
--------------
+------------
 The plug-in approach is useful for implementing commands for products that do not support REST APIs.
 It uses this approach to provide the commands for its platform-related operations and provides the following commands as plug-ins:
 
@@ -20,13 +20,13 @@ It uses this approach to provide the commands for its platform-related operation
 It also offers the flexibility to implement any kind of command. For example, a specific plug-in command is provided in the CLI to handle
 HTTP commands, which helps to develop commands by **No coding, just by texting**
 
-Follow the steps below to implement new plug-in commands in ONAP:
+Follow the steps below to implement new plug-in commands for ONAP:
 
 #. Create a new mvn module (ex: demo) under plugins project.
 
 #. Use the plugins/sample project as a reference and update the new module demo project pom.xml file.
 
-#. Add new command YAML with a unique name under 'src/main/resources/onap-cli-schema'.
+#. Add new command YAML with a unique name under 'src/main/resources/open-cli-schema'.
 
 #. To implement a command as a plug-in, create a new plug-in class as follows: ::
 
@@ -70,23 +70,73 @@ Note the following points:
 
 #. Add the new plug-in class package path into the 'src/main/resources/META-INF/services/org.onap.cli.fw.OnapCommand' file
 
-#. Now the command is ready. Build the project by running 'mvn clean install'. ONAP CLI framework automatically delivers these commands as part of the ONAP CLI zip file as part of this build.
+#. Now the command is ready. Build the project by running 'mvn clean install'. OCLIP framework automatically delivers these commands as part of the OCLIP zip file as part of this build.
 
-#. To test this command, run the command 'onap hello-world --name amesterdam'
+#. To test this command, run the command 'oclip hello-world --name amsterdam'
 
 As a YAML
 ---------
 
-All ONAP CLI commands can be implemented as YAML using HTTP profile.
+All OCLIP commands can be implemented as YAML using HTTP profile.
 
-Follow the steps below to implement new commands in ONAP using YAML:
+Follow the steps below to implement new commands for ONAP using YAML:
 
-#. Install the latest ONAP CLI using the guide :ref:`cli_installation_guide`.
+#. Install the latest OCLIP using the guide :ref:`cli_installation_guide`.
 
-#. Under the onap-cli-schema folder, add a new YAML file by referring to :ref:`open_cli_schema_version_1_0`.
+#. Under the open-cli-schema folder, add a new YAML file by referring to :ref:`open_cli_schema_version_1_0`.
 
-#. Use the command 'onap schema-validate' to validate the YAML before testing its functionality.
+#. Use the command 'oclip schema-validate' to validate the YAML before testing its functionality.
 
-#. Run 'onap schema-refresh' command to take the new YAML file. We recommed validating the YAML before running this command.
+#. Run 'oclip schema-refresh' command to take the new YAML file. We recommended validating the YAML before running this command.
 
-#. To test this command, run the command 'onap CMD-NAME --help'.
+#. To test this command, run the command 'oclip CMD-NAME --help'.
+
+Sample YAML
+~~~~~~~~~~~~
+
+Find more details about YAML specification at :ref:`open_cli_schema_version_1_0`.
+
+Sample hello-world YAML ::
+
+    open_cli_schema_version: 1.0
+
+    name: hello-world-http
+
+    description: First cmd hello world using http running under lighttpd in cli at http://<cli-ip>:8080/version.json
+
+    version: sample-1.0
+
+    parameters:
+        - name: name
+          description: name of the person
+          long_option: name
+          short_option: b
+          default_value: ${DEMO_NAME}
+          type: string
+          is_optional: false
+
+    results:
+        direction: landscape
+        attributes:
+          - name: output
+            description: hello world output
+            type: string
+            scope: short
+
+    http:
+        request:
+            uri: /version.json
+            method: GET
+
+        service:
+            name: sample-service
+            version: v1
+            auth: none
+            mode: direct
+
+        success_codes:
+            - 200
+            - 201
+
+        result_map:
+            output: Hello ${name}, You are running on $b{$.name} $b{$.version}