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
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
}
type CmdContext ¶
type CmdContext struct {
DirectorID string `json:"director_uuid"`
}
type CmdError ¶
type CmdError struct {
Type string `json:"type"`
Message string `json:"message"`
OkToRetry bool `json:"ok_to_retry"`
}
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
type VMMetadata ¶
type VMMetadata struct {
Director string `json:"director"`
Deployment string `json:"deployment"`
Job string `json:"job"`
Index string `json:"index"`
}
Click to show internal directories.
Click to hide internal directories.