Struct witchcraft_server::logging::api::AuditLogV3
source · pub struct AuditLogV3 { /* private fields */ }Implementations§
source§impl AuditLogV3
impl AuditLogV3
sourcepub fn builder() -> BuilderStage0
pub fn builder() -> BuilderStage0
Returns a new builder.
sourcepub fn deployment(&self) -> &str
pub fn deployment(&self) -> &str
The deployment that produced this log. Not exposed to downstream consumers.
sourcepub fn product_version(&self) -> &str
pub fn product_version(&self) -> &str
The version of the product that produced this log.
sourcepub fn environment(&self) -> Option<&str>
pub fn environment(&self) -> Option<&str>
The environment that produced this log.
sourcepub fn producer_type(&self) -> &AuditProducer
pub fn producer_type(&self) -> &AuditProducer
How this audit log was produced, eg. from a backend Server, frontend Client etc.
sourcepub fn organizations(&self) -> &[Organization]
pub fn organizations(&self) -> &[Organization]
A list of organizations that have been attributed to this log. Attribution is typically based on the user that originated this log, and the resources that they targeted. Not exposed to downstream consumers.
sourcepub fn user_agent(&self) -> Option<&str>
pub fn user_agent(&self) -> Option<&str>
The user agent of the user that originated this log.
sourcepub fn categories(&self) -> &[String]
pub fn categories(&self) -> &[String]
All audit categories produced by this audit event. Each audit categories produces a set of keys that will be distributed between the request and response params.
sourcepub fn entities(&self) -> &[Any]
pub fn entities(&self) -> &[Any]
All contextualized entities present in the request and response params of this log. Note: Some resources cannot be contextualized, and will not be included in this list as a result.
sourcepub fn users(&self) -> &[ContextualizedUser]
pub fn users(&self) -> &[ContextualizedUser]
All contextualized users present in the request and response params of this log, including the top level UUID of this log.
sourcepub fn origins(&self) -> &[String]
pub fn origins(&self) -> &[String]
All addresses attached to the request. Contains information from unreliable sources such as the X-Forwarded-For header.
This value can be spoofed.
sourcepub fn source_origin(&self) -> Option<&str>
pub fn source_origin(&self) -> Option<&str>
Origin of the network request. If a request goes through a proxy, this will contain the proxy’’s address.
This value is verified through the TCP stack.
sourcepub fn request_params(&self) -> &BTreeMap<String, SensitivityTaggedValue>
pub fn request_params(&self) -> &BTreeMap<String, SensitivityTaggedValue>
The parameters known at method invocation time.
Note that all keys must be known to the audit library. Typically, entries in the request and response
params will be dependent on the categories field defined above.
sourcepub fn result_params(&self) -> &BTreeMap<String, SensitivityTaggedValue>
pub fn result_params(&self) -> &BTreeMap<String, SensitivityTaggedValue>
Information derived within a method, commonly parts of the return value.
Note that all keys must be known to the audit library. Typically, entries in the request and response
params will be dependent on the categories field defined above.
pub fn time(&self) -> DateTime<Utc>
sourcepub fn uid(&self) -> Option<&UserId>
pub fn uid(&self) -> Option<&UserId>
User id (if available). This is the most downstream caller.
sourcepub fn origin(&self) -> Option<&str>
pub fn origin(&self) -> Option<&str>
Best-effort identifier of the originating machine, e.g. an IP address, a Kubernetes node identifier, or similar.
This value can be spoofed.
sourcepub fn result(&self) -> &AuditResult
pub fn result(&self) -> &AuditResult
Indicates whether the request was successful or the type of failure, e.g. ERROR or UNAUTHORIZED
Trait Implementations§
source§impl Clone for AuditLogV3
impl Clone for AuditLogV3
source§fn clone(&self) -> AuditLogV3
fn clone(&self) -> AuditLogV3
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for AuditLogV3
impl Debug for AuditLogV3
source§impl<'de> Deserialize<'de> for AuditLogV3
impl<'de> Deserialize<'de> for AuditLogV3
source§fn deserialize<D>(d: D) -> Result<AuditLogV3, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(d: D) -> Result<AuditLogV3, D::Error>where D: Deserializer<'de>,
source§impl From<AuditLogV3> for BuilderStage10
impl From<AuditLogV3> for BuilderStage10
source§fn from(value: AuditLogV3) -> Self
fn from(value: AuditLogV3) -> Self
source§impl Hash for AuditLogV3
impl Hash for AuditLogV3
source§impl Ord for AuditLogV3
impl Ord for AuditLogV3
source§fn cmp(&self, other: &AuditLogV3) -> Ordering
fn cmp(&self, other: &AuditLogV3) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq<AuditLogV3> for AuditLogV3
impl PartialEq<AuditLogV3> for AuditLogV3
source§fn eq(&self, other: &AuditLogV3) -> bool
fn eq(&self, other: &AuditLogV3) -> bool
self and other values to be equal, and is used
by ==.source§impl PartialOrd<AuditLogV3> for AuditLogV3
impl PartialOrd<AuditLogV3> for AuditLogV3
source§fn partial_cmp(&self, other: &AuditLogV3) -> Option<Ordering>
fn partial_cmp(&self, other: &AuditLogV3) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read moresource§impl Serialize for AuditLogV3
impl Serialize for AuditLogV3
impl Eq for AuditLogV3
impl StructuralEq for AuditLogV3
impl StructuralPartialEq for AuditLogV3
Auto Trait Implementations§
impl RefUnwindSafe for AuditLogV3
impl Send for AuditLogV3
impl Sync for AuditLogV3
impl Unpin for AuditLogV3
impl UnwindSafe for AuditLogV3
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Conv for T
impl<T> Conv for T
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
self, then passes self.as_mut() into the pipe
function.§impl<I> RecreateContext<I> for I
impl<I> RecreateContext<I> for I
§fn recreate_context(_original_input: I, tail: I) -> I
fn recreate_context(_original_input: I, tail: I) -> I
source§impl<T> Serialize for Twhere
T: Serialize + ?Sized,
impl<T> Serialize for Twhere T: Serialize + ?Sized,
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
.tap_ref_mut() only in debug builds, and is erased in release
builds.