5 releases

0.1.5 Jan 5, 2023
0.1.4 Jan 2, 2023
0.1.3 Jul 4, 2022
0.1.1 Jun 9, 2022

#55 in #action

21 downloads per month
Used in openwhisk_macro

Apache-2.0

68KB
1K SLoC

Openwhisk Client Rust

Description

This project Openwhisk-client-Rust is a Rust client library to access the Openwhisk API. This Project comes with Native and Wasm Support.

Setup

Prerequisites

This Project requies latest verion of rust to be installed and configured.

Configuration

The parameters of API_HOST, NAMESPACE and AUTH_TOKEN will be used to access the OpenWhisk services.

Configure your Openwhisk client by setting the whisk properties.

let wsk_properties = WskProperties::new(
			"<Openwhisk_Auth_Token>",
			"<Openwhisk_API_Host>",
			 <insecure(Bool: for secure or insecure connection )>,
			 "<Namespace>"
 );

Usage

Examples

  • Invoke a deployed Action
 let wsk_properties = WskProperties::new(
			"<Openwhisk_Auth_Token>",
			"<Openwhisk_API_Hosy>",
			 <Bool(true/false)>,
			 "<Namespace>"
	  );
 let client = OpenwhiskClient::<NativeClient>::new(Some(&wsk_properties));

 client.actions().invoke("your action name",serde_json::json!({"key":"value"}),true,true).unwrap();

  • Get list of available triggers
 let wsk_properties = WskProperties::new(
			"<Openwhisk_Auth_Token>",
			"<Openwhisk_API_Hosy>",
			 <Bool(true/false)>,
			 "<Namespace>"
	  );
 let client = OpenwhiskClient::<NativeClient>::new(Some(&wsk_properties));

 let triggers = client.triggers().list().unwrap();
  • Get the properties of the rule
 let wsk_properties = WskProperties::new(
			"<Openwhisk_Auth_Token>",
			"<Openwhisk_API_Hosy>",
			 <Bool(true/false)>,
			 "<Namespace>"
	  );
 let client = OpenwhiskClient::<NativeClient>::new(Some(&wsk_properties));
 let properties = client.rules().list().unwrap();

Contributions

Contributions welcome particularly for enhancement of this library and also adding new functionality which helps in seamless interaction with Openwhisk Apis in rust applications.

Follow these steps for contributing

  • Fork the repository
  • Clone your fork
  • Create a new branch
  • Make changes in local repo
  • commit and push your changes to forked repo
  • Begin and create a pull request
  • Once pull request is review and accepted code changes will be merged to main branch
  • You will get a notification email once the changes have been merged

References

Special thanks to Openwhisk-go-client for inspiring us to develop Openwhisk Client in rust

License

Licensed under Apache-2.0

Dependencies

~4–18MB
~265K SLoC