pub enum EventType {
ObjectCreatedPut,
ObjectRemovedDelete,
ObjectRemovedDeleteMarker,
}Expand description
Subset of the AWS S3 event-type taxonomy. We intentionally stop short of the full ~30-event matrix because v0.6 #35 only fires PUT and DELETE hooks; more events can be added when the corresponding handlers grow notification fire-points.
Variants§
ObjectCreatedPut
s3:ObjectCreated:Put
ObjectRemovedDelete
s3:ObjectRemoved:Delete — hard delete on a non-versioned bucket, or
a specific-version DELETE on any bucket.
ObjectRemovedDeleteMarker
s3:ObjectRemoved:DeleteMarkerCreated — versioned-bucket DELETE that
pushes a delete marker without removing prior version bytes.
Implementations§
Source§impl EventType
impl EventType
Sourcepub fn as_aws_str(&self) -> &'static str
pub fn as_aws_str(&self) -> &'static str
AWS wire-string form. Matches the values an SDK consumer would see in
the eventName field of the event JSON.
Sourcepub fn from_aws_str(s: &str) -> Option<Self>
pub fn from_aws_str(s: &str) -> Option<Self>
Parse the AWS wire form. Tolerates the AWS catch-all
s3:ObjectCreated:* and s3:ObjectRemoved:* patterns by mapping them
to the most common concrete variant in each family — matching what
AWS does when expanding the wildcard against an actual event.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for EventType
impl<'de> Deserialize<'de> for EventType
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for EventType
impl StructuralPartialEq for EventType
Auto Trait Implementations§
impl Freeze for EventType
impl RefUnwindSafe for EventType
impl Send for EventType
impl Sync for EventType
impl Unpin for EventType
impl UnsafeUnpin for EventType
impl UnwindSafe for EventType
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.