Documentation
¶
Index ¶
Constants ¶
View Source
const (
NetworkSpecTypeDynamic = "dynamic"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type JobSpec ¶
type JobSpec struct {
Name *string `json:"name"`
Release string `json:"release"`
Template string `json:"template"`
Version string `json:"version"`
JobTemplateSpecs []JobTemplateSpec `json:"templates"`
}
func (*JobSpec) JobTemplateSpecsAsJobs ¶
type JobTemplateSpec ¶
func (*JobTemplateSpec) AsJob ¶
func (s *JobTemplateSpec) AsJob() models.Job
type LoggingSpec ¶
type LoggingSpec struct {
MaxLogFileSize string `json:"max_log_file_size"`
}
type NetworkSpec ¶
type NetworkSpec struct {
// Instead of explicitly specifying all network fields,
// keep original hash that Director sent because
// Director will later fetch current apply spec via get_state
// and use absolute equality to determine network changes.
//
// Ideally we would explicitly call out fields (like in 40276d6 commit)
// and Director would check for equivalence instead of absolute hash equality.
Fields map[string]interface{}
}
func (NetworkSpec) MarshalJSON ¶
func (s NetworkSpec) MarshalJSON() ([]byte, error)
func (NetworkSpec) PopulateIPInfo ¶
func (s NetworkSpec) PopulateIPInfo(ip, netmask, gateway string) NetworkSpec
func (*NetworkSpec) UnmarshalJSON ¶
func (s *NetworkSpec) UnmarshalJSON(data []byte) error
type PackageSpec ¶
type PackageSpec struct {
Name string `json:"name"`
Version string `json:"version"`
Sha1 crypto.MultipleDigest `json:"sha1"`
BlobstoreID string `json:"blobstore_id"`
}
func (*PackageSpec) AsPackage ¶
func (s *PackageSpec) AsPackage() models.Package
type PropertiesSpec ¶
type PropertiesSpec struct {
LoggingSpec LoggingSpec `json:"logging"`
}
type RenderedTemplatesArchiveSpec ¶
type RenderedTemplatesArchiveSpec struct {
Sha1 *crypto.MultipleDigest `json:"sha1"`
BlobstoreID string `json:"blobstore_id"`
}
func (RenderedTemplatesArchiveSpec) AsSource ¶
func (s RenderedTemplatesArchiveSpec) AsSource(job models.Job) models.Source
func (*RenderedTemplatesArchiveSpec) UnmarshalJSON ¶
func (s *RenderedTemplatesArchiveSpec) UnmarshalJSON(data []byte) error
type V1ApplySpec ¶
type V1ApplySpec struct {
PropertiesSpec PropertiesSpec `json:"properties"`
JobSpec JobSpec `json:"job"`
PackageSpecs map[string]PackageSpec `json:"packages"`
ConfigurationHash string `json:"configuration_hash"`
NetworkSpecs map[string]NetworkSpec `json:"networks"`
ResourcePoolSpecs interface{} `json:"resource_pool"`
Deployment string `json:"deployment"`
Name string `json:"name"`
// Since default value of int is 0 use pointer
// to indicate that state does not have an assigned index
// (json.Marshal will result in null instead of 0).
Index *int `json:"index"`
NodeID string `json:"id"`
AvailabilityZone string `json:"az"`
PersistentDisk int `json:"persistent_disk"`
RenderedTemplatesArchiveSpec *RenderedTemplatesArchiveSpec `json:"rendered_templates_archive"`
}
func (V1ApplySpec) Jobs ¶
func (s V1ApplySpec) Jobs() []models.Job
Jobs returns a list of pre-rendered job templates extracted from a single tarball provided by BOSH director.
func (V1ApplySpec) MaxLogFileSize ¶
func (s V1ApplySpec) MaxLogFileSize() string
func (V1ApplySpec) Packages ¶
func (s V1ApplySpec) Packages() []models.Package
type V1Service ¶
type V1Service interface {
Get() (V1ApplySpec, error)
Set(V1ApplySpec) error
PopulateDHCPNetworks(V1ApplySpec, boshsettings.Settings) (V1ApplySpec, error)
}
func NewConcreteV1Service ¶
func NewConcreteV1Service(fs boshsys.FileSystem, specFilePath string) V1Service
Source Files
¶
Click to show internal directories.
Click to hide internal directories.