pub struct EcsService { /* private fields */ }Expand description
The ECS service handler.
Implementations§
Source§impl EcsService
impl EcsService
pub fn new() -> Self
Sourcepub fn with_iam_lookup(self, lookup: Arc<dyn PrincipalLookup>) -> Self
pub fn with_iam_lookup(self, lookup: Arc<dyn PrincipalLookup>) -> Self
Plug in the IAM principal lookup so task / execution role ARNs are verified against the IAM store at registration time.
Sourcepub fn with_secrets_lookup(self, lookup: Arc<dyn SecretLookup>) -> Self
pub fn with_secrets_lookup(self, lookup: Arc<dyn SecretLookup>) -> Self
Plug in the SecretsManager lookup so private-registry
credentials referenced via repositoryCredentials.credentialsParameter
are verified against the secrets store at registration time.
Sourcepub fn with_parameters_lookup(self, lookup: Arc<dyn ParameterLookup>) -> Self
pub fn with_parameters_lookup(self, lookup: Arc<dyn ParameterLookup>) -> Self
Plug in the SSM Parameter Store lookup so container
secrets[].valueFrom references that point at SSM parameters
are validated when RunTask materialises the task.
Sourcepub fn with_cloudmap_registrar(
self,
registrar: Arc<dyn CloudMapRegistrar>,
) -> Self
pub fn with_cloudmap_registrar( self, registrar: Arc<dyn CloudMapRegistrar>, ) -> Self
Plug in the Cloud Map registrar so CreateService with
serviceRegistries[] registers an instance per registry, and
DeleteService cleans them up.
Trait Implementations§
Source§impl Default for EcsService
impl Default for EcsService
Source§impl ServiceHandler for EcsService
impl ServiceHandler for EcsService
Source§fn service_name(&self) -> &str
fn service_name(&self) -> &str
The AWS service name (e.g., “s3”, “sqs”, “dynamodb”).
Source§fn signing_name(&self) -> &str
fn signing_name(&self) -> &str
The signing name used in SigV4 Authorization headers.
Usually the same as service_name, but not always.
Source§fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
operation: &'life1 str,
input: Value,
ctx: &'life2 RequestContext,
) -> Pin<Box<dyn Future<Output = Result<Value, AwsError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
operation: &'life1 str,
input: Value,
ctx: &'life2 RequestContext,
) -> Pin<Box<dyn Future<Output = Result<Value, AwsError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Handle an AWS API operation.
Source§fn routes(&self) -> Vec<RouteDefinition>
fn routes(&self) -> Vec<RouteDefinition>
Route definitions for REST-protocol services.
Not needed for RPC-style protocols (awsJson, awsQuery).
Source§fn handle_streaming<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
operation: &'life1 str,
input: Value,
ctx: &'life2 RequestContext,
) -> Pin<Box<dyn Future<Output = Result<HandlerResult, AwsError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn handle_streaming<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
operation: &'life1 str,
input: Value,
ctx: &'life2 RequestContext,
) -> Pin<Box<dyn Future<Output = Result<HandlerResult, AwsError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Streaming-aware variant. The default delegates to
handle and
wraps the JSON result so existing services don’t need to do
anything; services that genuinely stream (Bedrock data plane)
override this and return HandlerResult::Streaming.Source§fn snapshot(&self) -> Option<Vec<u8>>
fn snapshot(&self) -> Option<Vec<u8>>
Serialize the service’s state to bytes for persistence. Read more
Source§fn restore(&self, _data: &[u8]) -> Result<(), String>
fn restore(&self, _data: &[u8]) -> Result<(), String>
Restore the service’s state from a previous snapshot. Read more
Source§fn rehydrate(&self) -> Result<(), String>
fn rehydrate(&self) -> Result<(), String>
Called after every service has been restored from its
snapshot, before the gateway begins serving traffic. Read more
fn iam_action(&self, _operation: &str) -> Option<String>
fn iam_resource( &self, _operation: &str, _input: &Value, _ctx: &RequestContext, ) -> Option<String>
Source§fn tick<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn tick<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Periodic tick. The gateway spawns a single 1-second loop that
calls
tick on every registered service after the server is up.
Use this hook for time-driven behavior that doesn’t fit into the
request path: SQS visibility-timeout reclamation, DynamoDB TTL
expiry, Lambda event-source-mapping polling, S3 lifecycle
transitions, EventBridge schedule firing, SecretsManager
rotation, etc. Read moreAuto Trait Implementations§
impl Freeze for EcsService
impl !RefUnwindSafe for EcsService
impl Send for EcsService
impl Sync for EcsService
impl Unpin for EcsService
impl UnsafeUnpin for EcsService
impl !UnwindSafe for EcsService
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