Prerequisites
- Have a Heex CLI
- Have a API_KEY. Should be accessible in your personnal space on the heex cloud platform. If you already logged-in you don’t need to add the Api-Key in your command line.
Usage
| Subcommand | Description |
|---|---|
| get | Retrieve implementation details with a given ID. |
| list | Retrieve implementations based on optional filters. |
| create | Create a new implementation on the cloud. |
| create-template-file | Advanced usage: creates a template file for implementation creation configuration. |
| create-code | Verifies if the implementation id exists in the cloud and generates code for that implementation. |
| update | Update existing implementation for a given id. |
| delete | Delete an implementaion with a given ID. |
| unlink | Unlink implementation from a given system. |
How to create a new implementation
2 different ways to create a new implementation on the cloud, both using the commandcreate:
- Create an implementation only by name and some optional description, using the 2 subcommands:
--name: [mandatory] Must be unique on your cloud workspace.--type: [mandatory] Type of the implementation to retrieve details for. (MONITORorRECORDER).--description: Description for your implementation.
- Another way to create an implementation is to use a configuration file that contains all the data you want to generate, if you want to use it:
- You can generate a template file using the
./heex implementation create-template-filecommand, and then fill the given file as you need. - Once it is filled, use the create subcommand with the
--input-fileinput pointing to the filled file.
- You can generate a template file using the
⚠️ Warning: implementation name or description with special characters If your implementation name or description contains special characters (i.e ’ or space), please use double quotes before and after your names.For example, for a implementation called Jane’s implementation, provide that as —name “Jane’s implementation”. Note that whichever way you chose to create your implementation, you can add the option
--output-file which will save the created data info into a file. You’ll have to provide a filepath with a json extension: /path/to/file.json
- If you provide
--json-output, it will disable all logging (except errors), and your command shall only output the result in a json format. Be aware that it is not compatible with ‘—output-file’ option.
How to create implementation code
Thecreate-code command verifies if the implementation id exists in the cloud and generates implementation code for that implementation.
Available options:
--api-key: Your user api secret key which can be found on the cloud. [required]--implementation-id: ID of the involved implementation. [required]--path-to-sdk: If you don’t run from inside a unzipped sdk package, provide the path to its root.--language: Language of the implementation code, options are [‘python’, ‘cpp’]. [default: python]--name: Name of the implementation file to create. [required]
<SDK_PATH>/samples/code_implementations/<LANGUAGE>/<FILE_NAME>.
For C++ implementations, in addition to the implementation file, the following files will be generated:
- A
CMakeLists.txtfile in the same directory to configure the build. - A
buildSample.shscript to compile the code.
buildSample.sh script to build the executable.
To use the implementation(s) please check Run your implementations.
How to update an existing implementation
You can update an existing implementation using theupdate subcommand. This will command allows to add new signals to the existing implementation.
Flags implementation-id and signal-id are mandatory. You can provide more than one signal to add to the implementation, check help for more information.
Usage:
How to get implementation details
You can get the details of a implementation if you provide animplementation-id, see example below:
Usage:
How to get implementation list
You can get list of all available implementations in a given workspace. Several filters are available to narrow down the results. The flags available to filter the results are:--implementation-idID of the involved implementation. Multiple can be given: e.g.--implementation-id ID1--implementation-id ID2.--signal-idSignal IDs to retrieve details for. Multiple can be given:signal-id ID1signal-id ID1.--priorityPriority of the implementation to retrieve details for. Check the help for available values.--typeType of the implementation to retrieve details for. Check help for available values.--nameName of the implementation to retrieve details for.--output-fileThe result will be saved into this provided filepath. The output format is json, so please provide a filepath with that format:/path/to/file.json--json-outputDisables all logging (except errors), and your command shall only output the result in a json format. It is not compatible with ‘—output-file’ option.
--output-file flag. If the provided path doesn’t exist, it will be created. See example below where several filters can be used at the same time:
Usage:
How to delete an implementation
To be able to delete an implementation you need to provide aimplementation-id. If the implementation is linked to any system, it is not possible to delete: you need to unlink it from the system(s) first and then try again.
Usage:
How to unlink an implementation from a system
You can unlink an implementation from a given system using theunlink subcommand. This is useful when you want to remove an implementation from a system before deleting it or when the implementation is not compatible with the system anymore.
The available flags are:
--api-key: Provide your API_KEY [required].--signal-id: ID of the involved signal [required].--implementation-type: Implementation type (MONITORorRECORDER) [required].--system-id: ID of the system to unlink the implementation from [required].