github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/pkg/lorry/probe.proto (about)

     1  /*
     2  Copyright (C) 2022-2023 ApeCloud Co., Ltd
     3  
     4  This file is part of KubeBlocks project
     5  
     6  This program is free software: you can redistribute it and/or modify
     7  it under the terms of the GNU Affero General Public License as published by
     8  the Free Software Foundation, either version 3 of the License, or
     9  (at your option) any later version.
    10  
    11  This program is distributed in the hope that it will be useful
    12  but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    14  GNU Affero General Public License for more details.
    15  
    16  You should have received a copy of the GNU Affero General Public License
    17  along with this program.  If not, see <http://www.gnu.org/licenses/>.
    18  */
    19  
    20  syntax = "proto3";
    21  
    22  package probe.proto.v1;
    23  
    24  // Probe service provides APIs to kubeblocks operator to exec component operation.
    25  service Probe {
    26    // ProbeComponent take a specify operation to a component
    27    rpc ProbeComponent(ProbeRequest) returns (stream ProbeResponse) {}
    28  }
    29  
    30  // ProbeRequest is the message to send data to output bindings
    31  message ProbeRequest {
    32    // The name of the output binding to invoke.
    33    string name = 1;
    34  
    35    // The data which will be sent to output binding.
    36    bytes data = 2;
    37  
    38    // The metadata passing to output binding components
    39    // 
    40    // Common metadata property:
    41    // - ttlInSeconds : the time to live in seconds for the message. 
    42    // If set in the binding definition will cause all messages to 
    43    // have a default time to live. The message ttl overrides any value
    44    // in the binding definition.
    45    map<string, string> metadata = 3;
    46  
    47    // The name of the operation type for the binding to invoke
    48    string operation = 4;
    49  }
    50  
    51  // ProbeResponse is the message returned from an output binding invocation
    52  message ProbeResponse {
    53    // The data which will be sent to output binding.
    54    bytes data = 1;
    55  
    56    // The metadata returned from an external system
    57    map<string, string> metadata = 2;
    58  }