pub struct S3Service { /* private fields */ }Implementations§
Source§impl S3Service
impl S3Service
pub fn new(state: SharedS3State, delivery: Arc<DeliveryBus>) -> Self
pub fn with_store( state: SharedS3State, delivery: Arc<DeliveryBus>, store: Arc<dyn S3Store>, ) -> Self
pub fn with_kms(self, kms_state: SharedKmsState) -> Self
pub fn with_kms_hook(self, hook: Arc<dyn KmsHook>) -> Self
Trait Implementations§
Source§impl AwsService for S3Service
impl AwsService for S3Service
Source§fn iam_action_for(&self, request: &AwsRequest) -> Option<IamAction>
fn iam_action_for(&self, request: &AwsRequest) -> Option<IamAction>
S3 resources are either:
- Bucket ARN (
arn:aws:s3:::bucket) for bucket-level actions - Object ARN (
arn:aws:s3:::bucket/key) for object-level actions - Wildcard (
*) forListBucketswhich doesn’t target a specific resource
S3 ARNs notably omit the account id and region — this is the one AWS service that carries neither in its ARN, because bucket names are globally unique.
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_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 S3Service
impl !UnwindSafe for S3Service
impl Freeze for S3Service
impl Send for S3Service
impl Sync for S3Service
impl Unpin for S3Service
impl UnsafeUnpin for S3Service
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