4c4be8124a | ||
---|---|---|
.. | ||
aa | ||
alert | ||
api | ||
dc | ||
group | ||
lb | ||
server | ||
status | ||
.coveralls.yml | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
Makefile | ||
README.md | ||
client.go | ||
cover.sh |
README.md
CLC SDK (for go!)
Installation
$ go get github.com/CenturyLinkCloud/clc-sdk
$ make deps
$ make test
Configuration
The SDK supports the following helpers for creating your configuration
Reading from the environment
config, _ := api.EnvConfig()
Reading from a file
config, _ := api.FileConfig("./config.json")
Direct configuration
config, _ := api.NewConfig(un, pwd)
// defaults:
config.Alias = "" // resolved on Authentication
config.UserAgent = "CenturyLinkCloud/clc-sdk"
config.BaseURI = "https://api.ctl.io/v2"
Enable http wire tracing with env var DEBUG=on
.
Additionally, callers of the SDK should set config.UserAgent
to identify to platform appropriately.
Examples
To create a new server
client := clc.New(api.EnvConfig())
server := server.Server{
Name: "server",
CPU: 1,
MemoryGB: 1,
GroupID: "GROUP-ID",
SourceServerID: "UBUNTU-14-64-TEMPLATE",
Type: "standard",
}
resp, _ := client.Server.Create(server)
Check status of a server build
resp, _ := client.Server.Create(server)
status, _ := client.Status.Get(resp.GetStatusID())
Async polling for complection
resp, _ := client.Server.Create(server)
poll := make(chan *status.Response, 1)
service.Status.Poll(resp.GetStatusID(), poll)
status := <- poll
License
This project is licensed under the Apache License v2.0.