pub struct DynamoDbService { /* private fields */ }Implementations§
Source§impl DynamoDbService
impl DynamoDbService
pub fn new(state: SharedDynamoDbState) -> Self
pub fn with_s3(self, s3_state: SharedS3State) -> Self
pub fn with_s3_store(self, store: Arc<dyn S3Store>) -> Self
pub fn with_delivery(self, delivery: Arc<DeliveryBus>) -> Self
pub fn with_snapshot_store(self, store: Arc<dyn SnapshotStore>) -> Self
pub fn with_kms_hook(self, hook: Arc<dyn KmsHook>) -> Self
pub fn with_region(self, region: impl Into<String>) -> Self
Sourcepub async fn save_snapshot_to_store(
&self,
store: Arc<dyn SnapshotStore>,
) -> Result<()>
pub async fn save_snapshot_to_store( &self, store: Arc<dyn SnapshotStore>, ) -> Result<()>
Persist the current in-memory state to the provided snapshot store.
The snapshot lock serializes the full clone + serialize + write so concurrent mutators cannot leave older bytes on disk, and serialization + the blocking file write are offloaded to the blocking pool to keep Tokio workers responsive.
Sourcepub fn snapshot_hook(&self) -> Option<SnapshotHook>
pub fn snapshot_hook(&self) -> Option<SnapshotHook>
Build a hook that persists the current DynamoDB state when invoked, or
None in memory mode (no snapshot store). The CloudFormation
provisioner mutates state directly and uses this to write a
CFN-provisioned table through to disk, the same way a direct mutating
API call would.
Sourcepub async fn save_snapshot(&self) -> Result<bool>
pub async fn save_snapshot(&self) -> Result<bool>
Persist the current in-memory state to the configured snapshot store.
Returns Ok(false) when no snapshot store is configured (i.e.
StorageMode::Memory).
Trait Implementations§
Source§impl AwsService for DynamoDbService
impl AwsService for DynamoDbService
Source§fn service_name(&self) -> &str
fn service_name(&self) -> &str
The AWS service identifier (e.g., “sqs”, “sns”, “sts”, “events”, “ssm”).
Source§fn handle<'life0, 'async_trait>(
&'life0 self,
req: AwsRequest,
) -> Pin<Box<dyn Future<Output = Result<AwsResponse, AwsServiceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle<'life0, 'async_trait>(
&'life0 self,
req: AwsRequest,
) -> Pin<Box<dyn Future<Output = Result<AwsResponse, AwsServiceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Handle an incoming request.
Source§fn supported_actions(&self) -> &[&str]
fn supported_actions(&self) -> &[&str]
List of actions this service supports (for introspection).
Source§fn iam_enforceable(&self) -> bool
fn iam_enforceable(&self) -> bool
Whether this service participates in opt-in IAM enforcement
(
FAKECLOUD_IAM=soft|strict). Read moreSource§fn iam_action_for(&self, _request: &AwsRequest) -> Option<IamAction>
fn iam_action_for(&self, _request: &AwsRequest) -> Option<IamAction>
Derive the IAM action + resource ARN for an incoming request. Read more
Source§fn iam_condition_keys_for(
&self,
_request: &AwsRequest,
_action: &IamAction,
) -> BTreeMap<String, Vec<String>>
fn iam_condition_keys_for( &self, _request: &AwsRequest, _action: &IamAction, ) -> BTreeMap<String, Vec<String>>
Derive service-specific IAM condition keys for an incoming request. Read more
Return the tags on the resource identified by
resource_arn. Read moreExtract tags being sent in the request (e.g. on CreateQueue,
PutObject with
x-amz-tagging, TagResource). Read moreAuto Trait Implementations§
impl !RefUnwindSafe for DynamoDbService
impl !UnwindSafe for DynamoDbService
impl Freeze for DynamoDbService
impl Send for DynamoDbService
impl Sync for DynamoDbService
impl Unpin for DynamoDbService
impl UnsafeUnpin for DynamoDbService
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
Mutably borrows from an owned value. Read more