$ go get github.com/CenturyLinkCloud/clc-sdk
$ make deps
$ make test
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.
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
This project is licensed under the Apache License v2.0.