You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
terraform/vendor/github.com/CenturyLinkCloud/clc-sdk
Albert Choi c93bc5ccb5
[clc] pull latest sdk
10 years ago
..
aa provider/clc: vendor deps, update to match latest SDK API 10 years ago
alert provider/clc: vendor deps, update to match latest SDK API 10 years ago
api [clc] pull latest sdk 10 years ago
dc [clc] pull latest sdk 10 years ago
group [clc] pull latest sdk 10 years ago
lb provider/clc: vendor deps, update to match latest SDK API 10 years ago
server [clc] pull latest sdk 10 years ago
status [clc] pull latest sdk 10 years ago
.coveralls.yml provider/clc: vendor deps, update to match latest SDK API 10 years ago
.gitignore provider/clc: vendor deps, update to match latest SDK API 10 years ago
.travis.yml provider/clc: vendor deps, update to match latest SDK API 10 years ago
LICENSE provider/clc: vendor deps, update to match latest SDK API 10 years ago
Makefile provider/clc: vendor deps, update to match latest SDK API 10 years ago
README.md provider/clc: vendor deps, update to match latest SDK API 10 years ago
client.go provider/clc: vendor deps, update to match latest SDK API 10 years ago
cover.sh provider/clc: vendor deps, update to match latest SDK API 10 years ago

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.