cloud

package
v2.0.40+incompatible Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2017 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

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

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)
	SetVMMetadata(cmCID string, metadata VMMetadata) error
	SetDiskMetadata(diskCID string, metadata DiskMetadata) 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 DiskMetadata

type DiskMetadata map[string]string

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

type VMMetadata

type VMMetadata map[string]string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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