Skip to content

Commit 52fb57d

Browse files
committed
NamespacedAPI list accepts all filters available
1 parent 39726f6 commit 52fb57d

File tree

6 files changed

+56
-8
lines changed

6 files changed

+56
-8
lines changed

build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import dev.hnaderi.k8s.generator.KubernetesJsonPointerGeneratorPlugin
22
import dev.hnaderi.k8s.generator.KubernetesScalacheckGeneratorPlugin
33
import sbtcrossproject.CrossProject
44

5-
ThisBuild / tlBaseVersion := "0.24"
5+
ThisBuild / tlBaseVersion := "0.25"
66

77
ThisBuild / organization := "dev.hnaderi"
88
ThisBuild / organizationName := "Hossein Naderi"

examples/cross-platform/src/main/scala/EmberExample.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,12 @@ object EmberExample extends IOApp {
3232
private val client = EmberKubernetesClient[IO].defaultConfig[Json]
3333

3434
def operations(cl: HttpClient[IO]) = for {
35-
_ <- APIs.namespace("default").configmaps.list.send(cl).flatMap(IO.println)
35+
_ <- APIs
36+
.namespace("default")
37+
.configmaps
38+
.list()
39+
.send(cl)
40+
.flatMap(IO.println)
3641
name <- UUIDGen[IO].randomUUID.map(_.toString)
3742
_ <- APIs
3843
.namespace("default")

examples/jvm/src/main/scala/Http4sExample.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,12 @@ object Http4sExample extends IOApp {
5757
)
5858

5959
def operations(cl: HttpClient[IO]) = for {
60-
_ <- APIs.namespace("default").configmaps.list.send(cl).flatMap(IO.println)
60+
_ <- APIs
61+
.namespace("default")
62+
.configmaps
63+
.list()
64+
.send(cl)
65+
.flatMap(IO.println)
6166
_ <- APIs
6267
.namespace("default")
6368
.configmaps

examples/jvm/src/main/scala/SttpMain.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@ import dev.hnaderi.k8s.client.SttpJdkURLClientBuilder
2424
object SttpMain extends App {
2525
val client = SttpJdkURLClientBuilder.defaultConfig
2626

27-
val response = APIs.namespace("default").configmaps.list.send(client)
27+
val response = APIs.namespace("default").configmaps.list().send(client)
2828
response.body.items.flatMap(_.metadata).flatMap(_.name).foreach(println)
2929
}

examples/jvm/src/main/scala/ZIOExample.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ object ZIOExample extends ZIOAppDefault {
2727

2828
private val app =
2929
for {
30-
n <- ZIOKubernetesClient.send(APIs.namespace("default").pods.list)
30+
n <- ZIOKubernetesClient.send(APIs.namespace("default").pods.list())
3131
names = n.items.map(_.metadata.flatMap(_.name))
3232
_ <- ZIO.foreach(names)(Console.printLine(_))
3333
} yield ()

modules/client/src/main/scala/apis/NamespacedAPI.scala

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,27 @@ abstract class APIGroupAPI(base: String) {
8989
protected def baseUrlIn(namespace: String) =
9090
s"$base/namespaces/${namespace}/$resourceName"
9191

92-
case class ListInNamespace(namespace: String)
93-
extends ListingRequest[RES, COL](baseUrlIn(namespace))
92+
case class ListInNamespace(
93+
namespace: String,
94+
allowWatchBookmarks: Option[Boolean] = None,
95+
continue: Option[String] = None,
96+
fieldSelector: List[String] = Nil,
97+
labelSelector: List[String] = Nil,
98+
limit: Option[Int] = None,
99+
resourceVersion: Option[String] = None,
100+
resourceVersionMatch: Option[String] = None,
101+
timeout: Option[FiniteDuration] = None
102+
) extends ListingRequest[RES, COL](
103+
baseUrlIn(namespace),
104+
allowWatchBookmarks = allowWatchBookmarks,
105+
continue = continue,
106+
fieldSelector = fieldSelector,
107+
labelSelector = labelSelector,
108+
limit = limit,
109+
resourceVersion = resourceVersion,
110+
resourceVersionMatch = resourceVersionMatch,
111+
timeout = timeout
112+
)
94113
case class Create(
95114
namespace: String,
96115
configmap: RES,
@@ -200,7 +219,26 @@ abstract class APIGroupAPI(base: String) {
200219

201220
trait NamespacedAPIBuilders extends NamespacedAPI {
202221
def get(name: String): Get = Get(namespace, name)
203-
val list: ListInNamespace = ListInNamespace(namespace)
222+
def list(
223+
allowWatchBookmarks: Option[Boolean] = None,
224+
continue: Option[String] = None,
225+
fieldSelector: List[String] = Nil,
226+
labelSelector: List[String] = Nil,
227+
limit: Option[Int] = None,
228+
resourceVersion: Option[String] = None,
229+
resourceVersionMatch: Option[String] = None,
230+
timeout: Option[FiniteDuration] = None
231+
): ListInNamespace = ListInNamespace(
232+
namespace,
233+
allowWatchBookmarks = allowWatchBookmarks,
234+
continue = continue,
235+
fieldSelector = fieldSelector,
236+
labelSelector = labelSelector,
237+
limit = limit,
238+
resourceVersion = resourceVersion,
239+
resourceVersionMatch = resourceVersionMatch,
240+
timeout = timeout
241+
)
204242
def delete(
205243
name: String,
206244
options: Option[DeleteOptions] = None,

0 commit comments

Comments
 (0)