Make generated run lifecycle autonomous
This commit is contained in:
+144
-19
@@ -109,25 +109,119 @@ type DistributionBuildInputRequest struct {
|
||||
}
|
||||
|
||||
type DistributionBuildInput struct {
|
||||
JobID string
|
||||
ComponentKind DistributionComponentKind
|
||||
ServerInstanceID string
|
||||
PluginID string
|
||||
RunEndpointID string
|
||||
ProfileKey string
|
||||
TargetOS string
|
||||
TargetArch string
|
||||
TargetRelease string
|
||||
PlatformURL string
|
||||
PackageFormat string
|
||||
RepositoryURL string
|
||||
SourceRevision string
|
||||
ArtifactID string
|
||||
OutputFilename string
|
||||
SecretRef string
|
||||
KeyGeneration int
|
||||
AuthKey string
|
||||
WorkspaceSeed string
|
||||
JobID string
|
||||
ComponentKind DistributionComponentKind
|
||||
ServerInstanceID string
|
||||
PluginID string
|
||||
RunEndpointID string
|
||||
ProfileKey string
|
||||
TargetOS string
|
||||
TargetArch string
|
||||
TargetRelease string
|
||||
PlatformURL string
|
||||
PackageFormat string
|
||||
RepositoryURL string
|
||||
SourceRevision string
|
||||
ArtifactID string
|
||||
OutputFilename string
|
||||
SecretRef string
|
||||
KeyGeneration int
|
||||
AuthKey string
|
||||
WorkspaceSeed string
|
||||
AutonomousLifecycle *RunAutonomousLifecyclePlan
|
||||
}
|
||||
|
||||
type RunAutonomousLifecyclePlan struct {
|
||||
SchemaVersion string `json:"schemaVersion"`
|
||||
ServerInstanceID string `json:"serverInstanceId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
PluginVersion string `json:"pluginVersion"`
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
ProfileKey string `json:"profileKey,omitempty"`
|
||||
TargetOS string `json:"targetOs"`
|
||||
TargetArch string `json:"targetArch"`
|
||||
TargetRelease string `json:"targetRelease"`
|
||||
DeploymentRevision int `json:"deploymentRevision,omitempty"`
|
||||
Bootstrap *RunAutonomousLifecycleAction `json:"bootstrap,omitempty"`
|
||||
Actions []RunAutonomousLifecycleAction `json:"actions,omitempty"`
|
||||
DependencyProbes []RunAutonomousDependencyProbe `json:"dependencyProbes,omitempty"`
|
||||
InstallPlans []RunAutonomousInstallPlan `json:"installPlans,omitempty"`
|
||||
LogSources []RunAutonomousLogSource `json:"logSources,omitempty"`
|
||||
DLLExtensions []RunAutonomousDLLExtension `json:"dllExtensions,omitempty"`
|
||||
RuntimeBindings map[string]string `json:"runtimeBindings,omitempty"`
|
||||
Deployment *RunAutonomousDeployment `json:"deployment,omitempty"`
|
||||
}
|
||||
|
||||
type RunAutonomousLifecycleAction struct {
|
||||
Action ServerLifecycleAction `json:"action"`
|
||||
Operation string `json:"operation"`
|
||||
Capability string `json:"capability"`
|
||||
TargetKey string `json:"targetKey"`
|
||||
}
|
||||
|
||||
type RunAutonomousDependencyProbe struct {
|
||||
Key string `json:"key"`
|
||||
Kind string `json:"kind"`
|
||||
TargetKey string `json:"targetKey"`
|
||||
Required bool `json:"required,omitempty"`
|
||||
MinimumVersion string `json:"minimumVersion,omitempty"`
|
||||
Platforms []string `json:"platforms,omitempty"`
|
||||
}
|
||||
|
||||
type RunAutonomousInstallPlan struct {
|
||||
Key string `json:"key"`
|
||||
Title string `json:"title,omitempty"`
|
||||
Platforms []string `json:"platforms,omitempty"`
|
||||
Steps []RunAutonomousInstallStep `json:"steps,omitempty"`
|
||||
}
|
||||
|
||||
type RunAutonomousInstallStep struct {
|
||||
Type string `json:"type"`
|
||||
TargetKey string `json:"targetKey"`
|
||||
PackageManager string `json:"packageManager,omitempty"`
|
||||
PackageName string `json:"packageName,omitempty"`
|
||||
Version string `json:"version,omitempty"`
|
||||
DownloadRef string `json:"downloadRef,omitempty"`
|
||||
Checksum string `json:"checksum,omitempty"`
|
||||
}
|
||||
|
||||
type RunAutonomousLogSource struct {
|
||||
Key string `json:"key"`
|
||||
Kind string `json:"kind"`
|
||||
TargetKey string `json:"targetKey"`
|
||||
StreamKey string `json:"streamKey,omitempty"`
|
||||
CursorKind string `json:"cursorKind,omitempty"`
|
||||
RetentionDays int `json:"retentionDays,omitempty"`
|
||||
}
|
||||
|
||||
type RunAutonomousDLLExtension struct {
|
||||
Key string `json:"key"`
|
||||
Version string `json:"version"`
|
||||
ReleaseURL string `json:"releaseUrl"`
|
||||
Checksum string `json:"checksum"`
|
||||
SizeBytes int64 `json:"sizeBytes,omitempty"`
|
||||
TargetKey string `json:"targetKey"`
|
||||
ModKey string `json:"modKey"`
|
||||
DLLRef string `json:"dllRef"`
|
||||
SCUMExecutableChecksum string `json:"scumExecutableChecksum,omitempty"`
|
||||
UE4SSABI string `json:"ue4ssAbi,omitempty"`
|
||||
RCONPort int `json:"rconPort,omitempty"`
|
||||
}
|
||||
|
||||
type RunAutonomousDeployment struct {
|
||||
SchemaVersion string `json:"schemaVersion"`
|
||||
Mode ServerDeploymentMode `json:"mode"`
|
||||
ProfileKey string `json:"profileKey,omitempty"`
|
||||
RuntimeBindings map[string]string `json:"runtimeBindings,omitempty"`
|
||||
CreateInputs map[string]string `json:"createInputs,omitempty"`
|
||||
ServerRoot string `json:"serverRoot,omitempty"`
|
||||
WorkingDirectory string `json:"workingDirectory,omitempty"`
|
||||
InstallCommand string `json:"installCommand,omitempty"`
|
||||
StartCommand string `json:"startCommand,omitempty"`
|
||||
StopCommand string `json:"stopCommand,omitempty"`
|
||||
StatusCommand string `json:"statusCommand,omitempty"`
|
||||
Shell ServerCommandShell `json:"shell,omitempty"`
|
||||
Revision int `json:"revision,omitempty"`
|
||||
}
|
||||
|
||||
type DependencyExecutionInputRequest struct {
|
||||
@@ -381,6 +475,37 @@ func CopyDependencyExecutionInput(input DependencyExecutionInput) DependencyExec
|
||||
return input
|
||||
}
|
||||
|
||||
func CopyRunAutonomousLifecyclePlanPtr(plan *RunAutonomousLifecyclePlan) *RunAutonomousLifecyclePlan {
|
||||
if plan == nil {
|
||||
return nil
|
||||
}
|
||||
copy := *plan
|
||||
if plan.Bootstrap != nil {
|
||||
bootstrap := *plan.Bootstrap
|
||||
copy.Bootstrap = &bootstrap
|
||||
}
|
||||
copy.Actions = append([]RunAutonomousLifecycleAction(nil), plan.Actions...)
|
||||
copy.DependencyProbes = append([]RunAutonomousDependencyProbe(nil), plan.DependencyProbes...)
|
||||
for i := range copy.DependencyProbes {
|
||||
copy.DependencyProbes[i].Platforms = CopyStringSlice(plan.DependencyProbes[i].Platforms)
|
||||
}
|
||||
copy.InstallPlans = append([]RunAutonomousInstallPlan(nil), plan.InstallPlans...)
|
||||
for i := range copy.InstallPlans {
|
||||
copy.InstallPlans[i].Platforms = CopyStringSlice(plan.InstallPlans[i].Platforms)
|
||||
copy.InstallPlans[i].Steps = append([]RunAutonomousInstallStep(nil), plan.InstallPlans[i].Steps...)
|
||||
}
|
||||
copy.LogSources = append([]RunAutonomousLogSource(nil), plan.LogSources...)
|
||||
copy.DLLExtensions = append([]RunAutonomousDLLExtension(nil), plan.DLLExtensions...)
|
||||
copy.RuntimeBindings = CopyStringMap(plan.RuntimeBindings)
|
||||
if plan.Deployment != nil {
|
||||
deployment := *plan.Deployment
|
||||
deployment.RuntimeBindings = CopyStringMap(plan.Deployment.RuntimeBindings)
|
||||
deployment.CreateInputs = CopyStringMap(plan.Deployment.CreateInputs)
|
||||
copy.Deployment = &deployment
|
||||
}
|
||||
return ©
|
||||
}
|
||||
|
||||
func CopySourceRCONExecutionInput(input SourceRCONExecutionInput) SourceRCONExecutionInput {
|
||||
return input
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user