provision

package
v0.0.0-...-15f147c Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2019 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const ActiveStatus = "active"

Variables

This section is empty.

Functions

This section is empty.

Types

type BasicHost

type BasicHost struct {
	Region     string
	Plan       string
	OS         string
	Name       string
	UserData   string
	Additional map[string]string
}

type CivoProvisioner

type CivoProvisioner struct {
	APIKey string
}

CivoProvisioner creates instances on civo.com

func NewCivoProvisioner

func NewCivoProvisioner(accessKey string) (*CivoProvisioner, error)

NewCivoProvisioner with an accessKey

func (*CivoProvisioner) Delete

func (p *CivoProvisioner) Delete(id string) error

func (*CivoProvisioner) Provision

func (p *CivoProvisioner) Provision(host BasicHost) (*ProvisionedHost, error)

func (*CivoProvisioner) Status

func (p *CivoProvisioner) Status(id string) (*ProvisionedHost, error)

type CreatedInstance

type CreatedInstance struct {
	ID        string    `json:"id"`
	CreatedAt time.Time `json:"created_at"`
	PublicIP  string    `json:"public_ip"`
	Status    string    `json:"status"`
}

type DigitalOceanProvisioner

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

DigitalOceanProvisioner provision a VM on digitalocean.com

func NewDigitalOceanProvisioner

func NewDigitalOceanProvisioner(accessKey string) (*DigitalOceanProvisioner, error)

NewDigitalOceanProvisioner with an accessKey

func (*DigitalOceanProvisioner) Delete

func (p *DigitalOceanProvisioner) Delete(id string) error

func (*DigitalOceanProvisioner) Provision

func (p *DigitalOceanProvisioner) Provision(host BasicHost) (*ProvisionedHost, error)

func (*DigitalOceanProvisioner) Status

type GCEProvisioner

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

GCEProvisioner holds reference to the compute service to provision compute resources

func NewGCEProvisioner

func NewGCEProvisioner(accessKey string) (*GCEProvisioner, error)

NewGCEProvisioner returns a new GCEProvisioner

func (*GCEProvisioner) Delete

func (gce *GCEProvisioner) Delete(id string) error

Delete deletes the GCE exit node

func (*GCEProvisioner) Provision

func (gce *GCEProvisioner) Provision(host BasicHost) (*ProvisionedHost, error)

Provision provisions a new GCE instance as an exit node

func (*GCEProvisioner) Status

func (gce *GCEProvisioner) Status(id string) (*ProvisionedHost, error)

Status checks the status of the provisioning GCE exit node

type PacketProvisioner

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

PacketProvisioner provision a host on Packet.com

func NewPacketProvisioner

func NewPacketProvisioner(accessKey string) (*PacketProvisioner, error)

NewPacketProvisioner with an accessKey

func (*PacketProvisioner) Delete

func (p *PacketProvisioner) Delete(id string) error

func (*PacketProvisioner) Provision

func (p *PacketProvisioner) Provision(host BasicHost) (*ProvisionedHost, error)

func (*PacketProvisioner) Status

func (p *PacketProvisioner) Status(id string) (*ProvisionedHost, error)

type ProvisionedHost

type ProvisionedHost struct {
	IP     string
	ID     string
	Status string
}

type Provisioner

type Provisioner interface {
	Provision(BasicHost) (*ProvisionedHost, error)
	Status(id string) (*ProvisionedHost, error)
	Delete(id string) error
}

type ScalewayProvisioner

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

ScalewayProvisioner provision a VM on scaleway.com

func NewScalewayProvisioner

func NewScalewayProvisioner(accessKey, secretKey, organizationID, region string) (*ScalewayProvisioner, error)

NewScalewayProvisioner with an accessKey and secretKey

func (*ScalewayProvisioner) Delete

func (s *ScalewayProvisioner) Delete(id string) error

Delete deletes the provisionned instance by ID We should first poweroff the instance, otherwise we'll have: http error 400 Bad Request: instance should be powered off. Then we have to delete the server and attached volumes

func (*ScalewayProvisioner) Provision

func (s *ScalewayProvisioner) Provision(host BasicHost) (*ProvisionedHost, error)

Provision creates a new scaleway instance from the BasicHost type To provision the instance we first create the server, then set its user-data and power it on

func (*ScalewayProvisioner) Status

func (s *ScalewayProvisioner) Status(id string) (*ProvisionedHost, error)

Status returns the status of the scaleway instance

type TokenSource

type TokenSource struct {
	AccessToken string
}

func (*TokenSource) Token

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

Jump to

Keyboard shortcuts

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