// Copyright IBM Corp. 2016, 2025
// SPDX-License-Identifier: MPL-2.0

syntax = "proto3";

package logical;

// This file is in the SDK package so that consuming applications can use this to determine the
// format of aspects of observations.
option go_package = "github.com/hashicorp/vault/sdk/logical";

// ObservationPluginInfo contains data related to the plugin that generated an event.
message ObservationPluginInfo {
  // The type of plugin this observation originated from, i.e., "auth" or "secrets".
  string mount_class = 1;
  // Unique ID of the mount entry, e.g., "kv_957bb7d8"
  string mount_accessor = 2;
  // Mount path of the plugin this observation originated from, e.g., "secret/"
  string mount_path = 3;
  // Plugin name that this observation originated from, e.g., "kv"
  string plugin = 4;
  // Plugin version of the plugin this observation originated from, e.g., "v0.13.3+builtin"
  string plugin_version = 5;
  // Running plugin version of the plugin this observation originated from, e.g., "v0.13.3+builtin"
  string running_plugin_version = 6;
  // Mount version (i.e. from mount options) that this observation originated from, i.e., if KVv2, then "2". Usually empty
  string version = 7;
  // Whether or not the mount is local
  bool local = 8;
}
