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