Skip to main content

AuditLog

Struct AuditLog 

Source
pub struct AuditLog {
Show 18 fields pub id: Uuid, pub ts: String, pub request_id: Option<Uuid>, pub category: String, pub action: String, pub outcome: String, pub http_status: Option<u16>, pub actor_type: String, pub actor_user_id: Option<Uuid>, pub actor_zone_id: Option<Uuid>, pub actor_label: Option<String>, pub ip: Option<String>, pub resource_type: Option<String>, pub resource_id: Option<String>, pub resource_name: Option<String>, pub zone_id: Option<Uuid>, pub fields: Option<Vec<String>>, pub error_code: Option<String>,
}
Expand description

One audit log entry: who did what to which resource, and how it ended (AuditLogs). Fields Core does not know, or does not show the caller, are None. Enum values are kept as strings (forward compatibility); the known ones are listed per field.

Fields§

§id: Uuid

UUIDv7, time-ordered.

§ts: String

When, ISO 8601 in UTC with milliseconds (2026-10-27T09:14:03.120Z).

§request_id: Option<Uuid>

Shared by every entry one API request produced.

§category: String

api (a REST call), relay (a Relay connecting or syncing), auth (sign-in and key checks) or system (Core’s own work).

§action: String

<resource>.<verb>, e.g. record.create, zone.api_key.delete.

§outcome: String

success, or why not: denied (401/403), not_found, conflict, invalid (other 4xx), error (5xx).

§http_status: Option<u16>

HTTP status of an API call.

§actor_type: String

user (web app), user_key (du_…), zone_key (dz_…), edge (a Relay), system or anonymous.

§actor_user_id: Option<Uuid>

The user who acted.

§actor_zone_id: Option<Uuid>

The zone of a zone key that acted.

§actor_label: Option<String>

Readable actor (email, Relay name), kept after the actor is deleted.

§ip: Option<String>

Client IP; shown only on the caller’s own actions (to an Admin on all).

§resource_type: Option<String>

e.g. record, zone.

§resource_id: Option<String>

Id of the resource (usually a uuid, not always).

§resource_name: Option<String>

Readable target, e.g. a zone name or www.example.com A.

§zone_id: Option<Uuid>

The zone the operation belongs to.

§fields: Option<Vec<String>>

For a PATCH: names of the fields sent, never their values.

§error_code: Option<String>

Core’s error code (FORBIDDEN, MANAGED_RECORD, …) when it did not succeed.

Trait Implementations§

Source§

impl Clone for AuditLog

Source§

fn clone(&self) -> AuditLog

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AuditLog

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for AuditLog

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for AuditLog

Source§

fn eq(&self, other: &AuditLog) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for AuditLog

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for AuditLog

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more