github.com/hashicorp/vault/sdk@v0.13.0/logical/event.proto (about) 1 // Copyright (c) HashiCorp, Inc. 2 // SPDX-License-Identifier: MPL-2.0 3 4 syntax = "proto3"; 5 6 package logical; 7 8 import "google/protobuf/struct.proto"; 9 10 option go_package = "github.com/hashicorp/vault/sdk/logical"; 11 12 // EventPluginInfo contains data related to the plugin that generated an event. 13 message EventPluginInfo { 14 // The type of plugin this event originated from, i.e., "auth" or "secrets. 15 string mount_class = 1; 16 // Unique ID of the mount entry, e.g., "kv_957bb7d8" 17 string mount_accessor = 2; 18 // Mount path of the plugin this event originated from, e.g., "secret/" 19 string mount_path = 3; 20 // Plugin name that this event originated from, e.g., "kv" 21 string plugin = 4; 22 // Plugin version of the plugin this event originated from, e.g., "v0.13.3+builtin" 23 string plugin_version = 5; 24 // Mount version that this event originated from, i.e., if KVv2, then "2". Usually empty. 25 string version = 6; 26 } 27 28 // EventData contains event data in a CloudEvents container. 29 message EventData { 30 // ID identifies the event. It is required. The combination of 31 // CloudEvents Source (i.e., Vault cluster) + ID must be unique. 32 // Events with the same Source + ID can be assumed to be duplicates 33 // by consumers. 34 // Be careful when setting this manually that the ID contains enough 35 // entropy to be unique, or possibly that it is idempotent, such 36 // as a hash of other fields with sufficient uniqueness. 37 string id = 1; 38 // Arbitrary non-secret data. Optional. 39 google.protobuf.Struct metadata = 2; 40 // Any IDs that the event relates to, i.e., UUIDs, paths. 41 repeated string entity_ids = 3; 42 // Human-readable note. 43 string note = 4; 44 } 45 46 // EventReceived is used to consume events and includes additional metadata regarding 47 // the event type and plugin information. 48 message EventReceived { 49 EventData event = 1; 50 // namespace path 51 string namespace = 2; 52 string event_type = 3; 53 EventPluginInfo plugin_info = 4; 54 }