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 }