machine

package
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 4, 2019 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DigitalOcean

type DigitalOcean struct {
	// contains filtered or unexported fields
}

DigitalOcean client.

func NewDigitalOceanClient

func NewDigitalOceanClient(token string) (*DigitalOcean, error)

NewDigitalOceanClient creates a Digital Ocean client.

func (*DigitalOcean) CreateDroplets

func (do *DigitalOcean) CreateDroplets(ctx context.Context, region, size string, count int) ([]MachineCreated, error)

CreateDroplets creates a new DigitalOcean droplet.

func (*DigitalOcean) DeleteDropletByID

func (do *DigitalOcean) DeleteDropletByID(ctx context.Context, ID int) (*MachineDeleted, error)

DeleteDropletByID deletes a DigitalOcean droplet by ID.

func (*DigitalOcean) DeleteDropletByTag

func (do *DigitalOcean) DeleteDropletByTag(ctx context.Context, tag string) error

DeleteDropletByTag deletes a DigitalOcean droplet by Tag.

func (*DigitalOcean) ListDropletByTag

func (do *DigitalOcean) ListDropletByTag(ctx context.Context, tag string) ([]Machine, error)

ListDropletByTag lists the droplets for a digitalocean account.

func (*DigitalOcean) ListRegions

func (do *DigitalOcean) ListRegions(ctx context.Context) ([]Region, error)

ListRegions gets a list of DigitalOcean regions.

func (*DigitalOcean) ListSizes

func (do *DigitalOcean) ListSizes(ctx context.Context) ([]Size, error)

ListSizes gets a list of DigitalOcean sizes.

type Machine

type Machine struct {
	ID       int      `json:"id"`
	Name     string   `json:"name"`
	Status   string   `json:"status"`
	SizeSlug string   `json:"size_slug"`
	Created  string   `json:"created_at"`
	Region   string   `json:"region"`
	Tags     []string `json:"tags"`

	Provider string `json:"provider"`
}

Machine defines a machine struct from a provider.

type MachineCreated

type MachineCreated struct {
	ID       int    `json:"id"`
	Provider string `json:"provider"`
}

MachineCreated defines the response for creating a machine.

type MachineDeleted

type MachineDeleted struct {
	ID       int    `json:"id"`
	Provider string `json:"provider"`
}

MachineDeleted defines the response for deleted a machine.

type Region

type Region struct {
	Name      string   `json:"name"`
	Slug      string   `json:"slug"`
	Sizes     []string `json:"sizes"`
	Available bool     `json:"available"`
}

type Size

type Size struct {
	Slug         string  `json:"slug"`
	Available    bool    `json:"available"`
	PriceMonthly float64 `json:"price_monthly"`
	PriceHourly  float64 `json:"price_hourly"`
}

type TokenSource

type TokenSource struct {
	AccessToken string
}

TokenSource defines an access token for oauth2.TokenSource.

func (*TokenSource) Token

func (t *TokenSource) Token() (*oauth2.Token, error)

Token creates a token for TokenSource.

type UserData

type UserData struct {
	AWSAccessKey string
	AWSSecretKey string
	SlackWebhook string

	CloudinitRedisHost        string
	CloudinitRedisPort        int
	CloudinitDatabaseHost     string
	CloudinitDatabasePort     int
	CloudinitDatabaseUser     string
	CloudinitDatabasePassword string
	CloudinitDatabaseName     string
	CloudinitWorkerImage      string
}

UserData defines the userdata used for cloud-init.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL