go.ligato.io/vpp-agent/v3@v3.5.0/proto/ligato/configurator/configurator.proto (about)

     1  syntax = "proto3";
     2  
     3  package ligato.configurator;
     4  
     5  option go_package = "go.ligato.io/vpp-agent/v3/proto/ligato/configurator;configurator";
     6  
     7  import "ligato/vpp/vpp.proto";
     8  import "ligato/linux/linux.proto";
     9  import "ligato/netalloc/netalloc.proto";
    10  
    11  // Config describes all supported configs into a single config message.
    12  message Config {
    13      vpp.ConfigData vpp_config = 1;
    14      linux.ConfigData linux_config = 2;
    15      netalloc.ConfigData netalloc_config = 3;
    16  }
    17  
    18  // Notification describes all known notifications into a single message.
    19  message Notification {
    20      oneof notification {
    21          vpp.Notification vpp_notification = 1;
    22          linux.Notification linux_notification = 2;
    23      }
    24  }
    25  
    26  message UpdateRequest {
    27      // Update is a config data to be updated.
    28      Config update = 1;
    29  
    30      // FullResync option can be used to overwrite
    31      // all existing config with config update.
    32      //
    33      // NOTE: Using FullResync with empty config update will
    34      // remove all existing config.
    35      bool full_resync = 2;
    36  
    37      // WaitDone option can be used to block until either
    38      // config update is done (non-pending) or request times out.
    39      //
    40      // NOTE: WaitDone is intended to be used for config updates
    41      // that depend on some event from dataplane to fully configure.
    42      // Using this with incomplete config updates will require
    43      // another update request to unblock.
    44      bool wait_done = 3;
    45  }
    46  
    47  message UpdateResponse {
    48  
    49  }
    50  
    51  message DeleteRequest {
    52      // Delete is a config data to be deleted.
    53      Config delete = 1;
    54  
    55      // WaitDone option can be used to block until either
    56      // config delete is done (non-pending) or request times out.
    57      //
    58      // NOTE: WaitDone is intended to be used for config updates
    59      // that depend on some event from dataplane to fully configure.
    60      // Using this with incomplete config updates will require
    61      // another update request to unblock.
    62      bool wait_done = 3;
    63  }
    64  
    65  message DeleteResponse {
    66  
    67  }
    68  
    69  message GetRequest {
    70  
    71  }
    72  
    73  message GetResponse {
    74      // Config describes desired config retrieved from agent.
    75      Config config = 1;
    76  }
    77  
    78  message DumpRequest {
    79  
    80  }
    81  
    82  message DumpResponse {
    83      // Dump is a running config.
    84      Config dump = 1;
    85  }
    86  
    87  message NotifyRequest {
    88      uint32 idx = 1;
    89      repeated Notification filters = 2;
    90  }
    91  
    92  message NotifyResponse {
    93      // Index of next notification
    94      uint32 next_idx = 1;
    95      // Notification contains notification data.
    96      Notification notification = 2;
    97  }
    98  
    99  // ConfiguratorService provides basic operations for managing configuration
   100  // and monitoring actual state.
   101  service ConfiguratorService {
   102      // Get is used for listing desired config.
   103      rpc Get(GetRequest) returns (GetResponse);
   104  
   105      // Update is used for updating desired config.
   106      rpc Update(UpdateRequest) returns (UpdateResponse);
   107  
   108      // Delete is used for deleting desired config.
   109      rpc Delete(DeleteRequest) returns (DeleteResponse);
   110  
   111      // Dump is used for dumping running config.
   112      rpc Dump(DumpRequest) returns (DumpResponse);
   113  
   114      // Notify is used for subscribing to notifications.
   115      rpc Notify(NotifyRequest) returns (stream NotifyResponse);
   116  }