mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-30 18:17:55 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			115 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright (c) HashiCorp, Inc.
 | |
| // SPDX-License-Identifier: BUSL-1.1
 | |
| 
 | |
| package audit
 | |
| 
 | |
| import (
 | |
| 	"github.com/hashicorp/vault/sdk/logical"
 | |
| )
 | |
| 
 | |
| // entry represents an audit entry.
 | |
| // It could be an entry for a request or response.
 | |
| type entry struct {
 | |
| 	Auth          *auth     `json:"auth,omitempty"`
 | |
| 	Error         string    `json:"error,omitempty"`
 | |
| 	Forwarded     bool      `json:"forwarded,omitempty"`
 | |
| 	ForwardedFrom string    `json:"forwarded_from,omitempty"` // Populated in Enterprise when a request is forwarded
 | |
| 	Request       *request  `json:"request,omitempty"`
 | |
| 	Response      *response `json:"response,omitempty"`
 | |
| 	Time          string    `json:"time,omitempty"`
 | |
| 	Type          string    `json:"type,omitempty"`
 | |
| }
 | |
| 
 | |
| type request struct {
 | |
| 	ClientCertificateSerialNumber string                 `json:"client_certificate_serial_number,omitempty"`
 | |
| 	ClientID                      string                 `json:"client_id,omitempty"`
 | |
| 	ClientToken                   string                 `json:"client_token,omitempty"`
 | |
| 	ClientTokenAccessor           string                 `json:"client_token_accessor,omitempty"`
 | |
| 	Data                          map[string]interface{} `json:"data,omitempty"`
 | |
| 	Headers                       map[string][]string    `json:"headers,omitempty"`
 | |
| 	ID                            string                 `json:"id,omitempty"`
 | |
| 	MountAccessor                 string                 `json:"mount_accessor,omitempty"`
 | |
| 	MountClass                    string                 `json:"mount_class,omitempty"`
 | |
| 	MountIsExternalPlugin         bool                   `json:"mount_is_external_plugin,omitempty"`
 | |
| 	MountPoint                    string                 `json:"mount_point,omitempty"`
 | |
| 	MountRunningSha256            string                 `json:"mount_running_sha256,omitempty"`
 | |
| 	MountRunningVersion           string                 `json:"mount_running_version,omitempty"`
 | |
| 	MountType                     string                 `json:"mount_type,omitempty"`
 | |
| 	Namespace                     *namespace             `json:"namespace,omitempty"`
 | |
| 	Operation                     logical.Operation      `json:"operation,omitempty"`
 | |
| 	Path                          string                 `json:"path,omitempty"`
 | |
| 	PolicyOverride                bool                   `json:"policy_override,omitempty"`
 | |
| 	RemoteAddr                    string                 `json:"remote_address,omitempty"`
 | |
| 	RemotePort                    int                    `json:"remote_port,omitempty"`
 | |
| 	ReplicationCluster            string                 `json:"replication_cluster,omitempty"`
 | |
| 	RequestURI                    string                 `json:"request_uri,omitempty"`
 | |
| 	WrapTTL                       int                    `json:"wrap_ttl,omitempty"`
 | |
| }
 | |
| 
 | |
| type response struct {
 | |
| 	Auth                  *auth                  `json:"auth,omitempty"`
 | |
| 	Data                  map[string]interface{} `json:"data,omitempty"`
 | |
| 	Headers               map[string][]string    `json:"headers,omitempty"`
 | |
| 	MountAccessor         string                 `json:"mount_accessor,omitempty"`
 | |
| 	MountClass            string                 `json:"mount_class,omitempty"`
 | |
| 	MountIsExternalPlugin bool                   `json:"mount_is_external_plugin,omitempty"`
 | |
| 	MountPoint            string                 `json:"mount_point,omitempty"`
 | |
| 	MountRunningSha256    string                 `json:"mount_running_sha256,omitempty"`
 | |
| 	MountRunningVersion   string                 `json:"mount_running_plugin_version,omitempty"`
 | |
| 	MountType             string                 `json:"mount_type,omitempty"`
 | |
| 	Redirect              string                 `json:"redirect,omitempty"`
 | |
| 	Secret                *secret                `json:"secret,omitempty"`
 | |
| 	WrapInfo              *responseWrapInfo      `json:"wrap_info,omitempty"`
 | |
| 	Warnings              []string               `json:"warnings,omitempty"`
 | |
| }
 | |
| 
 | |
| type auth struct {
 | |
| 	Accessor                  string              `json:"accessor,omitempty"`
 | |
| 	ClientToken               string              `json:"client_token,omitempty"`
 | |
| 	DisplayName               string              `json:"display_name,omitempty"`
 | |
| 	EntityCreated             bool                `json:"entity_created,omitempty"`
 | |
| 	EntityID                  string              `json:"entity_id,omitempty"`
 | |
| 	ExternalNamespacePolicies map[string][]string `json:"external_namespace_policies,omitempty"`
 | |
| 	IdentityPolicies          []string            `json:"identity_policies,omitempty"`
 | |
| 	Metadata                  map[string]string   `json:"metadata,omitempty"`
 | |
| 	NoDefaultPolicy           bool                `json:"no_default_policy,omitempty"`
 | |
| 	NumUses                   int                 `json:"num_uses,omitempty"`
 | |
| 	Policies                  []string            `json:"policies,omitempty"`
 | |
| 	PolicyResults             *policyResults      `json:"policy_results,omitempty"`
 | |
| 	RemainingUses             int                 `json:"remaining_uses,omitempty"`
 | |
| 	TokenPolicies             []string            `json:"token_policies,omitempty"`
 | |
| 	TokenIssueTime            string              `json:"token_issue_time,omitempty"`
 | |
| 	TokenTTL                  int64               `json:"token_ttl,omitempty"`
 | |
| 	TokenType                 string              `json:"token_type,omitempty"`
 | |
| }
 | |
| 
 | |
| type policyResults struct {
 | |
| 	Allowed          bool         `json:"allowed"`
 | |
| 	GrantingPolicies []policyInfo `json:"granting_policies,omitempty"`
 | |
| }
 | |
| 
 | |
| type policyInfo struct {
 | |
| 	Name          string `json:"name,omitempty"`
 | |
| 	NamespaceId   string `json:"namespace_id,omitempty"`
 | |
| 	NamespacePath string `json:"namespace_path,omitempty"`
 | |
| 	Type          string `json:"type"`
 | |
| }
 | |
| 
 | |
| type secret struct {
 | |
| 	LeaseID string `json:"lease_id,omitempty"`
 | |
| }
 | |
| 
 | |
| type responseWrapInfo struct {
 | |
| 	Accessor        string `json:"accessor,omitempty"`
 | |
| 	CreationPath    string `json:"creation_path,omitempty"`
 | |
| 	CreationTime    string `json:"creation_time,omitempty"`
 | |
| 	Token           string `json:"token,omitempty"`
 | |
| 	TTL             int    `json:"ttl,omitempty"`
 | |
| 	WrappedAccessor string `json:"wrapped_accessor,omitempty"`
 | |
| }
 | |
| 
 | |
| type namespace struct {
 | |
| 	ID   string `json:"id,omitempty"`
 | |
| 	Path string `json:"path,omitempty"`
 | |
| }
 | 
