Skip to content
This repository was archived by the owner on Jan 23, 2026. It is now read-only.

Commit 786e281

Browse files
committed
Handle dumping names in lists
1 parent 1d63d25 commit 786e281

2 files changed

Lines changed: 7 additions & 15 deletions

File tree

  • packages
    • jumpstarter-cli-admin/jumpstarter_cli_admin
    • jumpstarter-kubernetes/jumpstarter_kubernetes

packages/jumpstarter-cli-admin/jumpstarter_cli_admin/print.py

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,8 @@ def print_client(client: V1Alpha1Client, output: OutputType):
3333

3434
def print_clients(clients: V1Alpha1List[V1Alpha1Client], namespace: str, output: OutputType):
3535
match output:
36-
case OutputMode.JSON | OutputMode.YAML:
36+
case OutputMode.JSON | OutputMode.YAML | OutputMode.NAME:
3737
click.echo(clients.dump(output))
38-
case OutputMode.NAME:
39-
for item in clients.items:
40-
click.echo(f"client.jumpstarter.dev/{item.metadata.name}")
4138
case _:
4239
if len(clients.items) == 0:
4340
raise click.ClickException(f'No resources found in "{namespace}" namespace')
@@ -94,11 +91,8 @@ def print_exporter(exporter: V1Alpha1Exporter, devices: bool, output: OutputType
9491

9592
def print_exporters(exporters: V1Alpha1List[V1Alpha1Exporter], namespace: str, devices: bool, output: OutputType):
9693
match output:
97-
case OutputMode.JSON | OutputMode.YAML:
94+
case OutputMode.JSON | OutputMode.YAML | OutputMode.NAME:
9895
click.echo(exporters.dump(output))
99-
case OutputMode.NAME:
100-
for item in exporters.items:
101-
click.echo(f"exporter.jumpstarter.dev/{item.metadata.name}")
10296
case _:
10397
if len(exporters.items) == 0:
10498
raise click.ClickException(f'No resources found in "{namespace}" namespace')
@@ -149,21 +143,16 @@ def make_lease_row(lease: V1Alpha1Lease):
149143

150144
def print_lease(lease: V1Alpha1Lease, output: OutputType):
151145
match output:
152-
case OutputMode.JSON | OutputMode.YAML:
146+
case OutputMode.JSON | OutputMode.YAML | OutputMode.NAME:
153147
click.echo(lease.dump(output))
154-
case OutputMode.NAME:
155-
click.echo(f"lease.jumpstarter.dev/{lease.metadata.name}")
156148
case _:
157149
click.echo(make_table(LEASE_COLUMNS, [make_lease_row(lease)]))
158150

159151

160152
def print_leases(leases: V1Alpha1List[V1Alpha1Lease], namespace: str, output: OutputType):
161153
match output:
162-
case OutputMode.JSON | OutputMode.YAML:
154+
case OutputMode.JSON | OutputMode.YAML | OutputMode.NAME:
163155
click.echo(leases.dump(output))
164-
case OutputMode.NAME:
165-
for item in leases.items:
166-
click.echo(f"lease.jumpstarter.dev/{item.metadata.name}")
167156
case _:
168157
if len(leases.items) == 0:
169158
raise click.ClickException(f'No resources found in "{namespace}" namespace')

packages/jumpstarter-kubernetes/jumpstarter_kubernetes/list.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@ class V1Alpha1List(JsonBaseModel, Generic[T]):
1313
api_version: Literal["jumpstarter.dev/v1alpha1"] = Field(alias="apiVersion", default="jumpstarter.dev/v1alpha1")
1414
items: list[T]
1515
kind: Literal["List"] = Field(default="List")
16+
17+
def dump_name(self):
18+
return "\n".join(item.dump_name() for item in self.items)

0 commit comments

Comments
 (0)