Interface: ExtensionVM

Since

0.2.0

Properties

cli

Readonly cli: ExtensionCli

Executes a command in the backend container.

Example: Execute the command ls -l inside the backend container:

await ddClient.extension.vm.cli.exec(
  "ls",
  ["-l"]
);

Streams the output of the command executed in the backend container.

When the extension defines its own docker-compose.yaml file with multiple containers, the command is executed on the first container defined. Change the order in which containers are defined to execute commands on another container.

Example: Spawn the command ls -l inside the backend container:

await ddClient.extension.vm.cli.exec("ls", ["-l"], {
           stream: {
             onOutput(data): void {
                 // As we can receive both `stdout` and `stderr`, we wrap them in a JSON object
                 JSON.stringify(
                   {
                     stdout: data.stdout,
                     stderr: data.stderr,
                   },
                   null,
                   "  "
                 );
             },
             onError(error: any): void {
               console.error(error);
             },
             onClose(exitCode: number): void {
               console.log("onClose with exit code " + exitCode);
             },
           },
         });

Param

Command to execute.

Param

Arguments of the command to execute.

Param

The callback function where to listen from the command output data and errors.


service

Optional Readonly service: HttpService