commit | 9967197c380473452597d8f49c3ddb607933e6ae | [log] [tgz] |
---|---|---|
author | Vincent <shou@us.ibm.com> | Thu Aug 24 22:33:24 2017 -0400 |
committer | Matt Rutkowski <mrutkows@us.ibm.com> | Thu Aug 24 21:33:24 2017 -0500 |
tree | fccec240e22193dfd0082bef065bf1ee641699c5 | |
parent | b239221db78b0578518daa81d97ab66cad6d08db [diff] |
Load the credentials for the client go library (#29) There are two ways to configure the credentials for client go, which are local wskprops, and whisk.properties from openwhisk in a precedence descending order. For local wskprops: we can specify the path of the local properties file or it will by default look up the file under system HOME dir. The valid file name is .wskprops. For openwhisk properties file, we will look up the OPENWHISK_HOME directory to load whisk.properties in order to get the credentials to access openwhisk service. Closes-Bug: #22
This project openwhisk-client-go
is a Go client library to access Openwhisk API.
This project is currently on an experimental stage. We periodically synchronize the source code of this repository with the Go whisk folder in OpenWhisk. The framework of test cases is under construction for this repository. Please contribute to the Go whisk folder in OpenWhisk for any Go whisk changes, before we officially announce the separation of OpenWhisk CLI from OpenWhisk.
import "github.com/apache/incubator-openwhisk-client-go/whisk"
Construct a new whisk client, then use various services to access different parts of the whisk api. For example to get the hello
action:
client, _ := whisk.NewClient(http.DefaultClient, nil)
action, resp, err := client.Actions.List("hello")
Some API methods have optional parameters that can be passed. For example, to list the first 30 actions, after the 30th action:
client, _ := whisk.NewClient(http.DefaultClient, nil)
options := &whisk.ActionListOptions{
Limit: 30,
Skip: 30,
}
actions, resp, err := client.Actions.List(options)
Whisk can be configured by passing in a *whisk.Config
object as the second argument to whisk.New( ... )
. For example:
u, _ := url.Parse("https://whisk.stage1.ng.bluemix.net:443/api/v1/")
config := &whisk.Config{
Namespace: "_",
AuthKey: "aaaaa-bbbbb-ccccc-ddddd-eeeee",
BaseURL: u
}
client, err := whisk.Newclient(http.DefaultClient, config)
import (
"net/http"
"net/url"
"github.com/apache/incubator-openwhisk-client-go/whisk"
)
func main() {
client, err := whisk.NewClient(http.DefaultClient, nil)
if err != nil {
fmt.Println(err)
os.Exit(-1)
}
options := &whisk.ActionListOptions{
Limit: 30,
Skip: 30,
}
actions, resp, err := client.Actions.List(options)
if err != nil {
fmt.Println(err)
os.Exit(-1)
}
fmt.Println("Returned with status: ", resp.Status)
fmt.Println("Returned actions: \n%+v", actions)
}