diff --git a/src/KubernetesClient.Models/KubernetesYaml.cs b/src/KubernetesClient.Models/KubernetesYaml.cs index c677bcb..2029b56 100644 --- a/src/KubernetesClient.Models/KubernetesYaml.cs +++ b/src/KubernetesClient.Models/KubernetesYaml.cs @@ -157,8 +157,8 @@ namespace k8s parser.Consume(); while (parser.Accept(out _)) { - var obj = GetDeserializer(strict).Deserialize(parser); - types.Add(mergedTypeMap[obj.ApiVersion + "/" + obj.Kind]); + var dict = GetDeserializer(strict).Deserialize>(parser); + types.Add(mergedTypeMap[dict["apiVersion"] + "/" + dict["kind"]]); } parser = new Parser(new StringReader(content)); diff --git a/tests/KubernetesClient.Tests/KubernetesYamlTests.cs b/tests/KubernetesClient.Tests/KubernetesYamlTests.cs index 43bffa8..e12acd7 100644 --- a/tests/KubernetesClient.Tests/KubernetesYamlTests.cs +++ b/tests/KubernetesClient.Tests/KubernetesYamlTests.cs @@ -275,7 +275,7 @@ spec: readOnly: false "; - var obj = KubernetesYaml.Deserialize(content); + var obj = KubernetesYaml.Deserialize(content, true); Assert.True(obj.Spec.Containers[0].VolumeMounts[0].ReadOnlyProperty); Assert.False(obj.Spec.Containers[0].VolumeMounts[1].ReadOnlyProperty); @@ -476,7 +476,7 @@ spec: - -cpus - ""2"""; - var obj = KubernetesYaml.Deserialize(content); + var obj = KubernetesYaml.Deserialize(content, true); Assert.NotNull(obj?.Spec?.Containers); var container = Assert.Single(obj.Spec.Containers); @@ -811,7 +811,7 @@ data: password: Mzk1MjgkdmRnN0pi "; - var result = KubernetesYaml.Deserialize(kManifest); + var result = KubernetesYaml.Deserialize(kManifest, true); Assert.Equal("bXktYXBw", Encoding.UTF8.GetString(result.Data["username"])); Assert.Equal("Mzk1MjgkdmRnN0pi", Encoding.UTF8.GetString(result.Data["password"])); } @@ -890,7 +890,7 @@ spec: var objs = KubernetesYaml.LoadAllFromString(content, new Dictionary { { $"{V1AlphaFoo.KubeGroup}/{V1AlphaFoo.KubeApiVersion}/Foo", typeof(V1AlphaFoo) }, - }); + }, true); Assert.Single(objs); var v1AlphaFoo = Assert.IsType(objs[0]); Assert.Equal("foo", v1AlphaFoo.Metadata.Name);