// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: MPL-2.0 package event import ( "context" ) // Auditor describes the interface that must be implemented by an eventer. type Auditor interface { // Event emits an event to the auditor. Event(ctx context.Context, eventType string, payload interface{}) error // Enabled details if the auditor is enabled or not. Enabled() bool // Reopen signals to auditor to reopen any files they have open. Reopen() error // SetEnabled sets the auditor to enabled or disabled. SetEnabled(enabled bool) // DeliveryEnforced returns whether or not delivery of an audit // log must be enforced DeliveryEnforced() bool }