director

package
v2.0.43 Latest Latest
Warning

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

Go to latest
Published: Oct 11, 2017 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdjustableClient

type AdjustableClient struct {
	// contains filtered or unexported fields
}

func NewAdjustableClient

func NewAdjustableClient(client AdjustedClient, adjustment Adjustment) AdjustableClient

func (AdjustableClient) Do

type AdjustedClient

type AdjustedClient interface {
	Do(*http.Request) (*http.Response, error)
}

type Adjustment

type Adjustment interface {
	Adjust(req *http.Request, retried bool) error
	NeedsReadjustment(*http.Response) bool
}

type AllOrInstanceGroupOrInstanceSlug

type AllOrInstanceGroupOrInstanceSlug struct {
	// contains filtered or unexported fields
}

func NewAllOrInstanceGroupOrInstanceSlug

func NewAllOrInstanceGroupOrInstanceSlug(name, indexOrID string) AllOrInstanceGroupOrInstanceSlug

func NewAllOrInstanceGroupOrInstanceSlugFromString

func NewAllOrInstanceGroupOrInstanceSlugFromString(str string) (AllOrInstanceGroupOrInstanceSlug, error)

func (AllOrInstanceGroupOrInstanceSlug) IndexOrID

func (AllOrInstanceGroupOrInstanceSlug) InstanceSlug

func (AllOrInstanceGroupOrInstanceSlug) Name

func (AllOrInstanceGroupOrInstanceSlug) String

func (*AllOrInstanceGroupOrInstanceSlug) UnmarshalFlag

func (s *AllOrInstanceGroupOrInstanceSlug) UnmarshalFlag(data string) error

type AuthRequestAdjustment

type AuthRequestAdjustment struct {
	// contains filtered or unexported fields
}

func NewAuthRequestAdjustment

func NewAuthRequestAdjustment(
	authFunc func(bool) (string, error),
	username string,
	password string,
) AuthRequestAdjustment

func (AuthRequestAdjustment) Adjust

func (a AuthRequestAdjustment) Adjust(req *http.Request, retried bool) error

func (AuthRequestAdjustment) NeedsReadjustment

func (a AuthRequestAdjustment) NeedsReadjustment(resp *http.Response) bool

type CPIConfig

