| // Copyright IBM Corp. 2014, 2026 | |
| // SPDX-License-Identifier: BUSL-1.1 | |
| syntax = "proto3"; | |
| package stacksproto1; | |
| option go_package = "github.com/hashicorp/terraform/internal/stacksplugin/stacksproto1"; | |
| // CommandRequest is used to request the execution of a specific command with | |
| // provided flags. It is the raw args from the HCP Terraform command. | |
| message CommandRequest { | |
| repeated string args = 1; | |
| uint32 dependencies_server = 2; | |
| uint32 packages_server = 3; | |
| uint32 stacks_server = 4; | |
| } | |
| // CommandResponse contains the result of the command execution, including any | |
| // output or errors. | |
| message CommandResponse { | |
| oneof data { | |
| int32 exitCode = 1; | |
| bytes stdout = 2; | |
| bytes stderr = 3; | |
| } | |
| } | |
| // PluginService defines the gRPC service to handle available commands and | |
| // their execution. | |
| service CommandService { | |
| // Execute runs a specific command with the provided flags and returns the result. | |
| rpc Execute(CommandRequest) returns (stream CommandResponse) {} | |
| } |