stemcell

package
v0.0.0-...-e2c346a Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2015 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplySpec

type ApplySpec struct {
	Job      Job
	Packages map[string]Blob
	Networks map[string]interface{}
}

type Blob

type Blob struct {
	Name        string
	Version     string
	SHA1        string
	BlobstoreID string `json:"blobstore_id"`
}

type CloudStemcell

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

func NewCloudStemcell

func NewCloudStemcell(
	stemcellRecord bmconfig.StemcellRecord,
	repo bmconfig.StemcellRepo,
	cloud bmcloud.Cloud,
) CloudStemcell

type ExtractedStemcell

type ExtractedStemcell interface {
	Manifest() Manifest
	ApplySpec() ApplySpec
	Delete() error
	fmt.Stringer
}

func NewExtractedStemcell

func NewExtractedStemcell(
	manifest Manifest,
	applySpec ApplySpec,
	extractedPath string,
	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 Job

type Job struct {
	Name      string
	Templates []Blob
}

type Manager

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

func NewManager

func NewManager(repo bmconfig.StemcellRepo, cloud bmcloud.Cloud) Manager

type ManagerFactory

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

func NewManagerFactory

func NewManagerFactory(repo bmconfig.StemcellRepo) ManagerFactory

type Manifest

type Manifest struct {
	ImagePath          string
	Name               string
	Version            string
	SHA1               string
	RawCloudProperties map[interface{}]interface{} `yaml:"cloud_properties"`
}

func (Manifest) CloudProperties

func (m Manifest) CloudProperties() (map[string]interface{}, error)

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

Jump to

Keyboard shortcuts

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