type CPIConfig struct {
	Properties string
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(
	endpoint string,
	httpClient *httpclient.HTTPClient,
	taskReporter TaskReporter,
	fileReporter FileReporter,
	logger boshlog.Logger,
) Client

func (Client) CPIConfigs

func (c Client) CPIConfigs() ([]CPIConfig, error)

func (Client) CancelTask

func (c Client) CancelTask(id int) error

func (Client) ChangeJobState

func (c Client) ChangeJobState(state, deploymentName, job, indexOrID string, skipDrain bool, force bool, fix bool, dryRun bool, canaries string, maxInFlight string) error

func (Client) CleanUp

func (c Client) CleanUp(all bool) error

func (Client) CleanUpSSH

func (c Client) CleanUpSSH(deploymentName, jobName, indexOrID string, opts SSHOpts) error

func (Client) CloudConfigs

func (c Client) CloudConfigs() ([]CloudConfig, error)

func (Client) CurrentTasks

func (c Client) CurrentTasks(filter TasksFilter) ([]TaskResp, error)

func (Client) DeleteDeployment

func (c Client) DeleteDeployment(deploymentName string, force bool) error

func (Client) DeleteOrphanDisk added in v2.0.17

func (c Client) DeleteOrphanDisk(cid string) error

func (Client) DeleteReleaseOrSeries

func (c Client) DeleteReleaseOrSeries(name, version string, force bool) error

func (Client) DeleteSnapshot

func (c Client) DeleteSnapshot(deploymentName, cid string) error

func (Client) DeleteSnapshots

func (c Client) DeleteSnapshots(deploymentName string) error

func (Client) DeleteStemcell

func (c Client) DeleteStemcell(name, version string, force bool) error

func (Client) DeleteVM

func (c Client) DeleteVM(cid string) error

func (Client) Deployment

func (c Client) Deployment(name string) (DeploymentResp, error)

func (Client) DeploymentInstanceInfos

func (c Client) DeploymentInstanceInfos(deploymentName string) ([]VMInfo, error)

func (Client) DeploymentInstances

func (c Client) DeploymentInstances(deploymentName string) ([]Instance, error)

func (Client) DeploymentVMInfos

func (c Client) DeploymentVMInfos(deploymentName string) ([]VMInfo, error)

func (Client) DeploymentVMs

func (c Client) DeploymentVMs(deploymentName string) ([]DeploymentVMResp, error)

func (Client) Deployments

func (c Client) Deployments() ([]DeploymentResp, error)

func (Client) Diff

func (c Client) Diff(manifest []byte, deploymentName string, doNotRedact bool) (DeploymentDiffResponse, error)

func (Client) DiffCPIConfig added in v2.0.30

func (c Client) DiffCPIConfig(manifest []byte, noRedact bool) (ConfigDiffResponse, error)

func (Client) DiffCloudConfig added in v2.0.17

func (c Client) DiffCloudConfig(manifest []byte) (ConfigDiffResponse, error)

func (Client) DiffRuntimeConfig added in v2.0.30

func (c Client) DiffRuntimeConfig(name string, manifest []byte, noRedact bool) (ConfigDiffResponse, error)

func (Client) DownloadResourceUnchecked

func (c Client) DownloadResourceUnchecked(blobstoreID string, out io.Writer) error

func (Client) EnableResurrection

func (c Client) EnableResurrection(deploymentName, job, indexOrID string, enabled bool) error

func (Client) EnableResurrectionAll

func (c Client) EnableResurrectionAll(enabled bool) error

func (Client) Errands

func (c Client) Errands(deploymentName string) ([]Errand, error)

func (Client) Event added in v2.0.7

func (c Client) Event(id string) (EventResp, error)

func (Client) Events

func (c Client) Events(opts EventsFilter) ([]EventResp, error)

func (Client) ExportRelease

func (c Client) ExportRelease(deploymentName string, release ReleaseSlug, os OSVersionSlug, jobs []string) (ExportReleaseResp, error)

func (Client) FetchLogs

func (c Client) FetchLogs(deploymentName, job, indexOrID string, filters []string, agent bool) (string, string, error)

func (Client) FindTasksByContextId

func (c Client) FindTasksByContextId(contextId string) ([]TaskResp, error)

func (Client) HasRelease

func (c Client) HasRelease(name, version string) (bool, error)

func (Client) HasStemcell

func (c Client) HasStemcell(name, version string) (bool, error)

func (Client) Ignore

func (c Client) Ignore(deploymentName, instanceGroup, indexOrID string, enabled bool) error

func (Client) Info

func (c Client) Info() (InfoResp, error)

func (Client) ListProblems

func (c Client) ListProblems(deploymentName string) ([]Problem, error)

func (Client) Locks

func (c Client) Locks() ([]LockResp, error)

func (Client) MatchCompiledPackages

func (c Client) MatchCompiledPackages(manifest interface{}) ([]string, error)

func (Client) MatchPackages

func (c Client) MatchPackages(manifest interface{}) ([]string, error)

func (Client) OrphanDisk added in v2.0.17

func (c Client) OrphanDisk(cid string) error

func (Client) OrphanDisks added in v2.0.17

func (c Client) OrphanDisks() ([]OrphanDiskResp, error)

func (Client) RecentTasks

func (c Client) RecentTasks(limit int, filter TasksFilter) ([]TaskResp, error)

func (Client) Release

func (c Client) Release(name, version string) (ReleaseResp, error)

func (Client) ReleaseSeries

func (c Client) ReleaseSeries() ([]ReleaseSeriesResp, error)

func (Client) ResolveProblems

func (c Client) ResolveProblems(deploymentName string, answers []ProblemAnswer) error

func (Client) RunErrand

func (c Client) RunErrand(deploymentName, name string, keepAlive bool, whenChanged bool, instanceSlugs []InstanceGroupOrInstanceSlug) ([]ErrandRunResp, error)

func (Client) RuntimeConfigs

func (c Client) RuntimeConfigs(name string) ([]RuntimeConfig, error)

func (Client) ScanForProblems

func (c Client) ScanForProblems(deploymentName string) error

func (Client) SetUpSSH

func (c Client) SetUpSSH(deploymentName, jobName, indexOrID string, opts SSHOpts) ([]SSHResp, error)

func (Client) Snapshots

func (c Client) Snapshots(deploymentName string) ([]SnapshotResp, error)

func (Client) Stemcells

func (c Client) Stemcells() ([]StemcellResp, error)

func (Client) TakeSnapshot

func (c Client) TakeSnapshot(deploymentName, job, indexOrID string) error

func (Client) TakeSnapshots

func (c Client) TakeSnapshots(deploymentName string) error

func (Client) Task

func (c Client) Task(id int) (TaskResp, error)

func (Client) TaskOutput

func (c Client) TaskOutput(id int, type_ string, taskReporter TaskReporter) error

func (Client) UpdateCPIConfig

func (c Client) UpdateCPIConfig(manifest []byte) error

func (Client) UpdateCloudConfig

func (c Client) UpdateCloudConfig(manifest []byte) error

func (Client) UpdateDeployment

func (c Client) UpdateDeployment(manifest []byte, opts UpdateOpts) error

func (Client) UpdateRuntimeConfig

func (c Client) UpdateRuntimeConfig(name string, manifest []byte) error

func (Client) UploadReleaseFile

func (c Client) UploadReleaseFile(file UploadFile, rebase, fix bool) error

func (Client) UploadReleaseURL

func (c Client) UploadReleaseURL(url, sha1 string, rebase, fix bool) error

func (Client) UploadStemcellFile

func (c Client) UploadStemcellFile(file UploadFile, fix bool) error

func (Client) UploadStemcellURL

func (c Client) UploadStemcellURL(url, sha1 string, fix bool) error

func (Client) VMs

func (c Client) VMs() ([]VMResp, error)

func (Client) WithContext

func (c Client) WithContext(contextId string) Client

type ClientRequest

type ClientRequest struct {
	// contains filtered or unexported fields
}

func NewClientRequest

func NewClientRequest(
	endpoint string,
	httpClient *httpclient.HTTPClient,
	fileReporter FileReporter,
	logger boshlog.Logger,
) ClientRequest

func (ClientRequest) Delete

func (r ClientRequest) Delete(path string, response interface{}) error

func (ClientRequest) Get

func (r ClientRequest) Get(path string, response interface{}) error

func (ClientRequest) Post

func (r ClientRequest) Post(path string, payload []byte, f func(*http.Request), response interface{}) error

func (ClientRequest) Put

func (r ClientRequest) Put(path string, payload []byte, f func(*http.Request), response interface{}) error

func (ClientRequest) RawDelete

func (r ClientRequest) RawDelete(path string) ([]byte, *http.Response, error)

RawDelete follows redirects via GET unlike generic HTTP clients

func (ClientRequest) RawGet

func (r ClientRequest) RawGet(path string, out io.Writer, f func(*http.Request)) ([]byte, *http.Response, error)

func (ClientRequest) RawPost

func (r ClientRequest) RawPost(path string, payload []byte, f func(*http.Request)) ([]byte, *http.Response, error)

RawPost follows redirects via GET unlike generic HTTP clients

func (ClientRequest) RawPut

func (r ClientRequest) RawPut(path string, payload []byte, f func(*http.Request)) ([]byte, *http.Response, error)

RawPut follows redirects via GET unlike generic HTTP clients

func (ClientRequest) WithContext

func (r ClientRequest) WithContext(contextId string) ClientRequest

type CloudConfig

type CloudConfig struct {
	Properties string
}

type CompiledPackage

type CompiledPackage struct {
	Stemcell OSVersionSlug `json:"stemcell"` // e.g. "ubuntu-trusty/3093"

	BlobstoreID string `json:"blobstore_id"`
	SHA1        string `json:"sha1"`
}

type Config

type Config struct {
	Host string
	Port int

	// CA certificate is not required
	CACert string

	Client       string
	ClientSecret string

	TokenFunc func(bool) (string, error)
}

func NewConfigFromURL

func NewConfigFromURL(url string) (Config, error)

func (Config) CACertPool

func (c Config) CACertPool() (*x509.CertPool, error)

func (Config) Validate

func (c Config) Validate() error

type ConfigDiff added in v2.0.30

type ConfigDiff struct {
	Diff [][]interface{}
}

func NewConfigDiff added in v2.0.30

func NewConfigDiff(diff [][]interface{}) ConfigDiff

type ConfigDiffResponse added in v2.0.30

type ConfigDiffResponse struct {
	Diff [][]interface{} `json:"diff"`
}

type Deployment

type Deployment interface {
	Name() string
	Manifest() (string, error)
	CloudConfig() (string, error)
	Diff([]byte, bool) (DeploymentDiff, error)

	Releases() ([]Release, error)
	ExportRelease(ReleaseSlug, OSVersionSlug, []string) (ExportReleaseResult, error)

	Teams() ([]string, error)

	Stemcells() ([]Stemcell, error)
	VMInfos() ([]VMInfo, error)
	Instances() ([]Instance, error)
	InstanceInfos() ([]VMInfo, error)

	Errands() ([]Errand, error)
	RunErrand(string, bool, bool, []InstanceGroupOrInstanceSlug) ([]ErrandResult, error)

	ScanForProblems() ([]Problem, error)
	ResolveProblems([]ProblemAnswer) error

	Snapshots() ([]Snapshot, error)
	TakeSnapshots() error
	DeleteSnapshot(string) error
	DeleteSnapshots() error
	DeleteVM(string) error

	Variables() ([]VariableResult, error)

	// Deployment, pool or instance specifics
	Start(slug AllOrInstanceGroupOrInstanceSlug, opts StartOpts) error
	Stop(slug AllOrInstanceGroupOrInstanceSlug, opts StopOpts) error
	Restart(slug AllOrInstanceGroupOrInstanceSlug, opts RestartOpts) error
	Recreate(slug AllOrInstanceGroupOrInstanceSlug, opts RecreateOpts) error

	SetUpSSH(AllOrInstanceGroupOrInstanceSlug, SSHOpts) (SSHResult, error)
	CleanUpSSH(AllOrInstanceGroupOrInstanceSlug, SSHOpts) error

	// Instance specifics
	FetchLogs(AllOrInstanceGroupOrInstanceSlug, []string, bool) (LogsResult, error)
	TakeSnapshot(InstanceSlug) error
	Ignore(InstanceSlug, bool) error
	EnableResurrection(InstanceSlug, bool) error

	Update(manifest []byte, opts UpdateOpts) error
	Delete(force bool) error

	AttachDisk(slug InstanceSlug, diskCID string) error
}

type DeploymentDiff

type DeploymentDiff struct {
	Diff [][]interface{}
	// contains filtered or unexported fields
}

func NewDeploymentDiff

func NewDeploymentDiff(diff [][]interface{}, context map[string]interface{}) DeploymentDiff

type DeploymentDiffResponse

type DeploymentDiffResponse struct {
	Context map[string]interface{} `json:"context"`
	Diff    [][]interface{}        `json:"diff"`
}

type DeploymentImpl

type DeploymentImpl struct {
	// contains filtered or unexported fields
}

func (DeploymentImpl) AttachDisk

func (d DeploymentImpl) AttachDisk(slug InstanceSlug, diskCID string) error

func (DeploymentImpl) CleanUpSSH

func (*DeploymentImpl) CloudConfig

func (d *DeploymentImpl) CloudConfig() (string, error)

func (DeploymentImpl) Delete

func (d DeploymentImpl) Delete(force bool) error

func (DeploymentImpl) DeleteSnapshot

func (d DeploymentImpl) DeleteSnapshot(cid string) error

func (DeploymentImpl) DeleteSnapshots

func (d DeploymentImpl) DeleteSnapshots() error

func (DeploymentImpl) DeleteVM

func (d DeploymentImpl) DeleteVM(cid string) error

func (DeploymentImpl) Diff

func (d DeploymentImpl) Diff(manifest []byte, doNotRedact bool) (DeploymentDiff, error)

func (DeploymentImpl) EnableResurrection

func (d DeploymentImpl) EnableResurrection(slug InstanceSlug, enabled bool) error

func (DeploymentImpl) Errands

func (d DeploymentImpl) Errands() ([]Errand, error)

func (DeploymentImpl) ExportRelease

func (d DeploymentImpl) ExportRelease(release ReleaseSlug, os OSVersionSlug, jobs []string) (ExportReleaseResult, error)

func (DeploymentImpl) FetchLogs

func (d DeploymentImpl) FetchLogs(slug AllOrInstanceGroupOrInstanceSlug, filters []string, agent bool) (LogsResult, error)

func (DeploymentImpl) Ignore

func (d DeploymentImpl) Ignore(slug InstanceSlug, enabled bool) error

func (DeploymentImpl) InstanceInfos

func (d DeploymentImpl) InstanceInfos() ([]VMInfo, error)

func (DeploymentImpl) Instances

func (d DeploymentImpl) Instances() ([]Instance, error)

func (DeploymentImpl) IsInProgress

func (d DeploymentImpl) IsInProgress() (bool, error)

func (DeploymentImpl) Manifest

func (d DeploymentImpl) Manifest() (string, error)

func (DeploymentImpl) Name

func (d DeploymentImpl) Name() string

func (DeploymentImpl) Recreate

func (*DeploymentImpl) Releases

func (d *DeploymentImpl) Releases() ([]Release, error)

func (DeploymentImpl) ResolveProblems

func (d DeploymentImpl) ResolveProblems(answers []ProblemAnswer) error

func (DeploymentImpl) Restart

func (DeploymentImpl) RunErrand

func (d DeploymentImpl) RunErrand(name string, keepAlive bool, whenChanged bool, slugs []InstanceGroupOrInstanceSlug) ([]ErrandResult, error)

func (DeploymentImpl) ScanForProblems

func (d DeploymentImpl) ScanForProblems() ([]Problem, error)

func (DeploymentImpl) SetUpSSH

func (DeploymentImpl) Snapshots

func (d DeploymentImpl) Snapshots() ([]Snapshot, error)

func (DeploymentImpl) Start

func (*DeploymentImpl) Stemcells

func (d *DeploymentImpl) Stemcells() ([]Stemcell, error)

func (DeploymentImpl) Stop

func (DeploymentImpl) TakeSnapshot

func (d DeploymentImpl) TakeSnapshot(slug InstanceSlug) error

func (DeploymentImpl) TakeSnapshots

func (d DeploymentImpl) TakeSnapshots() error

func (*DeploymentImpl) Teams added in v2.0.2

func (d *DeploymentImpl) Teams() ([]string, error)

func (DeploymentImpl) Update

func (d DeploymentImpl) Update(manifest []byte, opts UpdateOpts) error

func (DeploymentImpl) VMInfos

func (d DeploymentImpl) VMInfos() ([]VMInfo, error)

func (DeploymentImpl) Variables

func (d DeploymentImpl) Variables() ([]VariableResult, error)

type DeploymentReleaseResp

type DeploymentReleaseResp struct {
	Name    string
	Version string
}

type DeploymentResp

type DeploymentResp struct {
	Name string

	Manifest string

	Releases  []DeploymentReleaseResp
	Stemcells []DeploymentStemcellResp
	Teams     []string

	CloudConfig string `json:"cloud_config"`
}

type DeploymentStemcellResp

type DeploymentStemcellResp struct {
	Name    string
	Version string
}

type DeploymentVMResp

type DeploymentVMResp struct {
	JobName  string `json:"job"`   // e.g. dummy1
	JobIndex int    `json:"index"` // e.g. 0,1,2

	AgentID string `json:"agent_id"` // e.g. 3b30123e-dfa6-4eff-abe6-63c2d5a88938
	CID     string // e.g. vm-ce10ae6a-6c31-413b-a134-7179f49e0bda
}

type DiffLines

type DiffLines [][]interface{}

type Director

type Director interface {
	IsAuthenticated() (bool, error)
	WithContext(id string) Director
	Info() (Info, error)

	Locks() ([]Lock, error)

	CurrentTasks(TasksFilter) ([]Task, error)
	RecentTasks(int, TasksFilter) ([]Task, error)
	FindTask(int) (Task, error)
	FindTasksByContextId(string) ([]Task, error)

	Events(EventsFilter) ([]Event, error)
	Event(string) (Event, error)

	Deployments() ([]Deployment, error)
	FindDeployment(string) (Deployment, error)

	Releases() ([]Release, error)
	HasRelease(name, version string, stemcell OSVersionSlug) (bool, error)
	FindRelease(ReleaseSlug) (Release, error)
	FindReleaseSeries(ReleaseSeriesSlug) (ReleaseSeries, error)
	UploadReleaseURL(url, sha1 string, rebase, fix bool) error
	UploadReleaseFile(file UploadFile, rebase, fix bool) error
	MatchPackages(manifest interface{}, compiled bool) ([]string, error)

	Stemcells() ([]Stemcell, error)
	HasStemcell(name, version string) (bool, error)
	FindStemcell(StemcellSlug) (Stemcell, error)
	UploadStemcellURL(url, sha1 string, fix bool) error
	UploadStemcellFile(file UploadFile, fix bool) error

	LatestCloudConfig() (CloudConfig, error)
	UpdateCloudConfig([]byte) error
	DiffCloudConfig(manifest []byte) (ConfigDiff, error)

	LatestCPIConfig() (CPIConfig, error)
	UpdateCPIConfig([]byte) error
	DiffCPIConfig(manifest []byte, noRedact bool) (ConfigDiff, error)

	LatestRuntimeConfig(name string) (RuntimeConfig, error)
	UpdateRuntimeConfig(name string, manifest []byte) error
	DiffRuntimeConfig(name string, manifest []byte, noRedact bool) (ConfigDiff, error)

	FindOrphanDisk(string) (OrphanDisk, error)
	OrphanDisks() ([]OrphanDisk, error)
	OrphanDisk(string) error

	EnableResurrection(bool) error
	CleanUp(bool) error
	DownloadResourceUnchecked(blobstoreID string, out io.Writer) error
}

type DirectorImpl

type DirectorImpl struct {
	// contains filtered or unexported fields
}

func (DirectorImpl) CleanUp

func (d DirectorImpl) CleanUp(all bool) error

func (DirectorImpl) CurrentTasks

func (d DirectorImpl) CurrentTasks(filter TasksFilter) ([]Task, error)

func (DirectorImpl) Deployments

func (d DirectorImpl) Deployments() ([]Deployment, error)

func (DirectorImpl) DiffCPIConfig added in v2.0.30

func (d DirectorImpl) DiffCPIConfig(manifest []byte, noRedact bool) (ConfigDiff, error)

func (DirectorImpl) DiffCloudConfig added in v2.0.17

func (d DirectorImpl) DiffCloudConfig(manifest []byte) (ConfigDiff, error)

func (DirectorImpl) DiffRuntimeConfig added in v2.0.30

func (d DirectorImpl) DiffRuntimeConfig(name string, manifest []byte, noRedact bool) (ConfigDiff, error)

func (DirectorImpl) DownloadResourceUnchecked

func (d DirectorImpl) DownloadResourceUnchecked(blobstoreID string, out io.Writer) error

func (DirectorImpl) EnableResurrection

func (d DirectorImpl) EnableResurrection(enabled bool) error

func (DirectorImpl) Event added in v2.0.7

func (d DirectorImpl) Event(id string) (Event, error)

func (DirectorImpl) Events

func (d DirectorImpl) Events(opts EventsFilter) ([]Event, error)

func (DirectorImpl) FindDeployment

func (d DirectorImpl) FindDeployment(name string) (Deployment, error)

func (DirectorImpl) FindOrphanDisk added in v2.0.17

func (d DirectorImpl) FindOrphanDisk(cid string) (OrphanDisk, error)

func (DirectorImpl) FindRelease

func (d DirectorImpl) FindRelease(slug ReleaseSlug) (Release, error)

func (DirectorImpl) FindReleaseSeries

func (d DirectorImpl) FindReleaseSeries(slug ReleaseSeriesSlug) (ReleaseSeries, error)

func (DirectorImpl) FindStemcell

func (d DirectorImpl) FindStemcell(slug StemcellSlug) (Stemcell, error)

func (DirectorImpl) FindTask

func (d DirectorImpl) FindTask(id int) (Task, error)

func (DirectorImpl) FindTasksByContextId

func (d DirectorImpl) FindTasksByContextId(contextId string) ([]Task, error)

func (DirectorImpl) HasRelease

func (d DirectorImpl) HasRelease(name, version string, stemcell OSVersionSlug) (bool, error)

func (DirectorImpl) HasStemcell

func (d DirectorImpl) HasStemcell(name, version string) (bool, error)

func (DirectorImpl) Info

func (d DirectorImpl) Info() (Info, error)

func (DirectorImpl) IsAuthenticated

func (d DirectorImpl) IsAuthenticated() (bool, error)

func (DirectorImpl) LatestCPIConfig

func (d DirectorImpl) LatestCPIConfig() (CPIConfig, error)

func (DirectorImpl) LatestCloudConfig

func (d DirectorImpl) LatestCloudConfig() (CloudConfig, error)

func (DirectorImpl) LatestRuntimeConfig

func (d DirectorImpl) LatestRuntimeConfig(name string) (RuntimeConfig, error)

func (DirectorImpl) Locks

func (d DirectorImpl) Locks() ([]Lock, error)

func (DirectorImpl) MatchPackages

func (d DirectorImpl) MatchPackages(manifest interface{}, compiled bool) ([]string, error)

func (DirectorImpl) OrphanDisk added in v2.0.17

func (d DirectorImpl) OrphanDisk(cid string) error

func (DirectorImpl) OrphanDisks added in v2.0.17

func (d DirectorImpl) OrphanDisks() ([]OrphanDisk, error)

func (DirectorImpl) RecentTasks

func (d DirectorImpl) RecentTasks(limit int, filter TasksFilter) ([]Task, error)

func (DirectorImpl) Releases

func (d DirectorImpl) Releases() ([]Release, error)

func (DirectorImpl) Stemcells

func (d DirectorImpl) Stemcells() ([]Stemcell, error)

func (DirectorImpl) UpdateCPIConfig

func (d DirectorImpl) UpdateCPIConfig(manifest []byte) error

func (DirectorImpl) UpdateCloudConfig

func (d DirectorImpl) UpdateCloudConfig(manifest []byte) error

func (DirectorImpl) UpdateRuntimeConfig

func (d DirectorImpl) UpdateRuntimeConfig(name string, manifest []byte) error

func (DirectorImpl) UploadReleaseFile

func (d DirectorImpl) UploadReleaseFile(file UploadFile, rebase, fix bool) error

func (DirectorImpl) UploadReleaseURL

func (d DirectorImpl) UploadReleaseURL(url, sha1 string, rebase, fix bool) error

func (DirectorImpl) UploadStemcellFile

func (d DirectorImpl) UploadStemcellFile(file UploadFile, fix bool) error

func (DirectorImpl) UploadStemcellURL

func (d DirectorImpl) UploadStemcellURL(url, sha1 string, fix bool) error

func (DirectorImpl) WithContext

func (d DirectorImpl) WithContext(id string) Director

type Errand

type Errand struct {
	Name string // e.g. "acceptance-tests"
}

type ErrandResult

type ErrandResult struct {
	InstanceGroup string
	InstanceID    string

	ExitCode int

	Stdout string
	Stderr string

	LogsBlobstoreID string
	LogsSHA1        string
}

type ErrandRunResp

type ErrandRunResp struct {
	Instance struct {
		Group string `json:"group"`
		ID    string `json:"id"`
	} `json:"instance"`

	ExitCode int `json:"exit_code"`

	Stdout string
	Stderr string

	Logs struct {
		BlobstoreID string `json:"blobstore_id"`
		SHA1        string `json:"sha1"`
	} `json:"logs"`
}

type Event

type Event interface {
	ID() string
	ParentID() string
	Timestamp() time.Time
	User() string
	Action() string
	ObjectType() string
	ObjectName() string
	TaskID() string
	DeploymentName() string
	Instance() string
	Context() map[string]interface{}
	Error() string
}

type EventImpl

type EventImpl struct {
	// contains filtered or unexported fields
}

func NewEventFromResp

func NewEventFromResp(client Client, r EventResp) EventImpl

func (EventImpl) Action

func (e EventImpl) Action() string

func (EventImpl) Context

func (e EventImpl) Context() map[string]interface{}

func (EventImpl) DeploymentName

func (e EventImpl) DeploymentName() string

func (EventImpl) Error

func (e EventImpl) Error() string

func (EventImpl) ID

func (e EventImpl) ID() string

func (EventImpl) Instance

func (e EventImpl) Instance() string

func (EventImpl) ObjectName

func (e EventImpl) ObjectName() string

func (EventImpl) ObjectType

func (e EventImpl) ObjectType() string

func (EventImpl) ParentID

func (e EventImpl) ParentID() string

func (EventImpl) TaskID

func (e EventImpl) TaskID() string

func (EventImpl) Timestamp

func (e EventImpl) Timestamp() time.Time

func (EventImpl) User

func (e EventImpl) User() string

type EventResp

type EventResp struct {
	ID             string                 `json:"id"`
	Timestamp      int64                  `json:"timestamp"`
	User           string                 `json:"user"`
	Action         string                 `json:"action"`
	ObjectType     string                 `json:"object_type"`
	ObjectName     string                 `json:"object_name"`
	TaskID         string                 `json:"task"`
	DeploymentName string                 `json:"deployment"`
	Instance       string                 `json:"instance"`
	ParentID       string                 `json:"parent_id,omitempty"`
	Context        map[string]interface{} `json:"context"`
	Error          string                 `json:"error"`
}

type EventsFilter

type EventsFilter struct {
	BeforeID   string
	Before     string
	After      string
	Deployment string
	Task       string
	Instance   string
	User       string
	Action     string
	ObjectType string
	ObjectName string
}

type ExportReleaseResp

type ExportReleaseResp struct {
	BlobstoreID string `json:"blobstore_id"`
	SHA1        string `json:"sha1"`
}

type ExportReleaseResult

type ExportReleaseResult struct {
	BlobstoreID string
	SHA1        string
}

type FSArchiveWithMetadata

type FSArchiveWithMetadata struct {
	// contains filtered or unexported fields
}

func (FSArchiveWithMetadata) File

func (FSArchiveWithMetadata) Info

type Factory

type Factory struct {
	// contains filtered or unexported fields
}

func NewFactory

func NewFactory(logger boshlog.Logger) Factory

func (Factory) New

func (f Factory) New(config Config, taskReporter TaskReporter, fileReporter FileReporter) (Director, error)

type FileReporter

type FileReporter interface {
	TrackUpload(int64, io.ReadCloser) ui.ReadSeekCloser
	TrackDownload(int64, io.Writer) io.Writer
}

type Host

type Host struct {
	Job       string
	IndexOrID string

	Username      string
	Host          string
	HostPublicKey string
}

type Info

type Info struct {
	Name    string
	UUID    string
	Version string

	User string
	Auth UserAuthentication

	Features map[string]bool

	CPI string
}

type InfoFeatureResp

type InfoFeatureResp struct {
	Status bool
}

type InfoResp

type InfoResp struct {
	Name    string // e.g. "Bosh Lite Director"
	UUID    string // e.g. "71d36859-4f21-446f-8a02-f18d7f1263c6"
	Version string // e.g. "1.2922.0 (00000000)"

	User string
	Auth UserAuthenticationResp `json:"user_authentication"`

	Features map[string]InfoFeatureResp

	CPI string
}

type Instance

type Instance struct {
	AgentID string `json:"agent_id"`
	VMID    string `json:"cid"`

	ID    string `json:"id"`
	Group string `json:"job"`

	AZ        string `json:"az"`
	ExpectsVM bool   `json:"expects_vm"`

	IPs []string `json:"ips"`
}

type InstanceFilter added in v2.0.31

type InstanceFilter struct {
	Group string `json:"group"`
	ID    string `json:"id,omitempty"`
}

type InstanceGroupOrInstanceSlug

type InstanceGroupOrInstanceSlug struct {
	// contains filtered or unexported fields
}

func NewInstanceGroupOrInstanceSlug

func NewInstanceGroupOrInstanceSlug(name, indexOrID string) InstanceGroupOrInstanceSlug

func NewInstanceGroupOrInstanceSlugFromString

func NewInstanceGroupOrInstanceSlugFromString(str string) (InstanceGroupOrInstanceSlug, error)

func (InstanceGroupOrInstanceSlug) DirectorHash added in v2.0.31

func (InstanceGroupOrInstanceSlug) IndexOrID

func (s InstanceGroupOrInstanceSlug) IndexOrID() string

func (InstanceGroupOrInstanceSlug) Name

func (InstanceGroupOrInstanceSlug) String

func (*InstanceGroupOrInstanceSlug) UnmarshalFlag added in v2.0.30

func (s *InstanceGroupOrInstanceSlug) UnmarshalFlag(data string) error

type InstanceGroupSlug

type InstanceGroupSlug struct {
	// contains filtered or unexported fields
}

func NewInstanceGroupSlug

func NewInstanceGroupSlug(name string) InstanceGroupSlug

func (InstanceGroupSlug) Name

func (s InstanceGroupSlug) Name() string

func (InstanceGroupSlug) String

func (s InstanceGroupSlug) String() string

func (*InstanceGroupSlug) UnmarshalFlag

func (s *InstanceGroupSlug) UnmarshalFlag(data string) error

type InstanceSlug

type InstanceSlug struct {
	// contains filtered or unexported fields
}

func NewInstanceSlug

func NewInstanceSlug(name, indexOrID string) InstanceSlug

func (InstanceSlug) IndexOrID

func (s InstanceSlug) IndexOrID() string

func (InstanceSlug) IsProvided

func (s InstanceSlug) IsProvided() bool

func (InstanceSlug) Name

func (s InstanceSlug) Name() string

func (InstanceSlug) String

func (s InstanceSlug) String() string

func (*InstanceSlug) UnmarshalFlag

func (s *InstanceSlug) UnmarshalFlag(data string) error

type Job

type Job struct {
	Name        string
	Fingerprint string

	BlobstoreID string `json:"blobstore_id"`
	SHA1        string `json:"sha1"`

	LinksConsumed []Link `json:"consumes"`
	LinksProvided []Link `json:"provides"`
}
type Link struct {
	Name     string `json:"name"`
	Type     string `json:"type"`
	Optional bool   `json:"optional" yaml:",omitempty"`
}

type Lock

type Lock struct {
	Type      string   // e.g. "deployment"
	Resource  []string // e.g. ["some-deployment-name"]
	ExpiresAt time.Time
	TaskID    string // e.g. "123456"
}

type LockResp

type LockResp struct {
	Type     string   // e.g. "deployment"
	Resource []string // e.g. ["some-deployment-name"]
	Timeout  string   // e.g. "1443889622.9964118"
	TaskID   string   `json:"task_id"` // e.g. "123456"
}

func (LockResp) IsForDeployment

func (l LockResp) IsForDeployment(name string) bool

type LogsResult

type LogsResult struct {
	BlobstoreID string
	SHA1        string
}

type Manifest

type Manifest struct {
	Name string

	Releases []ManifestRelease
}

func NewManifestFromBytes

func NewManifestFromBytes(bytes []byte) (Manifest, error)

func NewManifestFromPath

func NewManifestFromPath(path string, fs boshsys.FileSystem) (Manifest, error)

type ManifestRelease

type ManifestRelease struct {
	Name    string
	Version string

	URL  string
	SHA1 string

	Stemcell ManifestReleaseStemcell
}

type ManifestReleaseStemcell added in v2.0.30

type ManifestReleaseStemcell struct {
	OS      string
	Version string
}

type NoopFileReporter

type NoopFileReporter struct{}

func NewNoopFileReporter

func NewNoopFileReporter() NoopFileReporter

func (NoopFileReporter) TrackDownload

func (r NoopFileReporter) TrackDownload(size int64, writer io.Writer) io.Writer

func (NoopFileReporter) TrackUpload

func (r NoopFileReporter) TrackUpload(size int64, reader io.ReadCloser) ui.ReadSeekCloser

type NoopReadSeekCloser

type NoopReadSeekCloser struct {
	Reader io.ReadCloser
}

func (NoopReadSeekCloser) Close

func (nrsc NoopReadSeekCloser) Close() error

func (NoopReadSeekCloser) Read

func (nrsc NoopReadSeekCloser) Read(p []byte) (n int, err error)

func (NoopReadSeekCloser) Seek

func (nrsc NoopReadSeekCloser) Seek(offset int64, whence int) (int64, error)

type NoopTaskReporter

type NoopTaskReporter struct{}

func NewNoopTaskReporter

func NewNoopTaskReporter() NoopTaskReporter

func (NoopTaskReporter) TaskFinished

func (r NoopTaskReporter) TaskFinished(id int, state string)

func (NoopTaskReporter) TaskOutputChunk

func (r NoopTaskReporter) TaskOutputChunk(id int, chunk []byte)

func (NoopTaskReporter) TaskStarted

func (r NoopTaskReporter) TaskStarted(id int)

type OSVersionSlug

type OSVersionSlug struct {
	// contains filtered or unexported fields
}

func NewOSVersionSlug

func NewOSVersionSlug(os, version string) OSVersionSlug

func (OSVersionSlug) IsProvided added in v2.0.30

func (s OSVersionSlug) IsProvided() bool

func (OSVersionSlug) OS

func (s OSVersionSlug) OS() string

func (OSVersionSlug) String

func (s OSVersionSlug) String() string

func (*OSVersionSlug) UnmarshalFlag

func (s *OSVersionSlug) UnmarshalFlag(data string) error

func (*OSVersionSlug) UnmarshalJSON added in v2.0.30

func (s *OSVersionSlug) UnmarshalJSON(data []byte) error

func (OSVersionSlug) Version

func (s OSVersionSlug) Version() string

type OrphanDisk added in v2.0.17

type OrphanDisk interface {
	CID() string
	Size() uint64

	Deployment() Deployment
	InstanceName() string
	AZName() string

	OrphanedAt() time.Time

	Delete() error
}

type OrphanDiskImpl added in v2.0.17

type OrphanDiskImpl struct {
	// contains filtered or unexported fields
}

func (OrphanDiskImpl) AZName added in v2.0.17

func (d OrphanDiskImpl) AZName() string

func (OrphanDiskImpl) CID added in v2.0.17

func (d OrphanDiskImpl) CID() string

func (OrphanDiskImpl) Delete added in v2.0.17

func (d OrphanDiskImpl) Delete() error

func (OrphanDiskImpl) Deployment added in v2.0.17

func (d OrphanDiskImpl) Deployment() Deployment

func (OrphanDiskImpl) InstanceName added in v2.0.17

func (d OrphanDiskImpl) InstanceName() string

func (OrphanDiskImpl) OrphanedAt added in v2.0.17

func (d OrphanDiskImpl) OrphanedAt() time.Time

func (OrphanDiskImpl) Size added in v2.0.17

func (d OrphanDiskImpl) Size() uint64

type OrphanDiskResp added in v2.0.17

type OrphanDiskResp struct {
	CID  string `json:"disk_cid"`
	Size uint64

	DeploymentName string `json:"deployment_name"`
	InstanceName   string `json:"instance_name"`
	AZ             string `json:"az"`

	OrphanedAt string `json:"orphaned_at"` // e.g. "2016-01-09 06:23:25 +0000"
}

type Package

type Package struct {
	Name        string
	Fingerprint string

	BlobstoreID string `json:"blobstore_id"`
	SHA1        string `json:"sha1"`

	CompiledPackages []CompiledPackage `json:"compiled_packages"`
}

type Problem

type Problem struct {
	ID int // e.g. 4

	Type        string // e.g. "unresponsive_agent"
	Description string // e.g. "api/1 (5efd2cb8-d73b-4e45-6df4-58f5dd5ec2ec) is not responding"

	Data        interface{}
	Resolutions []ProblemResolution
}

type ProblemAnswer

type ProblemAnswer struct {
	ProblemID  int
	Resolution ProblemResolution
}

type ProblemResolution

type ProblemResolution struct {
	Name *string `json:"name"` // e.g. "Skip for now", "Recreate VM"
	Plan string  `json:"plan"` // e.g. "ignore", "reboot_vm"
}
var ProblemResolutionDefault ProblemResolution = ProblemResolution{}
var ProblemResolutionSkip ProblemResolution = ProblemResolution{
	Name: &skipResolutionName,
	Plan: "Skip for now",
}

type RecreateOpts

type RecreateOpts struct {
	Canaries    string
	MaxInFlight string
	Force       bool
	Fix         bool
	SkipDrain   bool
	DryRun      bool
}

type RedirectFunc

type RedirectFunc func(*http.Request, []*http.Request) error

type Release

type Release interface {
	Name() string
	Version() semver.Version
	VersionMark(mark string) string
	CommitHashWithMark(mark string) string

	Jobs() ([]Job, error)
	Packages() ([]Package, error)

	Delete(force bool) error
}

type ReleaseArchive

type ReleaseArchive interface {
	Info() (string, string, error)
	File() (UploadFile, error)
}

func NewFSReleaseArchive

func NewFSReleaseArchive(path string, fs boshsys.FileSystem) ReleaseArchive

func NewFSStemcellArchive

func NewFSStemcellArchive(path string, fs boshsys.FileSystem) ReleaseArchive

type ReleaseImpl

type ReleaseImpl struct {
	// contains filtered or unexported fields
}

func (ReleaseImpl) CommitHashWithMark

func (r ReleaseImpl) CommitHashWithMark(suffix string) string

func (ReleaseImpl) Delete

func (r ReleaseImpl) Delete(force bool) error

func (*ReleaseImpl) Jobs

func (r *ReleaseImpl) Jobs() ([]Job, error)

func (ReleaseImpl) Name

func (r ReleaseImpl) Name() string

func (*ReleaseImpl) Packages

func (r *ReleaseImpl) Packages() ([]Package, error)

func (ReleaseImpl) Version

func (r ReleaseImpl) Version() semver.Version

func (ReleaseImpl) VersionMark

func (r ReleaseImpl) VersionMark(suffix string) string

type ReleaseOrSeriesSlug

type ReleaseOrSeriesSlug struct {
	// contains filtered or unexported fields
}

func NewReleaseOrSeriesSlug

func NewReleaseOrSeriesSlug(name, version string) ReleaseOrSeriesSlug

func (ReleaseOrSeriesSlug) Name

func (s ReleaseOrSeriesSlug) Name() string

func (ReleaseOrSeriesSlug) ReleaseSlug

func (s ReleaseOrSeriesSlug) ReleaseSlug() (ReleaseSlug, bool)

func (ReleaseOrSeriesSlug) SeriesSlug

func (s ReleaseOrSeriesSlug) SeriesSlug() ReleaseSeriesSlug

func (*ReleaseOrSeriesSlug) UnmarshalFlag

func (s *ReleaseOrSeriesSlug) UnmarshalFlag(data string) error

func (ReleaseOrSeriesSlug) Version

func (s ReleaseOrSeriesSlug) Version() string

type ReleaseResp

type ReleaseResp struct {
	Jobs     []Job
	Packages []Package
}

type ReleaseSeries

type ReleaseSeries interface {
	Name() string
	Delete(force bool) error
}

type ReleaseSeriesImpl

type ReleaseSeriesImpl struct {
	// contains filtered or unexported fields
}

func (ReleaseSeriesImpl) Delete

func (rs ReleaseSeriesImpl) Delete(force bool) error

func (ReleaseSeriesImpl) Name

func (rs ReleaseSeriesImpl) Name() string

type ReleaseSeriesResp

type ReleaseSeriesResp struct {
	Name     string
	Versions []ReleaseVersionResp `json:"release_versions"`
}

type ReleaseSeriesSlug

type ReleaseSeriesSlug struct {
	// contains filtered or unexported fields
}

func NewReleaseSeriesSlug

func NewReleaseSeriesSlug(name string) ReleaseSeriesSlug

func (ReleaseSeriesSlug) Name

func (s ReleaseSeriesSlug) Name() string

func (ReleaseSeriesSlug) String

func (s ReleaseSeriesSlug) String() string

func (*ReleaseSeriesSlug) UnmarshalFlag

func (s *ReleaseSeriesSlug) UnmarshalFlag(data string) error

type ReleaseSlug

type ReleaseSlug struct {
	// contains filtered or unexported fields
}

func NewReleaseSlug

func NewReleaseSlug(name, version string) ReleaseSlug

func (ReleaseSlug) Name

func (s ReleaseSlug) Name() string

func (ReleaseSlug) String

func (s ReleaseSlug) String() string

func (*ReleaseSlug) UnmarshalFlag

func (s *ReleaseSlug) UnmarshalFlag(data string) error

func (ReleaseSlug) Version

func (s ReleaseSlug) Version() string

type ReleaseVersionResp

type ReleaseVersionResp struct {
	Version string

	CurrentlyDeployed bool `json:"currently_deployed"`

	CommitHash         string `json:"commit_hash"`
	UncommittedChanges bool   `json:"uncommitted_changes"`
}

type RequestSanitizer

type RequestSanitizer struct {
	Request http.Request
}

func (RequestSanitizer) SanitizeRequest

func (rs RequestSanitizer) SanitizeRequest() (http.Request, error)

This will destructively mutate rs.Request

type RestartOpts

type RestartOpts struct {
	Canaries    string
	MaxInFlight string
	Force       bool
	SkipDrain   bool
}

type RuntimeConfig

type RuntimeConfig struct {
	Properties string
}

type SSHOpts

type SSHOpts struct {
	Username  string
	PublicKey string
}

func NewSSHOpts

func NewSSHOpts(uuidGen boshuuid.Generator) (SSHOpts, string, error)

type SSHResp

type SSHResp struct {
	Status string

	Job   string
	Index *int
	ID    string

	IP            string // e.g. "10.244.2.18"
	HostPublicKey string `json:"host_public_key"`

	GatewayUser string `json:"gateway_user"`
	GatewayHost string `json:"gateway_host"`
}

func (SSHResp) IndexOrID

func (r SSHResp) IndexOrID() string

type SSHResult

type SSHResult struct {
	Hosts []Host

	GatewayUsername string
	GatewayHost     string
}

type ShouldTrackDownload added in v2.0.33

type ShouldTrackDownload interface {
	ShouldTrackDownload() bool
}

type SkipDrain

type SkipDrain struct {
	All  bool
	Slug InstanceGroupOrInstanceSlug
}

func (*SkipDrain) UnmarshalFlag

func (s *SkipDrain) UnmarshalFlag(data string) error

type SkipDrains

type SkipDrains []SkipDrain

func (SkipDrains) AsQueryValue

func (s SkipDrains) AsQueryValue() string

type Snapshot

type Snapshot struct {
	Job   string
	Index *int

	CID       string
	CreatedAt time.Time

	Clean bool
}

func (Snapshot) InstanceDesc

func (s Snapshot) InstanceDesc() string

type SnapshotResp

type SnapshotResp struct {
	Job   string
	Index *int

	SnapshotCID string `json:"snapshot_cid"`
	CreatedAt   string `json:"created_at"`

	Clean bool
}

type StartOpts

type StartOpts struct {
	Canaries    string
	MaxInFlight string
}

type Stemcell

type Stemcell interface {
	Name() string
	Version() semver.Version
	VersionMark(mark string) string

	OSName() string

	CPI() string
	CID() string

	Delete(force bool) error
}

type StemcellArchive

type StemcellArchive interface {
	Info() (string, string, error)
	File() (UploadFile, error)
}

func NewFSArchiveWithMetadata

func NewFSArchiveWithMetadata(path, fileName string, fs boshsys.FileSystem) StemcellArchive

type StemcellImpl

type StemcellImpl struct {
	// contains filtered or unexported fields
}

func (StemcellImpl) CID

func (s StemcellImpl) CID() string

func (StemcellImpl) CPI

func (s StemcellImpl) CPI() string

func (StemcellImpl) Delete

func (s StemcellImpl) Delete(force bool) error

func (StemcellImpl) Name

func (s StemcellImpl) Name() string

func (StemcellImpl) OSName

func (s StemcellImpl) OSName() string

func (StemcellImpl) Version

func (s StemcellImpl) Version() semver.Version

func (StemcellImpl) VersionMark

func (s StemcellImpl) VersionMark(suffix string) string

type StemcellResp

type StemcellResp struct {
	Name    string
	Version string

	OperatingSystem string `json:"operating_system"`

	CID string `json:"cid"`
	CPI string `json:"cpi"`

	// Only used for determining if stemcell is deployed
	Deployments []interface{}
}

type StemcellSlug

type StemcellSlug struct {
	// contains filtered or unexported fields
}

func NewStemcellSlug

func NewStemcellSlug(name, version string) StemcellSlug

func (StemcellSlug) Name

func (s StemcellSlug) Name() string

func (StemcellSlug) String

func (s StemcellSlug) String() string

func (*StemcellSlug) UnmarshalFlag

func (s *StemcellSlug) UnmarshalFlag(data string) error

func (*StemcellSlug) UnmarshalJSON

func (s *StemcellSlug) UnmarshalJSON(data []byte) error

func (StemcellSlug) Version

func (s StemcellSlug) Version() string

type StopOpts

type StopOpts struct {
	Canaries    string
	MaxInFlight string
	Force       bool
	SkipDrain   bool
	Hard        bool
}

type Task

type Task interface {
	ID() int
	StartedAt() time.Time
	LastActivityAt() time.Time

	State() string
	IsError() bool
	User() string
	DeploymentName() string
	ContextID() string

	Description() string
	Result() string

	EventOutput(TaskReporter) error
	CPIOutput(TaskReporter) error
	DebugOutput(TaskReporter) error
	ResultOutput(TaskReporter) error

	Cancel() error
}

type TaskClientRequest

type TaskClientRequest struct {
	// contains filtered or unexported fields
}

func NewTaskClientRequest

func NewTaskClientRequest(
	clientRequest ClientRequest,
	taskReporter TaskReporter,
	taskCheckStepDuration time.Duration,
) TaskClientRequest

func (TaskClientRequest) DeleteResult

func (r TaskClientRequest) DeleteResult(path string) ([]byte, error)

func (TaskClientRequest) GetResult

func (r TaskClientRequest) GetResult(path string) (int, []byte, error)

func (TaskClientRequest) PostResult

func (r TaskClientRequest) PostResult(path string, payload []byte, f func(*http.Request)) ([]byte, error)

func (TaskClientRequest) PutResult

func (r TaskClientRequest) PutResult(path string, payload []byte, f func(*http.Request)) ([]byte, error)

func (TaskClientRequest) WaitForCompletion

func (r TaskClientRequest) WaitForCompletion(id int, type_ string, taskReporter TaskReporter) error

type TaskImpl

type TaskImpl struct {
	// contains filtered or unexported fields
}

func NewTaskFromResp

func NewTaskFromResp(client Client, r TaskResp) TaskImpl

func (TaskImpl) CPIOutput

func (t TaskImpl) CPIOutput(taskReporter TaskReporter) error

func (TaskImpl) Cancel

func (t TaskImpl) Cancel() error

func (TaskImpl) ContextID

func (t TaskImpl) ContextID() string

func (TaskImpl) DebugOutput

func (t TaskImpl) DebugOutput(taskReporter TaskReporter) error

func (TaskImpl) DeploymentName

func (t TaskImpl) DeploymentName() string

func (TaskImpl) Description

func (t TaskImpl) Description() string

func (TaskImpl) EventOutput

func (t TaskImpl) EventOutput(taskReporter TaskReporter) error

func (TaskImpl) ID

func (t TaskImpl) ID() int

func (TaskImpl) IsError

func (t TaskImpl) IsError() bool

func (TaskImpl) LastActivityAt

func (t TaskImpl) LastActivityAt() time.Time

func (TaskImpl) Result

func (t TaskImpl) Result() string

func (TaskImpl) ResultOutput

func (t TaskImpl) ResultOutput(taskReporter TaskReporter) error

func (TaskImpl) StartedAt

func (t TaskImpl) StartedAt() time.Time

func (TaskImpl) State

func (t TaskImpl) State() string

func (TaskImpl) User

func (t TaskImpl) User() string

type TaskReporter

type TaskReporter interface {
	TaskStarted(int)
	TaskFinished(int, string)
	TaskOutputChunk(int, []byte)
}

type TaskResp

type TaskResp struct {
	ID int // 165

	StartedAt      int64 `json:"started_at"` // 1440318199
	LastActivityAt int64 `json:"timestamp"`  // 1440318199

	State      string // e.g. "queued", "processing", "done", "error", "cancelled"
	User       string // e.g. "admin"
	Deployment string

	Description string // e.g. "create release"
	Result      string // e.g. "Created release `bosh-ui/0+dev.17'"
	ContextId   string `json:"context_id"`
}

type TasksFilter

type TasksFilter struct {
	All        bool
	Deployment string
}

type TimeParser

type TimeParser struct{}

func (TimeParser) Parse

func (p TimeParser) Parse(s string) (time.Time, error)

type TimeoutTime

type TimeoutTime time.Time

type UpdateOpts

type UpdateOpts struct {
	Recreate    bool
	Fix         bool
	SkipDrain   SkipDrains
	Canaries    string
	MaxInFlight string
	DryRun      bool
	Diff        DeploymentDiff
}

type UploadFile

type UploadFile interface {
	io.ReadCloser
	Stat() (os.FileInfo, error)
}

type UserAuthentication

type UserAuthentication struct {
	Type    string
	Options map[string]interface{}
}

type UserAuthenticationResp

type UserAuthenticationResp struct {
	Type    string
	Options map[string]interface{}
}

type VMInfo

type VMInfo struct {
	AgentID string `json:"agent_id"`

	JobName      string `json:"job_name"`
	ID           string `json:"id"`
	Index        *int   `json:"index"`
	ProcessState string `json:"job_state"` // e.g. "running"
	Bootstrap    bool

	IPs []string `json:"ips"`
	DNS []string `json:"dns"`

	AZ             string    `json:"az"`
	State          string    `json:"state"`
	VMID           string    `json:"vm_cid"`
	VMType         string    `json:"vm_type"`
	ResourcePool   string    `json:"resource_pool"`
	DiskID         string    `json:"disk_cid"`
	Ignore         bool      `json:"ignore"`
	DiskIDs        []string  `json:"disk_cids"`
	VMCreatedAtRaw string    `json:"vm_created_at"`
	VMCreatedAt    time.Time `json:"-"`

	Processes []VMInfoProcess

	Vitals VMInfoVitals

	ResurrectionPaused bool `json:"resurrection_paused"`
}

func (VMInfo) IsRunning

func (i VMInfo) IsRunning() bool

type VMInfoProcess

type VMInfoProcess struct {
	Name  string
	State string // e.g. "running"

	CPU    VMInfoVitalsCPU `json:"cpu"`
	Mem    VMInfoVitalsMemIntSize
	Uptime VMInfoVitalsUptime
}

func (VMInfoProcess) IsRunning

func (p VMInfoProcess) IsRunning() bool

type VMInfoVitals

type VMInfoVitals struct {
	CPU    VMInfoVitalsCPU `json:"cpu"`
	Mem    VMInfoVitalsMemSize
	Swap   VMInfoVitalsMemSize
	Uptime VMInfoVitalsUptime

	Load []string
	Disk map[string]VMInfoVitalsDiskSize
}

func (VMInfoVitals) EphemeralDisk

func (v VMInfoVitals) EphemeralDisk() VMInfoVitalsDiskSize

func (VMInfoVitals) PersistentDisk

func (v VMInfoVitals) PersistentDisk() VMInfoVitalsDiskSize

func (VMInfoVitals) SystemDisk

func (v VMInfoVitals) SystemDisk() VMInfoVitalsDiskSize

type VMInfoVitalsCPU

type VMInfoVitalsCPU struct {
	Total *float64 // used by VMInfoProcess
	Sys   string
	User  string
	Wait  string
}

type VMInfoVitalsDiskSize

type VMInfoVitalsDiskSize struct {
	InodePercent string `json:"inode_percent"`
	Percent      string
}

type VMInfoVitalsMemIntSize

type VMInfoVitalsMemIntSize struct {
	KB      *uint64 `json:"kb"`
	Percent *float64
}

type VMInfoVitalsMemSize

type VMInfoVitalsMemSize struct {
	KB      string `json:"kb"`
	Percent string
}

type VMInfoVitalsUptime

type VMInfoVitalsUptime struct {
	Seconds *uint64 `json:"secs"` // e.g. 48307
}

type VMResp

type VMResp struct {
	VMCID string `json:"vm_cid"`
}

type VariableResult

type VariableResult struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

Directories

Path Synopsis
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