forked from Azure/acs-engine
/
orchestratorversiontypes.go
49 lines (43 loc) · 1.87 KB
/
orchestratorversiontypes.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
41
42
43
44
45
46
47
48
49
package v20170930
// OSType represents OS types of agents
type OSType string
// OrchestratorProfile contains orchestrator properties:
// - type: kubernetes, DCOS, etc.
// - release: major and minor version numbers
// - version: major, minor, and patch version numbers
type OrchestratorProfile struct {
OrchestratorType string `json:"orchestratorType"`
OrchestratorRelease string `json:"orchestratorRelease"`
OrchestratorVersion string `json:"orchestratorVersion"`
}
// PoolUpgradeProfile contains pool properties:
// - orchestrator type and version
// - pool name (for agent pool)
// - OS type of the VMs in the pool
// - list of applicable upgrades
type PoolUpgradeProfile struct {
OrchestratorProfile
Name string `json:"name,omitempty"`
OSType string `json:"osType,omitempty"`
Upgrades []*OrchestratorProfile `json:"upgrades,omitempty"`
}
// UpgradeProfile contains cluster properties:
// - orchestrator type and version for the cluster
// - list of pool profiles, constituting the cluster
type UpgradeProfile struct {
ControlPlaneProfile *PoolUpgradeProfile `json:"controlPlaneProfile"`
AgentPoolProfiles []*PoolUpgradeProfile `json:"agentPoolProfiles"`
}
// OrchestratorVersionProfile contains information of a supported orchestrator version:
// - orchestrator type and version
// - whether this orchestrator version is deployed by default if orchestrator release is not specified
// - list of available upgrades for this orchestrator version
type OrchestratorVersionProfile struct {
OrchestratorProfile
Default bool `json:"default,omitempty"`
Upgrades []*OrchestratorProfile `json:"upgrades,omitempty"`
}
// OrchestratorVersionProfileList contains list of version profiles for supported orchestrators
type OrchestratorVersionProfileList struct {
Orchestrators []*OrchestratorVersionProfile `json:"orchestrators"`
}