stemcell

package
v6.2.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2020 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"`
	ApiVersion      int            `yaml:"api_version,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
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
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