Interface: ExtensionVM

Table of contents

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 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