first commit
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
package domain
|
||||
|
||||
type ServerLifecycleAction string
|
||||
|
||||
const (
|
||||
ServerLifecycleActionCreate ServerLifecycleAction = "create"
|
||||
ServerLifecycleActionStart ServerLifecycleAction = "start"
|
||||
ServerLifecycleActionStop ServerLifecycleAction = "stop"
|
||||
)
|
||||
|
||||
const (
|
||||
LifecycleCapabilityInstall = "process.install"
|
||||
LifecycleCapabilityStart = "process.start"
|
||||
LifecycleCapabilityStop = "process.stop"
|
||||
)
|
||||
|
||||
type ServerLifecycleCreate struct {
|
||||
ID string
|
||||
PluginID string
|
||||
RunEndpointID string
|
||||
Name string
|
||||
OwnerUserID string
|
||||
IdempotencyKey string
|
||||
}
|
||||
|
||||
type ServerLifecycleCommand struct {
|
||||
ServerInstanceID string
|
||||
ExpectedConfigVersion int
|
||||
IdempotencyKey string
|
||||
}
|
||||
|
||||
type ServerLifecycleResult struct {
|
||||
Accepted bool
|
||||
Action ServerLifecycleAction
|
||||
Instance ServerInstance
|
||||
Job Job
|
||||
}
|
||||
|
||||
func LifecycleCapabilityForAction(action ServerLifecycleAction) string {
|
||||
switch action {
|
||||
case ServerLifecycleActionCreate:
|
||||
return LifecycleCapabilityInstall
|
||||
case ServerLifecycleActionStart:
|
||||
return LifecycleCapabilityStart
|
||||
case ServerLifecycleActionStop:
|
||||
return LifecycleCapabilityStop
|
||||
default:
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
func CopyServerLifecycleCreate(create ServerLifecycleCreate) ServerLifecycleCreate {
|
||||
return create
|
||||
}
|
||||
|
||||
func CopyServerLifecycleCommand(command ServerLifecycleCommand) ServerLifecycleCommand {
|
||||
return command
|
||||
}
|
||||
|
||||
func CopyServerLifecycleResult(result ServerLifecycleResult) ServerLifecycleResult {
|
||||
result.Instance = CopyServerInstance(result.Instance)
|
||||
result.Job = CopyJob(result.Job)
|
||||
return result
|
||||
}
|
||||
Reference in New Issue
Block a user