Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DiskDeployer ¶
type DiskDeployer interface {
Deploy(diskPool bmdeplmanifest.DiskPool, cloud bmcloud.Cloud, vm VM, eventLoggerStage bmeventlog.Stage) ([]bmdisk.Disk, error)
}
DiskDeployer is in the instance package to avoid a [disk -> vm -> disk] dependency cycle
func NewDiskDeployer ¶
func NewDiskDeployer(diskManagerFactory bmdisk.ManagerFactory, diskRepo bmconfig.DiskRepo, logger boshlog.Logger) DiskDeployer
type Manager ¶
type Manager interface {
FindCurrent() (VM, bool, error)
Create(bmstemcell.CloudStemcell, bmdeplmanifest.Manifest) (VM, error)
}
func NewManager ¶
func NewManager( vmRepo bmconfig.VMRepo, stemcellRepo bmconfig.StemcellRepo, diskDeployer DiskDeployer, agentClient bmac.AgentClient, cloud bmcloud.Cloud, uuidGenerator boshuuid.Generator, fs boshsys.FileSystem, logger boshlog.Logger, ) Manager
type ManagerFactory ¶
type ManagerFactory interface {
NewManager(cloud bmcloud.Cloud, agentClient bmac.AgentClient) Manager
}
func NewManagerFactory ¶
func NewManagerFactory( vmRepo bmconfig.VMRepo, stemcellRepo bmconfig.StemcellRepo, diskDeployer DiskDeployer, uuidGenerator boshuuid.Generator, fs boshsys.FileSystem, logger boshlog.Logger, ) ManagerFactory
type VM ¶
type VM interface {
CID() string
Exists() (bool, error)
WaitUntilReady(timeout time.Duration, delay time.Duration) error
Start() error
Stop() error
Apply(bmas.ApplySpec) error
UpdateDisks(bmdeplmanifest.DiskPool, bmeventlog.Stage) ([]bmdisk.Disk, error)
WaitToBeRunning(maxAttempts int, delay time.Duration) error
AttachDisk(bmdisk.Disk) error
DetachDisk(bmdisk.Disk) error
Disks() ([]bmdisk.Disk, error)
UnmountDisk(bmdisk.Disk) error
MigrateDisk() error
Delete() error
}
func NewVM ¶
func NewVM( cid string, vmRepo bmconfig.VMRepo, stemcellRepo bmconfig.StemcellRepo, diskDeployer DiskDeployer, agentClient bmagentclient.AgentClient, cloud bmcloud.Cloud, fs boshsys.FileSystem, logger boshlog.Logger, ) VM
Click to show internal directories.
Click to hide internal directories.