stemcell

package
v4.0.1+incompatible Latest Latest
Warning

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

Go to latest
Published: May 22, 2018 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CloudStemcell

type CloudStemcell interface {
	CID() string
	Name() string
	Version() string
	PromoteAsCurrent() error
	Delete() error
}

func NewCloudStemcell

func NewCloudStemcell(
	stemcellRecord biconfig.StemcellRecord,
	repo biconfig.StemcellRepo,
	cloud bicloud.Cloud,
) CloudStemcell

type ExtractedStemcell

type ExtractedStemcell interface {
	Manifest() Manifest
	Cleanup() error
	OsAndVersion() string
	SetName(string)
	SetVersion(string)
	SetFormat([]string)
	SetCloudProperties(biproperty.Map)
	GetExtractedPath() string
	Pack(string) error
	EmptyImage() error
	fmt.Stringer
}

func NewExtractedStemcell

func NewExtractedStemcell(
	manifest Manifest,
	extractedPath string,
	compressor boshfu.Compressor,
	fs boshsys.FileSystem,
) ExtractedStemcell

type Extractor

type Extractor interface {
	Extract(tarballPath string) (ExtractedStemcell, error)
}

func NewExtractor

func NewExtractor(reader Reader, fs boshsys.FileSystem) Extractor

type Fetcher

type Fetcher struct {
	TarballProvider   bitarball.Provider
	StemcellExtractor Extractor
}

func (Fetcher) GetStemcell

func (s Fetcher) GetStemcell(deploymentManifest bideplmanifest.Manifest, stage biui.Stage) (ExtractedStemcell, error)

type Manager

type Manager interface {
	FindCurrent() ([]CloudStemcell, error)
	Upload(ExtractedStemcell, biui.Stage) (CloudStemcell, error)
	FindUnused() ([]CloudStemcell, error)
	DeleteUnused(biui.Stage) error
}

func NewManager

func NewManager(repo biconfig.StemcellRepo, cloud bicloud.Cloud) Manager

type ManagerFactory

type ManagerFactory interface {
	NewManager(bicloud.Cloud) Manager
}

func NewManagerFactory

func NewManagerFactory(repo biconfig.StemcellRepo) ManagerFactory

type Manifest

type Manifest struct {
	Name            string         `yaml:"name"`
	Version         string         `yaml:"version"`
	OS              string         `yaml:"operating_system"`
	SHA1            string         `yaml:"sha1"`
	BoshProtocol    string         `yaml:"bosh_protocol"`
	StemcellFormats []string       `yaml:"stemcell_formats,omitempty"`
	CloudProperties biproperty.Map `yaml:"cloud_properties"`
}

type Reader

type Reader interface {
	Read(stemcellTarballPath string, extractedPath string) (ExtractedStemcell, error)
}

Reader reads a stemcell tarball and returns a stemcell object containing parsed information (e.g. version, name)

func NewReader

func NewReader(compressor boshcmd.Compressor, fs boshsys.FileSystem) Reader

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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