public static void HandleConfigApplication(YamlMappingNode yamlMappingNode, ConfigApplication app) { foreach (var child in yamlMappingNode.Children) { var key = YamlParser.GetScalarValue(child.Key); switch (key) { case "name": app.Name = YamlParser.GetScalarValue(key, child.Value); break; case "namespace": app.Namespace = YamlParser.GetScalarValue(key, child.Value); break; case "network": app.Network = YamlParser.GetScalarValue(key, child.Value); break; case "registry": app.Registry = YamlParser.GetScalarValue(key, child.Value); break; case "containerEngine": string engine = YamlParser.GetScalarValue(key, child.Value); if (engine.Equals("docker", StringComparison.InvariantCultureIgnoreCase)) { app.ContainerEngineType = ContainerEngineType.Docker; } else if (engine.Equals("podman", StringComparison.InvariantCultureIgnoreCase)) { app.ContainerEngineType = ContainerEngineType.Podman; } else { throw new TyeYamlException($"Unknown container engine: \"{engine}\""); } break; case "ingress": YamlParser.ThrowIfNotYamlSequence(key, child.Value); ConfigIngressParser.HandleIngress((child.Value as YamlSequenceNode) !, app.Ingress); break; case "services": YamlParser.ThrowIfNotYamlSequence(key, child.Value); ConfigServiceParser.HandleServiceMapping((child.Value as YamlSequenceNode) !, app.Services, app); break; case "extensions": YamlParser.ThrowIfNotYamlSequence(key, child.Value); ConfigExtensionsParser.HandleExtensionsMapping((child.Value as YamlSequenceNode) !, app.Extensions); break; default: throw new TyeYamlException(child.Key.Start, CoreStrings.FormatUnrecognizedKey(key)); } } }
public static void HandleConfigApplication(YamlMappingNode yamlMappingNode, ConfigApplication app) { foreach (var child in yamlMappingNode.Children) { var key = YamlParser.GetScalarValue(child.Key); switch (key) { case "name": app.Name = YamlParser.GetScalarValue(key, child.Value); break; case "namespace": app.Namespace = YamlParser.GetScalarValue(key, child.Value); break; case "network": app.Network = YamlParser.GetScalarValue(key, child.Value); break; case "registry": app.Registry = YamlParser.GetScalarValue(key, child.Value); break; case "ingress": YamlParser.ThrowIfNotYamlSequence(key, child.Value); ConfigIngressParser.HandleIngress((child.Value as YamlSequenceNode) !, app.Ingress); break; case "services": YamlParser.ThrowIfNotYamlSequence(key, child.Value); ConfigServiceParser.HandleServiceMapping((child.Value as YamlSequenceNode) !, app.Services, app); break; case "extensions": YamlParser.ThrowIfNotYamlSequence(key, child.Value); ConfigExtensionsParser.HandleExtensionsMapping((child.Value as YamlSequenceNode) !, app.Extensions); break; default: throw new TyeYamlException(child.Key.Start, CoreStrings.FormatUnrecognizedKey(key)); } } }