-
Notifications
You must be signed in to change notification settings - Fork 115
/
agent_client_interface.go
40 lines (34 loc) · 1.05 KB
/
agent_client_interface.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package agentclient
import "github.com/cloudfoundry/bosh-agent/agentclient/applyspec"
//go:generate counterfeiter -o fakes/fake_agent_client.go agent_client_interface.go AgentClient
type AgentClient interface {
Ping() (string, error)
Stop() error
Drain(string) (int64, error)
Apply(applyspec.ApplySpec) error
Start() error
GetState() (AgentState, error)
AddPersistentDisk(string, interface{}) error
RemovePersistentDisk(string) error
MountDisk(string) error
UnmountDisk(string) error
ListDisk() ([]string, error)
MigrateDisk() error
CompilePackage(packageSource BlobRef, compiledPackageDependencies []BlobRef) (compiledPackageRef BlobRef, err error)
DeleteARPEntries(ips []string) error
SyncDNS(blobID, sha1 string, version uint64) (string, error)
RunScript(scriptName string, options map[string]interface{}) error
}
type AgentState struct {
JobState string
NetworkSpecs map[string]NetworkSpec
}
type NetworkSpec struct {
IP string `json:"ip"`
}
type BlobRef struct {
Name string
Version string
BlobstoreID string
SHA1 string
}