bosh

package
v0.0.0-...-5cf5000 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2017 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BoshStateProcessing = "processing"
	BoshStateQueued     = "queued"
	BoshStateDone       = "done"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BlockchainUser

type BlockchainUser struct {
	Name            string `yaml:"name"`
	Secret          string `yaml:"secret"`
	Affiliation     string `yaml:"affiliation,omitempty"`
	AffiliationRole string `yaml:"affiliation_role,omitempty"`
	MetaData        string `yaml:"metadata,omitempty"`
}

type Client

type Client interface {
	CreateDeployment(manifest Manifest) (*Task, error)
	DeleteDeployment(deploymentName string) (*Task, error)
	GetTask(taskId string) (*Task, error)
	GetVmIps(deploymentName string) (map[string][]string, error)
}

func NewBoshHttpClient

func NewBoshHttpClient(boshDetails *Details) Client

type CoreSettings

type CoreSettings struct {
	DataPath string `yaml:"data_path"`
}

type Details

type Details struct {
	StemcellName    string
	DirectorUUID    string
	NetworkNames    []string
	Vmtype          string
	BoshDirectorUrl string

	PeerDataDir   string
	DockerDataDir string
}

func NewDetails

func NewDetails(stemcellName, uuid, vmType, networkNames, boshDirectorUrl, peerDataDir, dockerDataDir string) *Details

func (*Details) Validate

func (b *Details) Validate() error

type DockerProperties

type DockerProperties struct {
	Store StoreSettings `yaml:"store"`
}

type Job

type Job struct {
	Instances      uint                `yaml:"instances"`
	AZs            []string            `yaml:"azs"`
	Name           string              `yaml:"name"`
	Networks       []map[string]string `yaml:"networks"`
	PersistentDisk uint                `yaml:"persistent_disk"`
	VmType         string              `yaml:"vm_type"`
	Stemcell       string              `yaml:"stemcell"`
	Templates      []map[string]string `yaml:"templates"`
}

type Jobs

type Jobs []Job

type Manifest

type Manifest struct {
	Name         string     `yaml:"name"`
	DirectorUuid string     `yaml:"director_uuid"`
	Stemcells    Stemcells  `yaml:"stemcells"`
	Releases     Releases   `yaml:"releases"`
	Update       Update     `yaml:"update"`
	Jobs         Jobs       `yaml:"jobs"`
	Properties   Properties `yaml:"properties"`
}

func NewManifest

func NewManifest(deploymentName, networkName string, permissioned bool, details *Details) (*Manifest, error)

func (*Manifest) String

func (m *Manifest) String() string

type MemberServiceProperties

type MemberServiceProperties struct {
	Affiliations  map[string]interface{} `yaml:"affiliations"`
	Clients       []BlockchainUser       `yaml:"clients"`
	Validators    []BlockchainUser       `yaml:"validators"`
	NonValidators []BlockchainUser       `yaml:"non_validators"`
	Auditors      []BlockchainUser       `yaml:"auditors"`
}

type PeerProperties

type PeerProperties struct {
	Network   map[string]string `yaml:"network"`
	Consensus map[string]string `yaml:"consensus"`
	Security  SecuritySettings  `yaml:"security,omitempty"`
	Core      CoreSettings      `yaml:"core,omitempty"`
}

type Properties

type Properties struct {
	Peer          PeerProperties          `yaml:"peer"`
	Docker        DockerProperties        `yaml:"docker,omitempty"`
	MemberService MemberServiceProperties `yaml:"membersrvc,omitempty"`
}

type Release

type Release struct {
	Name    string `yaml:"name"`
	Version string `yaml:"version"`
}

type Releases

type Releases []Release

type SecuritySettings

type SecuritySettings struct {
	Enabled bool `yaml:"enabled"`
}

type Stemcell

type Stemcell struct {
	Alias   string `yaml:"alias"`
	Name    string `yaml:"name"`
	Version string `yaml:"version"`
}

type Stemcells

type Stemcells []Stemcell

type StoreSettings

type StoreSettings struct {
	Dir string `yaml:"dir"`
}

type Task

type Task struct {
	Id          int    `json:"id"`
	State       string `json:"state"`
	Description string `json:"description"`
	Result      string `json:"result"`
	User        string `json:"user"`
}

type Update

type Update struct {
	Canaries        uint   `yaml:"canaries"`
	CanaryWatchTime string `yaml:"canary_watch_time"`
	MaxInFlight     uint   `yaml:"max_in_flight"`
	Serial          bool   `yaml:"serial"`
	UpdateWatchTime string `yaml:"update_watch_time"`
}

Jump to

Keyboard shortcuts

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