cloud

package
v0.0.25 Latest Latest
Warning

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

Go to latest
Published: May 8, 2015 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	VMNotFoundError       = "Bosh::Clouds::VMNotFound"
	DiskNotFoundError     = "Bosh::Clouds::DiskNotFound"
	StemcellNotFoundError = "Bosh::Clouds::StemcellNotFound"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CPI

type CPI struct {
	JobPath     string
	JobsDir     string
	PackagesDir string
}

func (CPI) ExecutablePath

func (j CPI) ExecutablePath() string

type CPICmdRunner

type CPICmdRunner interface {
	Run(context CmdContext, method string, args ...interface{}) (CmdOutput, error)
}

func NewCPICmdRunner

func NewCPICmdRunner(
	cmdRunner boshsys.CmdRunner,
	cpi CPI,
	logger boshlog.Logger,
) CPICmdRunner

type Cloud

type Cloud interface {
	CreateStemcell(imagePath string, cloudProperties biproperty.Map) (stemcellCID string, err error)
	DeleteStemcell(stemcellCID string) error
	HasVM(vmCID string) (bool, error)
	CreateVM(
		agentID string,
		stemcellCID string,
		cloudProperties biproperty.Map,
		networksInterfaces map[string]biproperty.Map,
		env biproperty.Map,
	) (vmCID string, err error)
	DeleteVM(vmCID string) error
	CreateDisk(size int, cloudProperties biproperty.Map, vmCID string) (diskCID string, err error)
	AttachDisk(vmCID, diskCID string) error
	DetachDisk(vmCID, diskCID string) error
	DeleteDisk(diskCID string) error
	fmt.Stringer
}

func NewCloud

func NewCloud(
	cpiCmdRunner CPICmdRunner,
	directorID string,
	logger boshlog.Logger,
) Cloud

type CmdContext

type CmdContext struct {
	DirectorID string `json:"director_uuid"`
}

func (CmdContext) String

func (c CmdContext) String() string

type CmdError

type CmdError struct {
	Type      string `json:"type"`
	Message   string `json:"message"`
	OkToRetry bool   `json:"ok_to_retry"`
}

func (CmdError) String

func (e CmdError) String() string

type CmdInput

type CmdInput struct {
	Method    string        `json:"method"`
	Arguments []interface{} `json:"arguments"`
	Context   CmdContext    `json:"context"`
}

type CmdOutput

type CmdOutput struct {
	Result interface{} `json:"result"`
	Error  *CmdError   `json:"error,omitempty"`
	Log    string      `json:"log"`
}

type Error

type Error interface {
	error
	Method() string
	Type() string
	Message() string
	OkToRetry() bool
}

func NewCPIError

func NewCPIError(method string, cmdError CmdError) Error

type Factory

type Factory interface {
	NewCloud(installation biinstall.Installation, directorID string) (Cloud, error)
}

func NewFactory

func NewFactory(
	fs boshsys.FileSystem,
	cmdRunner boshsys.CmdRunner,
	logger boshlog.Logger,
) Factory

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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