Git Product home page Git Product logo

clc-sdk's Introduction

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.

clc-sdk's People

Contributors

mikebeyer avatar ack avatar todd-hepler-ctl avatar phinze avatar richardcase avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.