Skip to main content

SesState

Struct SesState 

Source
pub struct SesState {
Show 33 fields pub account_id: String, pub region: String, pub identities: BTreeMap<String, EmailIdentity>, pub configuration_sets: BTreeMap<String, ConfigurationSet>, pub templates: BTreeMap<String, EmailTemplate>, pub sent_emails: Vec<SentEmail>, pub bounces: Vec<SentBounce>, pub contact_lists: BTreeMap<String, ContactList>, pub contacts: BTreeMap<String, BTreeMap<String, Contact>>, pub tags: BTreeMap<String, BTreeMap<String, String>>, pub suppressed_destinations: BTreeMap<String, SuppressedDestination>, pub event_destinations: BTreeMap<String, Vec<EventDestination>>, pub identity_policies: BTreeMap<String, BTreeMap<String, String>>, pub custom_verification_email_templates: BTreeMap<String, CustomVerificationEmailTemplate>, pub dedicated_ip_pools: BTreeMap<String, DedicatedIpPool>, pub dedicated_ips: BTreeMap<String, DedicatedIp>, pub multi_region_endpoints: BTreeMap<String, MultiRegionEndpoint>, pub account_settings: AccountSettings, pub import_jobs: BTreeMap<String, ImportJob>, pub export_jobs: BTreeMap<String, ExportJob>, pub tenants: BTreeMap<String, Tenant>, pub tenant_resource_associations: BTreeMap<String, Vec<TenantResourceAssociation>>, pub reputation_entities: BTreeMap<String, ReputationEntityState>, pub receipt_rule_sets: BTreeMap<String, ReceiptRuleSet>, pub active_receipt_rule_set: Option<String>, pub receipt_filters: BTreeMap<String, ReceiptFilter>, pub inbound_emails: Vec<InboundEmail>, pub smtp_submissions: Vec<SmtpSubmission>, pub event_destination_dispatches: Vec<EventDestinationDispatch>, pub deliverability_dashboard: DeliverabilityDashboard, pub deliverability_test_reports: BTreeMap<String, DeliverabilityTestReport>, pub vdm_recommendations: Vec<VdmRecommendation>, pub suppressed_drops_total: u64,
}

Fields§

§account_id: String§region: String§identities: BTreeMap<String, EmailIdentity>§configuration_sets: BTreeMap<String, ConfigurationSet>§templates: BTreeMap<String, EmailTemplate>§sent_emails: Vec<SentEmail>§bounces: Vec<SentBounce>§contact_lists: BTreeMap<String, ContactList>§contacts: BTreeMap<String, BTreeMap<String, Contact>>§tags: BTreeMap<String, BTreeMap<String, String>>

Tags keyed by resource ARN, value is key→value tag map.

§suppressed_destinations: BTreeMap<String, SuppressedDestination>

Suppression list: email → suppressed destination info.

§event_destinations: BTreeMap<String, Vec<EventDestination>>

Event destinations: config set name → list of event destinations.

§identity_policies: BTreeMap<String, BTreeMap<String, String>>

Identity policies: identity name → policy name → policy JSON document.

§custom_verification_email_templates: BTreeMap<String, CustomVerificationEmailTemplate>

Custom verification email templates: template name → template.

§dedicated_ip_pools: BTreeMap<String, DedicatedIpPool>

Dedicated IP pools: pool name → pool.

§dedicated_ips: BTreeMap<String, DedicatedIp>

Dedicated IPs: IP address → dedicated IP info.

§multi_region_endpoints: BTreeMap<String, MultiRegionEndpoint>

Multi-region endpoints: endpoint name → endpoint.

§account_settings: AccountSettings

Account-level settings (sending, suppression, VDM, details).

§import_jobs: BTreeMap<String, ImportJob>

Import jobs: job_id → ImportJob.

§export_jobs: BTreeMap<String, ExportJob>

Export jobs: job_id → ExportJob.

§tenants: BTreeMap<String, Tenant>

Tenants: tenant_name → Tenant.

§tenant_resource_associations: BTreeMap<String, Vec<TenantResourceAssociation>>

Tenant resource associations: tenant_name → Vec<resource_arn>.

§reputation_entities: BTreeMap<String, ReputationEntityState>

Reputation entities: “type/reference” → ReputationEntity.

§receipt_rule_sets: BTreeMap<String, ReceiptRuleSet>

Receipt rule sets: name → rule set.

§active_receipt_rule_set: Option<String>

Which rule set is active (by name).

§receipt_filters: BTreeMap<String, ReceiptFilter>

Receipt filters: name → filter.

§inbound_emails: Vec<InboundEmail>

Inbound emails processed by the introspection endpoint.

§smtp_submissions: Vec<SmtpSubmission>

Emails accepted via the SMTP submission listener (FAKECLOUD_SES_SMTP_PORT).

§event_destination_dispatches: Vec<EventDestinationDispatch>

Log of every event-destination dispatch performed by the SES fanout. Used by the /_fakecloud/ses/event-destinations/deliveries introspection endpoint to prove kinesis/firehose/cloudwatch wiring works without having to peek into the downstream services’ state.

§deliverability_dashboard: DeliverabilityDashboard

Deliverability dashboard subscription state.

§deliverability_test_reports: BTreeMap<String, DeliverabilityTestReport>

Deliverability test reports keyed by ReportId.

§vdm_recommendations: Vec<VdmRecommendation>

VDM recommendations (read-only, lazily seeded once on first read).

§suppressed_drops_total: u64

Running count of recipients dropped because they were on the suppression list (gated by the effective SuppressedReasons filter). Surfaced through the introspection endpoint so tests can assert the gate fired.

Implementations§

Source§

impl SesState

Source

pub fn new(account_id: &str, region: &str) -> Self

Source

pub fn reset(&mut self)

Reinitialize every field except account_id / region.

Source

pub fn effective_suppressed_reasons( &self, config_set_name: Option<&str>, ) -> Vec<String>

Effective SuppressedReasons for a send. Configuration-set scope wins when populated; otherwise we fall back to the account-level list. An empty list at both scopes is treated as “enforce both reasons” (BOUNCE + COMPLAINT) — that matches the historical fakecloud contract, and AWS callers who never call PutAccountSuppressionAttributes still expect the suppression list they explicitly populated to take effect.

Source

pub fn suppressed_match( &self, address: &str, config_set_name: Option<&str>, ) -> Option<&SuppressedDestination>

Look up address against the suppression list (case-insensitive, trimmed). Returns the matching SuppressedDestination only when the stored reason is enforced under the effective filter for the supplied configuration-set scope.

Trait Implementations§

Source§

impl AccountState for SesState

Source§

fn new_for_account(account_id: &str, region: &str, _endpoint: &str) -> Self

Create a fresh, empty state for the given account.
Source§

fn inherit_from(&mut self, _sibling: &Self)

Called after a new account state is created via MultiAccountState::get_or_create, with a reference to an existing sibling state. Services can override this to propagate shared resources (e.g. body caches) to the new state.
Source§

impl Clone for SesState

Source§

fn clone(&self) -> SesState

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 SesState

Source§

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

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

impl<'de> Deserialize<'de> for SesState

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 Serialize for SesState

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

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.

Source§

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

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,

Source§

impl<T> Instrument for T

Source§

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

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

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.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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