github.com/opentofu/opentofu@v1.7.1/internal/cloudplugin/cloudproto1/cloudproto1.proto (about)

     1  // Copyright (c) The OpenTofu Authors
     2  // SPDX-License-Identifier: MPL-2.0
     3  // Copyright (c) 2023 HashiCorp, Inc.
     4  // SPDX-License-Identifier: MPL-2.0
     5  
     6  syntax = "proto3";
     7  package cloudproto1;
     8  
     9  option go_package = "github.com/opentofu/opentofu/internal/cloudplugin/cloudproto1";
    10  
    11  // CommandRequest is used to request the execution of a specific command with
    12  // provided flags. It is the raw args from the terraform cloud command.
    13  message CommandRequest {
    14    repeated string args = 1;
    15  }
    16  
    17  // CommandResponse contains the result of the command execution, including any
    18  // output or errors.
    19  message CommandResponse {
    20    oneof data {
    21      int32 exitCode = 1;
    22      bytes stdout = 2;
    23      bytes stderr = 3;
    24    }
    25  }
    26  
    27  // PluginService defines the gRPC service to handle available commands and
    28  // their execution.
    29  service CommandService {
    30    // Execute runs a specific command with the provided flags and returns the result.
    31    rpc Execute(CommandRequest) returns (stream CommandResponse) {}
    32  }