diff --git a/src/KubernetesClient.Models/ResourceQuantityJsonConverter.cs b/src/KubernetesClient.Models/ResourceQuantityJsonConverter.cs new file mode 100644 index 000000000..c1402bdcb --- /dev/null +++ b/src/KubernetesClient.Models/ResourceQuantityJsonConverter.cs @@ -0,0 +1,20 @@ +namespace k8s.Models +{ + public sealed class ResourceQuantityJsonConverter : JsonConverter + { + public override ResourceQuantity Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + return new ResourceQuantity(reader.GetString()); + } + + public override void Write(Utf8JsonWriter writer, ResourceQuantity value, JsonSerializerOptions options) + { + if (writer == null) + { + throw new ArgumentNullException(nameof(writer)); + } + + writer.WriteStringValue(value?.ToString()); + } + } +} diff --git a/src/KubernetesClient/KubernetesJson.cs b/src/KubernetesClient/KubernetesJson.cs index d0d4e9d13..192cdbd48 100644 --- a/src/KubernetesClient/KubernetesJson.cs +++ b/src/KubernetesClient/KubernetesJson.cs @@ -8,7 +8,7 @@ public static class KubernetesJson { private static readonly JsonSerializerOptions JsonSerializerOptions = new JsonSerializerOptions(); - private sealed class Iso8601TimeSpanConverter : JsonConverter + public sealed class Iso8601TimeSpanConverter : JsonConverter { public override TimeSpan Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { @@ -23,7 +23,7 @@ public override void Write(Utf8JsonWriter writer, TimeSpan value, JsonSerializer } } - private sealed class KubernetesDateTimeOffsetConverter : JsonConverter + public sealed class KubernetesDateTimeOffsetConverter : JsonConverter { private const string RFC3339MicroFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.ffffffK"; private const string RFC3339NanoFormat = "yyyy-MM-dd'T'HH':'mm':'ss.fffffffK"; @@ -55,7 +55,7 @@ public override void Write(Utf8JsonWriter writer, DateTimeOffset value, JsonSeri } } - private sealed class KubernetesDateTimeConverter : JsonConverter + public sealed class KubernetesDateTimeConverter : JsonConverter { private static readonly JsonConverter UtcConverter = new KubernetesDateTimeOffsetConverter(); public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) diff --git a/src/KubernetesClient/Models/IntOrStringJsonConverter.cs b/src/KubernetesClient/Models/IntOrStringJsonConverter.cs index 9b665a30c..a8913df79 100644 --- a/src/KubernetesClient/Models/IntOrStringJsonConverter.cs +++ b/src/KubernetesClient/Models/IntOrStringJsonConverter.cs @@ -1,6 +1,6 @@ namespace k8s.Models { - internal sealed class IntOrStringJsonConverter : JsonConverter + public sealed class IntOrStringJsonConverter : JsonConverter { public override IntstrIntOrString Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { diff --git a/src/KubernetesClient/Models/V1PatchJsonConverter.cs b/src/KubernetesClient/Models/V1PatchJsonConverter.cs index a8db06961..4108dd646 100644 --- a/src/KubernetesClient/Models/V1PatchJsonConverter.cs +++ b/src/KubernetesClient/Models/V1PatchJsonConverter.cs @@ -1,6 +1,6 @@ namespace k8s.Models { - internal sealed class V1PatchJsonConverter : JsonConverter + public sealed class V1PatchJsonConverter : JsonConverter { public override V1Patch Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { diff --git a/src/KubernetesClient/Models/V1Status.ObjectView.cs b/src/KubernetesClient/Models/V1Status.ObjectView.cs index 6f5a1ae85..805e095e0 100644 --- a/src/KubernetesClient/Models/V1Status.ObjectView.cs +++ b/src/KubernetesClient/Models/V1Status.ObjectView.cs @@ -2,7 +2,7 @@ namespace k8s.Models { public partial class V1Status { - internal sealed class V1StatusObjectViewConverter : JsonConverter + public sealed class V1StatusObjectViewConverter : JsonConverter { public override V1Status Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) {