diff --git a/examples/clientset/Program.cs b/examples/clientset/Program.cs index 9c2cac461..45e7a424e 100644 --- a/examples/clientset/Program.cs +++ b/examples/clientset/Program.cs @@ -1,6 +1,7 @@ -// See https://aka.ms/new-console-template for more information +// See https://aka.ms/new-console-template for more information using k8s; using k8s.ClientSets; +using k8s.Models; using System.Threading.Tasks; namespace clientset diff --git a/src/KubernetesClient.Aot/KubernetesClient.Aot.csproj b/src/KubernetesClient.Aot/KubernetesClient.Aot.csproj index ced074146..3ede68c48 100644 --- a/src/KubernetesClient.Aot/KubernetesClient.Aot.csproj +++ b/src/KubernetesClient.Aot/KubernetesClient.Aot.csproj @@ -20,14 +20,14 @@ - + - + - - + + diff --git a/src/KubernetesClient.Classic/KubernetesClient.Classic.csproj b/src/KubernetesClient.Classic/KubernetesClient.Classic.csproj index 254e745f3..1fad632d2 100644 --- a/src/KubernetesClient.Classic/KubernetesClient.Classic.csproj +++ b/src/KubernetesClient.Classic/KubernetesClient.Classic.csproj @@ -22,14 +22,14 @@ - + - + - - + + diff --git a/src/KubernetesClient/IItems.cs b/src/KubernetesClient/IItems.cs deleted file mode 100644 index 4f23d9388..000000000 --- a/src/KubernetesClient/IItems.cs +++ /dev/null @@ -1,28 +0,0 @@ -namespace k8s -{ - /// - /// Kubernetes object that exposes list of objects - /// - /// type of the objects - public interface IItems - { - /// - /// Gets or sets list of objects. More info: - /// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md - /// - IList Items { get; set; } - } - - public static class ItemsExt - { - public static IEnumerator GetEnumerator(this IItems items) - { - if (items is null) - { - throw new ArgumentNullException(nameof(items)); - } - - return items.Items.GetEnumerator(); - } - } -} diff --git a/src/KubernetesClient/IMetadata.cs b/src/KubernetesClient/IMetadata.cs deleted file mode 100644 index edf540184..000000000 --- a/src/KubernetesClient/IMetadata.cs +++ /dev/null @@ -1,16 +0,0 @@ -namespace k8s -{ - /// - /// Kubernetes object that exposes metadata - /// - /// Type of metadata exposed. Usually this will be either - /// for lists or for objects - public interface IMetadata - { - /// - /// Gets or sets standard object's metadata. More info: - /// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - /// - T Metadata { get; set; } - } -} diff --git a/src/KubernetesClient/ISpec.cs b/src/KubernetesClient/ISpec.cs deleted file mode 100644 index d286b7cca..000000000 --- a/src/KubernetesClient/ISpec.cs +++ /dev/null @@ -1,16 +0,0 @@ -namespace k8s -{ - /// - /// Represents a Kubernetes object that has a spec - /// - /// type of Kubernetes object - public interface ISpec - { - /// - /// Gets or sets specification of the desired behavior of the entity. More - /// info: - /// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status - /// - T Spec { get; set; } - } -} diff --git a/src/KubernetesClient/Models/IItems.cs b/src/KubernetesClient/Models/IItems.cs new file mode 100644 index 000000000..b82c4c3de --- /dev/null +++ b/src/KubernetesClient/Models/IItems.cs @@ -0,0 +1,27 @@ +namespace k8s.Models; + +/// +/// Kubernetes object that exposes list of objects +/// +/// type of the objects +public interface IItems +{ + /// + /// Gets or sets list of objects. More info: + /// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md + /// + IList Items { get; set; } +} + +public static class ItemsExt +{ + public static IEnumerator GetEnumerator(this IItems items) + { + if (items is null) + { + throw new ArgumentNullException(nameof(items)); + } + + return items.Items.GetEnumerator(); + } +} diff --git a/src/KubernetesClient/Models/IMetadata.cs b/src/KubernetesClient/Models/IMetadata.cs new file mode 100644 index 000000000..4fa7f3292 --- /dev/null +++ b/src/KubernetesClient/Models/IMetadata.cs @@ -0,0 +1,15 @@ +namespace k8s.Models; + +/// +/// Kubernetes object that exposes metadata +/// +/// Type of metadata exposed. Usually this will be either +/// for lists or for objects +public interface IMetadata +{ + /// + /// Gets or sets standard object's metadata. More info: + /// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + /// + T Metadata { get; set; } +} diff --git a/src/KubernetesClient/Models/ISpec.cs b/src/KubernetesClient/Models/ISpec.cs new file mode 100644 index 000000000..d05d62fab --- /dev/null +++ b/src/KubernetesClient/Models/ISpec.cs @@ -0,0 +1,15 @@ +namespace k8s.Models; + +/// +/// Represents a Kubernetes object that has a spec +/// +/// type of Kubernetes object +public interface ISpec +{ + /// + /// Gets or sets specification of the desired behavior of the entity. More + /// info: + /// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + /// + T Spec { get; set; } +} diff --git a/src/KubernetesClient/IStatus.cs b/src/KubernetesClient/Models/IStatus.cs similarity index 96% rename from src/KubernetesClient/IStatus.cs rename to src/KubernetesClient/Models/IStatus.cs index e60f59fec..75d796666 100644 --- a/src/KubernetesClient/IStatus.cs +++ b/src/KubernetesClient/Models/IStatus.cs @@ -1,4 +1,4 @@ -namespace k8s +namespace k8s.Models { /// /// Kubernetes object that exposes status