92 lines
2.7 KiB
C#
92 lines
2.7 KiB
C#
using VYaml.Annotations;
|
|
|
|
namespace MoonlightServers.Api.Admin.Templates;
|
|
|
|
[YamlObject]
|
|
public partial class TemplateTransferModel
|
|
{
|
|
public string Name { get; set; } = "";
|
|
public string Description { get; set; } = "";
|
|
public string Author { get; set; } = "";
|
|
public string Version { get; set; } = "";
|
|
public string? UpdateUrl { get; set; }
|
|
public string? DonateUrl { get; set; }
|
|
|
|
public FilesConfigTransferModel Files { get; set; } = new();
|
|
public LifecycleConfigTransferModel Lifecycle { get; set; } = new();
|
|
public InstallationConfigTransferModel Installation { get; set; } = new();
|
|
public MiscellaneousConfigTransferModel Miscellaneous { get; set; } = new();
|
|
|
|
public bool AllowUserDockerImageChange { get; set; }
|
|
public List<TemplateDockerImageTransferModel> DockerImages { get; set; } = new();
|
|
|
|
public List<TemplateVariableTransferModel> Variables { get; set; } = new();
|
|
}
|
|
|
|
[YamlObject]
|
|
public partial class TemplateDockerImageTransferModel
|
|
{
|
|
public string DisplayName { get; set; } = "";
|
|
public string ImageName { get; set; } = "";
|
|
public bool SkipPulling { get; set; }
|
|
public bool IsDefault { get; set; }
|
|
}
|
|
|
|
[YamlObject]
|
|
public partial class TemplateVariableTransferModel
|
|
{
|
|
public string DisplayName { get; set; } = "";
|
|
public string Description { get; set; } = "";
|
|
public string EnvName { get; set; } = "";
|
|
public string? DefaultValue { get; set; }
|
|
}
|
|
|
|
[YamlObject]
|
|
public partial class FilesConfigTransferModel
|
|
{
|
|
public List<ConfigurationFileTransferModel> ConfigurationFiles { get; set; } = new();
|
|
}
|
|
|
|
[YamlObject]
|
|
public partial class ConfigurationFileTransferModel
|
|
{
|
|
public string Path { get; set; } = "";
|
|
public string Parser { get; set; } = "";
|
|
public List<ConfigurationFileMappingTransferModel> Mappings { get; set; } = new();
|
|
}
|
|
|
|
[YamlObject]
|
|
public partial class ConfigurationFileMappingTransferModel
|
|
{
|
|
public string Key { get; set; } = "";
|
|
public string? Value { get; set; }
|
|
}
|
|
|
|
[YamlObject]
|
|
public partial class LifecycleConfigTransferModel
|
|
{
|
|
public List<StartupCommandTransferModel> StartupCommands { get; set; } = new();
|
|
public string StopCommand { get; set; } = "";
|
|
public List<string> OnlineLogPatterns { get; set; } = new();
|
|
}
|
|
|
|
[YamlObject]
|
|
public partial class StartupCommandTransferModel
|
|
{
|
|
public string DisplayName { get; set; } = "";
|
|
public string Command { get; set; } = "";
|
|
}
|
|
|
|
[YamlObject]
|
|
public partial class InstallationConfigTransferModel
|
|
{
|
|
public string DockerImage { get; set; } = "";
|
|
public string Shell { get; set; } = "";
|
|
public string Script { get; set; } = "";
|
|
}
|
|
|
|
[YamlObject]
|
|
public partial class MiscellaneousConfigTransferModel
|
|
{
|
|
public bool UseLegacyStartup { get; set; }
|
|
} |