Skip to main content

SdkExecutor

Trait SdkExecutor 

Source
pub trait SdkExecutor: Send + Sync {
    // Required method
    fn execute_operation<'life0, 'life1, 'async_trait>(
        &'life0 self,
        operation: &'life1 str,
        args: Option<JsonValue>,
    ) -> Pin<Box<dyn Future<Output = Result<JsonValue, ExecutionError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

Executor for SDK-backed API calls.

Analogous to HttpExecutor for HTTP calls, this trait abstracts named SDK operation invocation. Implementations route api.<operation>(args) to actual SDK calls (e.g., AWS Cost Explorer).

Required Methods§

Source

fn execute_operation<'life0, 'life1, 'async_trait>( &'life0 self, operation: &'life1 str, args: Option<JsonValue>, ) -> Pin<Box<dyn Future<Output = Result<JsonValue, ExecutionError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Execute a named SDK operation.

operation is the camelCase method name (e.g., “getCostAndUsage”). args is the optional JSON object argument from the script.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§