Beispiel #1
0
        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));
                }
            }
        }