templatescompiler

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: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewJobEvaluationContext

func NewJobEvaluationContext(
	job bmrel.Job,
	manifestProperties map[string]interface{},
	deploymentName string,
	logger boshlog.Logger,
) bmerbrenderer.TemplateEvaluationContext

Types

type JobListRenderer

type JobListRenderer interface {
	Render(
		releaseJobs []bmrel.Job,
		jobProperties map[string]interface{},
		deploymentName string,
	) (RenderedJobList, error)
}

func NewJobListRenderer

func NewJobListRenderer(
	jobRenderer JobRenderer,
	logger boshlog.Logger,
) JobListRenderer

type JobRenderer

type JobRenderer interface {
	Render(job bmrel.Job, properties map[string]interface{}, deploymentName string) (RenderedJob, error)
}

func NewJobRenderer

func NewJobRenderer(
	erbRenderer bmerbrenderer.ERBRenderer,
	fs boshsys.FileSystem,
	logger boshlog.Logger,
) JobRenderer

type RenderedJob

type RenderedJob interface {
	Job() bmrel.Job
	Path() string // dir of multiple rendered files
	Delete() error
	DeleteSilently()
}

func NewRenderedJob

func NewRenderedJob(
	job bmrel.Job,
	path string,
	fs boshsys.FileSystem,
	logger boshlog.Logger,
) RenderedJob

type RenderedJobList

type RenderedJobList interface {
	Add(RenderedJob)
	All() []RenderedJob
	Delete() error
	DeleteSilently()
}

func NewRenderedJobList

func NewRenderedJobList() RenderedJobList

type RenderedJobListArchive

type RenderedJobListArchive interface {
	List() RenderedJobList
	Path() string
	Fingerprint() string
	SHA1() string
	Delete() error
	DeleteSilently()
}

func NewRenderedJobListArchive

func NewRenderedJobListArchive(
	list RenderedJobList,
	path string,
	fingerprint string,
	sha1 string,
	fs boshsys.FileSystem,
	logger boshlog.Logger,
) RenderedJobListArchive

type RenderedJobListCompressor

type RenderedJobListCompressor interface {
	Compress(RenderedJobList) (RenderedJobListArchive, error)
}

func NewRenderedJobListCompressor

func NewRenderedJobListCompressor(
	fs boshsys.FileSystem,
	compressor boshcmd.Compressor,
	sha1Calculator bmcrypto.SHA1Calculator,
	logger boshlog.Logger,
) RenderedJobListCompressor

type RootContext

type RootContext struct {
	Index      int        `json:"index"`
	JobContext jobContext `json:"job"`
	Deployment string     `json:"deployment"`

	// Usually is accessed with <%= spec.networks.default.ip %>
	NetworkContexts map[string]networkContext `json:"networks"`

	Properties map[string]interface{} `json:"properties"`
}

RootContext is exposed as an open struct in ERB templates. It must stay same to provide backwards compatible API.

type TemplateRecord

type TemplateRecord struct {
	BlobID   string
	BlobSHA1 string
}

type TemplatesCompiler

type TemplatesCompiler interface {
	Compile(jobs []bmrel.Job, deploymentName string, deploymentProperties map[string]interface{}) error
}

func NewTemplatesCompiler

func NewTemplatesCompiler(
	jobRenderer JobRenderer,
	compressor boshcmd.Compressor,
	blobstore boshblob.Blobstore,
	templatesRepo TemplatesRepo,
	fs boshsys.FileSystem,
	logger boshlog.Logger,
) TemplatesCompiler

type TemplatesRepo

type TemplatesRepo interface {
	Save(bmrel.Job, TemplateRecord) error
	Find(bmrel.Job) (TemplateRecord, bool, error)
}

func NewTemplatesRepo

func NewTemplatesRepo(index bmindex.Index) TemplatesRepo

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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