pub struct OpenWhiskPlugin {
api_host: String,
authorization: String,
namespace: String,
package: Option<String>,
action: String,
result: bool,
ssl_verify: bool,
timeout: Duration,
timeout_ms: u64,
client: Arc<OutboundClient>,
}Expand description
Invokes an OpenWhisk action and maps its reply into Context.response.
Fields§
§api_host: StringPre-computed Basic <base64(service_token)> header value.
namespace: String§package: Option<String>§action: String§result: bool§ssl_verify: bool§timeout: Duration§timeout_ms: u64timeout in milliseconds, passed through as the action query param.
client: Arc<OutboundClient>Implementations§
Source§impl OpenWhiskPlugin
impl OpenWhiskPlugin
Sourcepub fn from_config(
config: &HashMap<String, Value>,
resources: &Arc<PluginResources>,
) -> Result<Self, String>
pub fn from_config( config: &HashMap<String, Value>, resources: &Arc<PluginResources>, ) -> Result<Self, String>
Builds the plugin from node config.
Accepted keys:
api_host(string, required): the OpenWhisk API host (e.g.https://ow.example.com). Missing/empty is a config error.service_token(string, required):user:passaction token, sent base64-encoded as HTTP Basic auth. Missing/empty is a config error.action(string, required): the action name to invoke.namespace(string, default_): the OpenWhisk namespace.package(string, optional): the package the action belongs to.result(bool, defaulttrue): requestresult=true(inline the action result rather than the full activation record).ssl_verify(bool, defaulttrue): verify TLS certificates.timeout(integer ms, default3000): whole-call deadline, also passed as the actiontimeoutquery parameter.
type: openwhisk
config:
api_host: https://ow.example.com
service_token: ${OPENWHISK_TOKEN}
namespace: guest
action: hello
result: true
ssl_verify: true
timeout: 3000Sourcefn build_request(&self, ctx: &Context) -> OutboundRequest
fn build_request(&self, ctx: &Context) -> OutboundRequest
Builds the outbound POST request carrying the client body as the action parameters.
Trait Implementations§
Source§impl Plugin for OpenWhiskPlugin
impl Plugin for OpenWhiskPlugin
Source§fn plugin_type(&self) -> &str
fn plugin_type(&self) -> &str
Unique identifier for the plugin type (e.g., “proxy-rewrite”, “upstream”).
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: Context,
_named_inputs: &'life1 HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = Result<PluginOutput, PluginExecutionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: Context,
_named_inputs: &'life1 HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = Result<PluginOutput, PluginExecutionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Executes the plugin logic against the request/response context. Read more
Auto Trait Implementations§
impl Freeze for OpenWhiskPlugin
impl !RefUnwindSafe for OpenWhiskPlugin
impl Send for OpenWhiskPlugin
impl Sync for OpenWhiskPlugin
impl Unpin for OpenWhiskPlugin
impl UnsafeUnpin for OpenWhiskPlugin
impl !UnwindSafe for OpenWhiskPlugin
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more