terraform/vendor/github.com/CenturyLinkCloud/clc-sdk
James Bardin a0b70b0ec7 Sync the vendor folder with the manifest
A number of PRs have come through which modified the vendor folder
without recording the proper information. This resets everything back to
the recorded version.
2017-01-19 14:10:52 -05:00
..
aa
alert
api [clc] pull latest sdk 2016-05-10 10:36:52 -07:00
dc [clc] pull latest sdk 2016-05-10 10:36:52 -07:00
group [clc] pull latest sdk 2016-05-10 10:36:52 -07:00
lb
server [clc] pull latest sdk 2016-05-10 10:36:52 -07:00
status [clc] pull latest sdk 2016-05-10 10:36:52 -07:00
LICENSE
Makefile
README.md
client.go
cover.sh Sync the vendor folder with the manifest 2017-01-19 14:10:52 -05:00

README.md

CLC SDK (for go!) Build Status Coverage Status

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.