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  }