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§
Sourcefn 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,
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".