github.com/aristanetworks/goarista@v0.0.0-20240514173732-cca2755bbd44/gnmireverse/gnmireverse.proto (about)

     1  // Copyright (c) 2020 Arista Networks, Inc.
     2  // Use of this source code is governed by the Apache License 2.0
     3  // that can be found in the COPYING file.
     4  
     5  syntax = "proto3";
     6  
     7  import "github.com/openconfig/gnmi/proto/gnmi/gnmi.proto";
     8  import "google/protobuf/empty.proto";
     9  
    10  // Package gNMIReverse defines a service specification that reverses the
    11  // direction of the dial for gNMI Subscribe and gNMI Get.
    12  //
    13  // gNMI is a "dial-in" service, where the telemetry collector must make a
    14  // connection to the gNMI target. With gNMIReverse, a client can be run
    15  // alongside the gNMI target and then "dial-out" to a gNMIReverse server
    16  // to send streaming data.
    17  package gnmireverse;
    18  
    19  option go_package = "github.com/aristanetworks/goarista/gnmireverse";
    20  
    21  service gNMIReverse {
    22      // Publish allows the client to publish gNMI SubscribeResponses to the
    23      // collector server. The client is typically run alongside the gNMI target
    24      // and forwards SubscribeResponses from the target to the collector server.
    25      // The request is specified by the client.
    26      rpc Publish(stream gnmi.SubscribeResponse) returns (google.protobuf.Empty);
    27      // PublishGet allows the client to publish gNMI GetResponses to the
    28      // collector server. The client is typically run alongside the gNMI target
    29      // and forwards GetResponses from the target to the collector server.
    30      // The request and sample interval are specified by the client.
    31      rpc PublishGet(stream gnmi.GetResponse) returns (google.protobuf.Empty);
    32  }