lightning-sdk 2025.9.23__py3-none-any.whl → 2025.9.30__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lightning_sdk/__init__.py +3 -2
- lightning_sdk/cli/entrypoint.py +3 -1
- lightning_sdk/cli/groups.py +8 -1
- lightning_sdk/cli/legacy/download.py +3 -4
- lightning_sdk/cli/legacy/entrypoint.py +1 -1
- lightning_sdk/cli/legacy/upload.py +2 -3
- lightning_sdk/cli/studio/__init__.py +2 -0
- lightning_sdk/cli/studio/connect.py +94 -0
- lightning_sdk/cli/studio/create.py +19 -5
- lightning_sdk/cli/studio/delete.py +9 -5
- lightning_sdk/cli/studio/list.py +5 -1
- lightning_sdk/cli/studio/ssh.py +12 -54
- lightning_sdk/cli/studio/start.py +26 -3
- lightning_sdk/cli/studio/stop.py +7 -3
- lightning_sdk/cli/studio/switch.py +21 -5
- lightning_sdk/cli/utils/ssh_connection.py +51 -0
- lightning_sdk/cli/utils/studio_selection.py +22 -15
- lightning_sdk/cli/vm/__init__.py +20 -0
- lightning_sdk/cli/vm/create.py +33 -0
- lightning_sdk/cli/vm/delete.py +25 -0
- lightning_sdk/cli/vm/list.py +30 -0
- lightning_sdk/cli/vm/ssh.py +31 -0
- lightning_sdk/cli/vm/start.py +60 -0
- lightning_sdk/cli/vm/stop.py +25 -0
- lightning_sdk/cli/vm/switch.py +38 -0
- lightning_sdk/lightning_cloud/openapi/__init__.py +20 -1
- lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +2 -95
- lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +24 -8
- lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +420 -0
- lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +121 -0
- lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +655 -0
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +20 -1
- lightning_sdk/lightning_cloud/openapi/models/create_machine_request_represents_the_request_to_create_a_machine.py +435 -0
- lightning_sdk/lightning_cloud/openapi/models/job_id_reportroutingtelemetry_body.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/project_id_storagetransfers_body.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/user_id_affiliatelinks_body.py +107 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_abort_storage_transfer_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_assistant_session_daily_aggregated.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_create_machine_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_create_project_request.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_delete_machine_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_get_machine_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_lightning_elastic_cluster_v1.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{v1_get_model_total_usage_metrics_response.py → v1_list_machines_response.py} +37 -37
- lightning_sdk/lightning_cloud/openapi/models/v1_list_storage_transfers_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +539 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_pause_storage_transfer_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_purchase_annual_upsell_request.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_report_deployment_routing_telemetry_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_resume_storage_transfer_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_routing_telemetry.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_rule_resource.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier_type.py +105 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_storage_transfer.py +435 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_storage_transfer_status.py +108 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +105 -79
- lightning_sdk/studio.py +55 -11
- lightning_sdk/teamspace.py +11 -2
- {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.30.dist-info}/METADATA +1 -1
- {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.30.dist-info}/RECORD +74 -45
- {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.30.dist-info}/LICENSE +0 -0
- {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.30.dist-info}/WHEEL +0 -0
- {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.30.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.30.dist-info}/top_level.txt +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import os
|
|
2
2
|
from contextlib import suppress
|
|
3
|
-
from typing import Dict, List, Optional
|
|
3
|
+
from typing import Dict, List, Optional, Union
|
|
4
4
|
|
|
5
5
|
import click
|
|
6
6
|
from simple_term_menu import TerminalMenu
|
|
7
7
|
|
|
8
8
|
from lightning_sdk.cli.legacy.exceptions import StudioCliError
|
|
9
|
-
from lightning_sdk.studio import Studio
|
|
9
|
+
from lightning_sdk.studio import VM, Studio
|
|
10
10
|
from lightning_sdk.teamspace import Teamspace
|
|
11
11
|
from lightning_sdk.utils.resolve import _get_authed_user
|
|
12
12
|
|
|
@@ -17,54 +17,58 @@ class StudiosMenu:
|
|
|
17
17
|
It can be used to select a studio from a list of possible studios, or to resolve a studio from a name.
|
|
18
18
|
"""
|
|
19
19
|
|
|
20
|
-
def __init__(self, teamspace: Teamspace) -> None:
|
|
20
|
+
def __init__(self, teamspace: Teamspace, vm: bool = False) -> None:
|
|
21
21
|
"""Initialize the StudiosMenu with a teamspace.
|
|
22
22
|
|
|
23
23
|
Args:
|
|
24
24
|
teamspace: The teamspace to list studios from
|
|
25
25
|
"""
|
|
26
26
|
self.teamspace = teamspace
|
|
27
|
+
self.vm = vm
|
|
27
28
|
|
|
28
|
-
def _get_studio_from_interactive_menu(self, possible_studios: Dict[str, Studio]) -> Studio:
|
|
29
|
+
def _get_studio_from_interactive_menu(self, possible_studios: Dict[str, Union[Studio, VM]]) -> Union[Studio, VM]:
|
|
29
30
|
studio_names = sorted(possible_studios.keys())
|
|
30
|
-
terminal_menu = self._prepare_terminal_menu_studios(studio_names)
|
|
31
|
+
terminal_menu = self._prepare_terminal_menu_studios(studio_names, vm=self.vm)
|
|
31
32
|
terminal_menu.show()
|
|
32
33
|
|
|
33
34
|
selected_name = studio_names[terminal_menu.chosen_menu_index]
|
|
34
35
|
return possible_studios[selected_name]
|
|
35
36
|
|
|
36
|
-
def _get_studio_from_name(self, studio: str, possible_studios: Dict[str, Studio]) -> Studio:
|
|
37
|
+
def _get_studio_from_name(self, studio: str, possible_studios: Dict[str, Union[Studio, VM]]) -> Union[Studio, VM]:
|
|
37
38
|
if studio in possible_studios:
|
|
38
39
|
return possible_studios[studio]
|
|
39
40
|
|
|
40
|
-
click.echo(f"Could not find Studio {studio}, please select it from the list:")
|
|
41
|
+
click.echo(f"Could not find {'VM' if self.vm else 'Studio'} {studio}, please select it from the list:")
|
|
41
42
|
return self._get_studio_from_interactive_menu(possible_studios)
|
|
42
43
|
|
|
43
44
|
@staticmethod
|
|
44
|
-
def _prepare_terminal_menu_studios(
|
|
45
|
+
def _prepare_terminal_menu_studios(
|
|
46
|
+
studio_names: List[str], title: Optional[str] = None, vm: bool = False
|
|
47
|
+
) -> TerminalMenu:
|
|
45
48
|
if title is None:
|
|
46
|
-
title = "Please select a Studio out of the following:"
|
|
49
|
+
title = f"Please select a {'VM' if vm else 'Studio'} out of the following:"
|
|
47
50
|
|
|
48
51
|
return TerminalMenu(studio_names, title=title, clear_menu_on_exit=True)
|
|
49
52
|
|
|
50
|
-
def _get_possible_studios(self) -> Dict[str, Studio]:
|
|
53
|
+
def _get_possible_studios(self) -> Dict[str, Union[Studio, VM]]:
|
|
51
54
|
"""Get all available studios in the teamspace."""
|
|
52
55
|
studios = {}
|
|
53
56
|
|
|
54
57
|
user = _get_authed_user()
|
|
58
|
+
studios = self.teamspace.vms if self.vm else self.teamspace.studios
|
|
55
59
|
for studio in self.teamspace.studios:
|
|
56
60
|
if studio._studio.user_id == user.id:
|
|
57
61
|
studios[studio.name] = studio
|
|
58
62
|
return studios
|
|
59
63
|
|
|
60
|
-
def __call__(self, studio: Optional[str] = None) -> Studio:
|
|
64
|
+
def __call__(self, studio: Optional[str] = None) -> Union[Studio, VM]:
|
|
61
65
|
"""Select a studio from the teamspace.
|
|
62
66
|
|
|
63
67
|
Args:
|
|
64
68
|
studio: Optional studio name to select. If not provided, will show interactive menu.
|
|
65
69
|
|
|
66
70
|
Returns:
|
|
67
|
-
Selected Studio object
|
|
71
|
+
Selected Studio/VM object
|
|
68
72
|
|
|
69
73
|
Raises:
|
|
70
74
|
StudioCliError: If studio selection fails
|
|
@@ -73,15 +77,18 @@ class StudiosMenu:
|
|
|
73
77
|
# try to resolve the studio from the name, environment or config
|
|
74
78
|
resolved_studio = None
|
|
75
79
|
|
|
80
|
+
selected_cls = VM if self.vm else Studio
|
|
81
|
+
|
|
76
82
|
with suppress(Exception):
|
|
77
|
-
resolved_studio =
|
|
83
|
+
resolved_studio = selected_cls(name=studio, teamspace=self.teamspace, create_ok=False)
|
|
78
84
|
|
|
79
85
|
if resolved_studio is not None:
|
|
80
86
|
return resolved_studio
|
|
81
87
|
|
|
82
88
|
if os.environ.get("LIGHTNING_NON_INTERACTIVE", "0") == "1" and studio is None:
|
|
83
89
|
raise ValueError(
|
|
84
|
-
"Studio selection is not supported in non-interactive mode.
|
|
90
|
+
f"{'VM' if self.vm else 'Studio'} selection is not supported in non-interactive mode. "
|
|
91
|
+
"Please provide a studio name."
|
|
85
92
|
)
|
|
86
93
|
|
|
87
94
|
click.echo(f"Listing studios in teamspace {self.teamspace.owner.name}/{self.teamspace.name}...")
|
|
@@ -101,6 +108,6 @@ class StudiosMenu:
|
|
|
101
108
|
|
|
102
109
|
except Exception as e:
|
|
103
110
|
raise StudioCliError(
|
|
104
|
-
"Could not resolve a Studio. "
|
|
111
|
+
f"Could not resolve a {'VM' if self.vm else 'Studio'}. "
|
|
105
112
|
"Please pass it as an argument or contact Lightning AI directly to resolve this issue."
|
|
106
113
|
) from e
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import click
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def register_commands(group: click.Group) -> None:
|
|
5
|
+
"""Register studio commands with the given group."""
|
|
6
|
+
from lightning_sdk.cli.vm.create import create_vm
|
|
7
|
+
from lightning_sdk.cli.vm.delete import delete_vm
|
|
8
|
+
from lightning_sdk.cli.vm.list import list_vms
|
|
9
|
+
from lightning_sdk.cli.vm.ssh import ssh_vm
|
|
10
|
+
from lightning_sdk.cli.vm.start import start_vm
|
|
11
|
+
from lightning_sdk.cli.vm.stop import stop_vm
|
|
12
|
+
from lightning_sdk.cli.vm.switch import switch_vm
|
|
13
|
+
|
|
14
|
+
group.add_command(create_vm)
|
|
15
|
+
group.add_command(delete_vm)
|
|
16
|
+
group.add_command(list_vms)
|
|
17
|
+
group.add_command(ssh_vm)
|
|
18
|
+
group.add_command(start_vm)
|
|
19
|
+
group.add_command(stop_vm)
|
|
20
|
+
group.add_command(switch_vm)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
import click
|
|
4
|
+
|
|
5
|
+
from lightning_sdk.cli.studio.create import create_impl
|
|
6
|
+
from lightning_sdk.machine import CloudProvider
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@click.command("create")
|
|
10
|
+
@click.option("--name", help="The name of the VM to create. If not provided, a random name will be generated.")
|
|
11
|
+
@click.option("--teamspace", help="Override default teamspace (format: owner/teamspace)")
|
|
12
|
+
@click.option(
|
|
13
|
+
"--cloud-provider",
|
|
14
|
+
help="The cloud provider to start the VM on. Defaults to teamspace default.",
|
|
15
|
+
type=click.Choice(m.name for m in list(CloudProvider)),
|
|
16
|
+
)
|
|
17
|
+
@click.option(
|
|
18
|
+
"--cloud-account",
|
|
19
|
+
help="The cloud account to create the VM on. Defaults to teamspace default.",
|
|
20
|
+
type=click.STRING,
|
|
21
|
+
)
|
|
22
|
+
def create_vm(
|
|
23
|
+
name: Optional[str] = None,
|
|
24
|
+
teamspace: Optional[str] = None,
|
|
25
|
+
cloud_provider: Optional[str] = None,
|
|
26
|
+
cloud_account: Optional[str] = None,
|
|
27
|
+
) -> None:
|
|
28
|
+
"""Create a new VM.
|
|
29
|
+
|
|
30
|
+
Example:
|
|
31
|
+
lightning vm create
|
|
32
|
+
"""
|
|
33
|
+
create_impl(name=name, teamspace=teamspace, cloud_provider=cloud_provider, cloud_account=cloud_account, vm=True)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
import click
|
|
4
|
+
|
|
5
|
+
from lightning_sdk.cli.studio.delete import delete_impl
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@click.command("delete")
|
|
9
|
+
@click.option(
|
|
10
|
+
"--name",
|
|
11
|
+
help=(
|
|
12
|
+
"The name of the VM to delete. "
|
|
13
|
+
"If not provided, will try to infer from environment, "
|
|
14
|
+
"use the default value from the config or prompt for interactive selection."
|
|
15
|
+
),
|
|
16
|
+
)
|
|
17
|
+
@click.option("--teamspace", help="Override default teamspace (format: owner/teamspace)")
|
|
18
|
+
def delete_vm(name: Optional[str] = None, teamspace: Optional[str] = None) -> None:
|
|
19
|
+
"""Delete a VM.
|
|
20
|
+
|
|
21
|
+
Example:
|
|
22
|
+
lightning vm delete --name my-vm
|
|
23
|
+
|
|
24
|
+
"""
|
|
25
|
+
return delete_impl(name=name, teamspace=teamspace, vm=True)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
import click
|
|
4
|
+
|
|
5
|
+
from lightning_sdk.cli.studio.list import list_impl
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@click.command("list")
|
|
9
|
+
@click.option("--teamspace", help="Override default teamspace (format: owner/teamspace)")
|
|
10
|
+
@click.option(
|
|
11
|
+
"--all",
|
|
12
|
+
is_flag=True,
|
|
13
|
+
flag_value=True,
|
|
14
|
+
default=False,
|
|
15
|
+
help="List all VMs, not just the ones belonging to the authed user",
|
|
16
|
+
)
|
|
17
|
+
@click.option(
|
|
18
|
+
"--sort-by",
|
|
19
|
+
default=None,
|
|
20
|
+
type=click.Choice(["name", "teamspace", "status", "machine", "cloud-account"], case_sensitive=False),
|
|
21
|
+
help="the attribute to sort the VMs by.",
|
|
22
|
+
)
|
|
23
|
+
def list_vms(teamspace: Optional[str] = None, all: bool = False, sort_by: Optional[str] = None) -> None: # noqa: A002
|
|
24
|
+
"""List VMs in a teamspace.
|
|
25
|
+
|
|
26
|
+
Example:
|
|
27
|
+
lightning vm list --teamspace owner/teamspace
|
|
28
|
+
|
|
29
|
+
"""
|
|
30
|
+
return list_impl(teamspace=teamspace, all=all, sort_by=sort_by, vm=True)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
from typing import List, Optional
|
|
2
|
+
|
|
3
|
+
import click
|
|
4
|
+
|
|
5
|
+
from lightning_sdk.cli.studio.ssh import ssh_impl
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@click.command("ssh")
|
|
9
|
+
@click.option(
|
|
10
|
+
"--name",
|
|
11
|
+
help=(
|
|
12
|
+
"The name of the VM to ssh into. "
|
|
13
|
+
"If not provided, will try to infer from environment, "
|
|
14
|
+
"use the default value from the config or prompt for interactive selection."
|
|
15
|
+
),
|
|
16
|
+
)
|
|
17
|
+
@click.option("--teamspace", help="Override default teamspace (format: owner/teamspace)", type=click.STRING)
|
|
18
|
+
@click.option(
|
|
19
|
+
"--option",
|
|
20
|
+
"-o",
|
|
21
|
+
help="Additional options to pass to the SSH command. Can be specified multiple times.",
|
|
22
|
+
multiple=True,
|
|
23
|
+
type=click.STRING,
|
|
24
|
+
)
|
|
25
|
+
def ssh_vm(name: Optional[str] = None, teamspace: Optional[str] = None, option: Optional[List[str]] = None) -> None:
|
|
26
|
+
"""SSH into a VM.
|
|
27
|
+
|
|
28
|
+
Example:
|
|
29
|
+
lightning vm ssh --name my-vm
|
|
30
|
+
"""
|
|
31
|
+
return ssh_impl(name=name, teamspace=teamspace, option=option, vm=False)
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
import click
|
|
4
|
+
|
|
5
|
+
from lightning_sdk.cli.studio.start import start_impl
|
|
6
|
+
from lightning_sdk.machine import CloudProvider, Machine
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@click.command("start")
|
|
10
|
+
@click.option(
|
|
11
|
+
"--name",
|
|
12
|
+
help=(
|
|
13
|
+
"The name of the VM to start. "
|
|
14
|
+
"If not provided, will try to infer from environment, "
|
|
15
|
+
"use the default value from the config or prompt for interactive selection."
|
|
16
|
+
),
|
|
17
|
+
)
|
|
18
|
+
@click.option("--teamspace", help="Override default teamspace (format: owner/teamspace)")
|
|
19
|
+
@click.option("--create", is_flag=True, help="Create the VM if it doesn't exist")
|
|
20
|
+
@click.option(
|
|
21
|
+
"--machine",
|
|
22
|
+
help="The machine type to start the VM on. Defaults to CPU-4",
|
|
23
|
+
type=click.Choice(m.name for m in Machine.__dict__.values() if isinstance(m, Machine) and m._include_in_cli),
|
|
24
|
+
)
|
|
25
|
+
@click.option("--interruptible", is_flag=True, help="Start the VM on an interruptible instance.")
|
|
26
|
+
@click.option(
|
|
27
|
+
"--cloud-provider",
|
|
28
|
+
help=("The cloud provider to start the VM on. Defaults to teamspace default. Only used if --create is specified."),
|
|
29
|
+
type=click.Choice(m.name for m in list(CloudProvider)),
|
|
30
|
+
)
|
|
31
|
+
@click.option(
|
|
32
|
+
"--cloud-account",
|
|
33
|
+
help="The cloud account to start the VM on. Defaults to teamspace default. Only used if --create is specified.",
|
|
34
|
+
type=click.STRING,
|
|
35
|
+
)
|
|
36
|
+
def start_vm(
|
|
37
|
+
name: Optional[str] = None,
|
|
38
|
+
teamspace: Optional[str] = None,
|
|
39
|
+
create: bool = False,
|
|
40
|
+
machine: str = "CPU",
|
|
41
|
+
interruptible: bool = False,
|
|
42
|
+
cloud_provider: Optional[str] = None,
|
|
43
|
+
cloud_account: Optional[str] = None,
|
|
44
|
+
) -> None:
|
|
45
|
+
"""Start a VM.
|
|
46
|
+
|
|
47
|
+
Example:
|
|
48
|
+
lightning vm start --name my-vm
|
|
49
|
+
|
|
50
|
+
"""
|
|
51
|
+
return start_impl(
|
|
52
|
+
name=name,
|
|
53
|
+
teamspace=teamspace,
|
|
54
|
+
create=create,
|
|
55
|
+
machine=machine,
|
|
56
|
+
interruptible=interruptible,
|
|
57
|
+
cloud_provider=cloud_provider,
|
|
58
|
+
cloud_account=cloud_account,
|
|
59
|
+
vm=True,
|
|
60
|
+
)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
import click
|
|
4
|
+
|
|
5
|
+
from lightning_sdk.cli.studio.stop import stop_impl
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@click.command("stop")
|
|
9
|
+
@click.option(
|
|
10
|
+
"--name",
|
|
11
|
+
help=(
|
|
12
|
+
"The name of the VM to stop. "
|
|
13
|
+
"If not provided, will try to infer from environment, "
|
|
14
|
+
"use the default value from the config or prompt for interactive selection."
|
|
15
|
+
),
|
|
16
|
+
)
|
|
17
|
+
@click.option("--teamspace", help="Override default teamspace (format: owner/teamspace)")
|
|
18
|
+
def stop_vm(name: Optional[str] = None, teamspace: Optional[str] = None) -> None:
|
|
19
|
+
"""Stop a VM.
|
|
20
|
+
|
|
21
|
+
Example:
|
|
22
|
+
lightning vm stop --name my-vm
|
|
23
|
+
|
|
24
|
+
"""
|
|
25
|
+
return stop_impl(name=name, teamspace=teamspace, vm=True)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
import click
|
|
4
|
+
|
|
5
|
+
from lightning_sdk.cli.studio.switch import switch_impl
|
|
6
|
+
from lightning_sdk.machine import Machine
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@click.command("switch")
|
|
10
|
+
@click.option(
|
|
11
|
+
"--name",
|
|
12
|
+
help=(
|
|
13
|
+
"The name of the VM to switch to a different machine. "
|
|
14
|
+
"If not provided, will try to infer from environment, "
|
|
15
|
+
"use the default value from the config or prompt for interactive selection."
|
|
16
|
+
),
|
|
17
|
+
)
|
|
18
|
+
@click.option("--teamspace", help="Override default teamspace (format: owner/teamspace)")
|
|
19
|
+
@click.option(
|
|
20
|
+
"--machine",
|
|
21
|
+
help="The machine type to switch the studio to.",
|
|
22
|
+
type=click.Choice(m.name for m in Machine.__dict__.values() if isinstance(m, Machine)),
|
|
23
|
+
)
|
|
24
|
+
@click.option("--interruptible", is_flag=True, help="Switch the studio to an interruptible instance.")
|
|
25
|
+
def switch_vm(
|
|
26
|
+
name: Optional[str] = None,
|
|
27
|
+
teamspace: Optional[str] = None,
|
|
28
|
+
machine: Optional[str] = None,
|
|
29
|
+
interruptible: bool = False,
|
|
30
|
+
) -> None:
|
|
31
|
+
"""Switch a VM to a different machine type."""
|
|
32
|
+
return switch_impl(
|
|
33
|
+
name=name,
|
|
34
|
+
teamspace=teamspace,
|
|
35
|
+
machine=machine,
|
|
36
|
+
interruptible=interruptible,
|
|
37
|
+
vm=True,
|
|
38
|
+
)
|
|
@@ -107,6 +107,7 @@ from lightning_sdk.lightning_cloud.openapi.models.conversations_id_body1 import
|
|
|
107
107
|
from lightning_sdk.lightning_cloud.openapi.models.create import Create
|
|
108
108
|
from lightning_sdk.lightning_cloud.openapi.models.create_checkout_session_request_wallet_type import CreateCheckoutSessionRequestWalletType
|
|
109
109
|
from lightning_sdk.lightning_cloud.openapi.models.create_deployment_request_defines_a_spec_for_the_job_that_allows_for_autoscaling_jobs import CreateDeploymentRequestDefinesASpecForTheJobThatAllowsForAutoscalingJobs
|
|
110
|
+
from lightning_sdk.lightning_cloud.openapi.models.create_machine_request_represents_the_request_to_create_a_machine import CreateMachineRequestRepresentsTheRequestToCreateAMachine
|
|
110
111
|
from lightning_sdk.lightning_cloud.openapi.models.credits_autoreplenish_body import CreditsAutoreplenishBody
|
|
111
112
|
from lightning_sdk.lightning_cloud.openapi.models.credits_autoreplenish_body1 import CreditsAutoreplenishBody1
|
|
112
113
|
from lightning_sdk.lightning_cloud.openapi.models.data_connection_mount_data_connection_mount_copy_status import DataConnectionMountDataConnectionMountCopyStatus
|
|
@@ -156,6 +157,7 @@ from lightning_sdk.lightning_cloud.openapi.models.id_uploads_body import IdUploa
|
|
|
156
157
|
from lightning_sdk.lightning_cloud.openapi.models.id_visibility_body import IdVisibilityBody
|
|
157
158
|
from lightning_sdk.lightning_cloud.openapi.models.id_visibility_body1 import IdVisibilityBody1
|
|
158
159
|
from lightning_sdk.lightning_cloud.openapi.models.id_visibility_body2 import IdVisibilityBody2
|
|
160
|
+
from lightning_sdk.lightning_cloud.openapi.models.job_id_reportroutingtelemetry_body import JobIdReportroutingtelemetryBody
|
|
159
161
|
from lightning_sdk.lightning_cloud.openapi.models.jobs_id_body import JobsIdBody
|
|
160
162
|
from lightning_sdk.lightning_cloud.openapi.models.jobs_id_body1 import JobsIdBody1
|
|
161
163
|
from lightning_sdk.lightning_cloud.openapi.models.jobs_id_body2 import JobsIdBody2
|
|
@@ -207,6 +209,7 @@ from lightning_sdk.lightning_cloud.openapi.models.project_id_schedules_body impo
|
|
|
207
209
|
from lightning_sdk.lightning_cloud.openapi.models.project_id_secrets_body import ProjectIdSecretsBody
|
|
208
210
|
from lightning_sdk.lightning_cloud.openapi.models.project_id_snowflake_body import ProjectIdSnowflakeBody
|
|
209
211
|
from lightning_sdk.lightning_cloud.openapi.models.project_id_storage_body import ProjectIdStorageBody
|
|
212
|
+
from lightning_sdk.lightning_cloud.openapi.models.project_id_storagetransfers_body import ProjectIdStoragetransfersBody
|
|
210
213
|
from lightning_sdk.lightning_cloud.openapi.models.project_tab_management_messages import ProjectTabManagementMessages
|
|
211
214
|
from lightning_sdk.lightning_cloud.openapi.models.projects_id_body import ProjectsIdBody
|
|
212
215
|
from lightning_sdk.lightning_cloud.openapi.models.projects_project_id_body import ProjectsProjectIdBody
|
|
@@ -246,6 +249,7 @@ from lightning_sdk.lightning_cloud.openapi.models.user_user_id_body import UserU
|
|
|
246
249
|
from lightning_sdk.lightning_cloud.openapi.models.v1_aws_cluster_credentials import V1AWSClusterCredentials
|
|
247
250
|
from lightning_sdk.lightning_cloud.openapi.models.v1_aws_direct_v1 import V1AWSDirectV1
|
|
248
251
|
from lightning_sdk.lightning_cloud.openapi.models.v1_aws_direct_v1_status import V1AWSDirectV1Status
|
|
252
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_abort_storage_transfer_response import V1AbortStorageTransferResponse
|
|
249
253
|
from lightning_sdk.lightning_cloud.openapi.models.v1_accelerator_quota_info import V1AcceleratorQuotaInfo
|
|
250
254
|
from lightning_sdk.lightning_cloud.openapi.models.v1_ack_user_storage_violation_response import V1AckUserStorageViolationResponse
|
|
251
255
|
from lightning_sdk.lightning_cloud.openapi.models.v1_add_job_timing_response import V1AddJobTimingResponse
|
|
@@ -388,6 +392,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_create_job_request import V
|
|
|
388
392
|
from lightning_sdk.lightning_cloud.openapi.models.v1_create_lit_dataset_multi_part_upload_response import V1CreateLitDatasetMultiPartUploadResponse
|
|
389
393
|
from lightning_sdk.lightning_cloud.openapi.models.v1_create_lit_page_request import V1CreateLitPageRequest
|
|
390
394
|
from lightning_sdk.lightning_cloud.openapi.models.v1_create_lit_page_response import V1CreateLitPageResponse
|
|
395
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_create_machine_response import V1CreateMachineResponse
|
|
391
396
|
from lightning_sdk.lightning_cloud.openapi.models.v1_create_managed_endpoint_response import V1CreateManagedEndpointResponse
|
|
392
397
|
from lightning_sdk.lightning_cloud.openapi.models.v1_create_model_metrics_response import V1CreateModelMetricsResponse
|
|
393
398
|
from lightning_sdk.lightning_cloud.openapi.models.v1_create_multi_machine_job_request import V1CreateMultiMachineJobRequest
|
|
@@ -448,6 +453,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lit_page_response im
|
|
|
448
453
|
from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lit_registry_repository_image_artifact_version_by_digest_response import V1DeleteLitRegistryRepositoryImageArtifactVersionByDigestResponse
|
|
449
454
|
from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lit_repository_response import V1DeleteLitRepositoryResponse
|
|
450
455
|
from lightning_sdk.lightning_cloud.openapi.models.v1_delete_logger_artifact_response import V1DeleteLoggerArtifactResponse
|
|
456
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_delete_machine_response import V1DeleteMachineResponse
|
|
451
457
|
from lightning_sdk.lightning_cloud.openapi.models.v1_delete_managed_endpoint_response import V1DeleteManagedEndpointResponse
|
|
452
458
|
from lightning_sdk.lightning_cloud.openapi.models.v1_delete_metrics_stream_response import V1DeleteMetricsStreamResponse
|
|
453
459
|
from lightning_sdk.lightning_cloud.openapi.models.v1_delete_model_response import V1DeleteModelResponse
|
|
@@ -579,12 +585,12 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_get_lit_dataset_files_url_r
|
|
|
579
585
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_lit_page_response import V1GetLitPageResponse
|
|
580
586
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_logger_metrics_response import V1GetLoggerMetricsResponse
|
|
581
587
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_long_running_command_in_cloud_space_response import V1GetLongRunningCommandInCloudSpaceResponse
|
|
588
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_get_machine_response import V1GetMachineResponse
|
|
582
589
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_model_file_upload_urls_response import V1GetModelFileUploadUrlsResponse
|
|
583
590
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_model_file_url_response import V1GetModelFileUrlResponse
|
|
584
591
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_model_files_response import V1GetModelFilesResponse
|
|
585
592
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_model_files_url_response import V1GetModelFilesUrlResponse
|
|
586
593
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_model_metrics_response import V1GetModelMetricsResponse
|
|
587
|
-
from lightning_sdk.lightning_cloud.openapi.models.v1_get_model_total_usage_metrics_response import V1GetModelTotalUsageMetricsResponse
|
|
588
594
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_organization_storage_metadata_response import V1GetOrganizationStorageMetadataResponse
|
|
589
595
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_project_artifact_response import V1GetProjectArtifactResponse
|
|
590
596
|
from lightning_sdk.lightning_cloud.openapi.models.v1_get_project_balance_response import V1GetProjectBalanceResponse
|
|
@@ -645,6 +651,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_lambda_labs_direct_v1 impor
|
|
|
645
651
|
from lightning_sdk.lightning_cloud.openapi.models.v1_lightning_app_user import V1LightningAppUser
|
|
646
652
|
from lightning_sdk.lightning_cloud.openapi.models.v1_lightning_auth import V1LightningAuth
|
|
647
653
|
from lightning_sdk.lightning_cloud.openapi.models.v1_lightning_basic_auth import V1LightningBasicAuth
|
|
654
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_lightning_elastic_cluster_v1 import V1LightningElasticClusterV1
|
|
648
655
|
from lightning_sdk.lightning_cloud.openapi.models.v1_lightning_o_auth_auth import V1LightningOAuthAuth
|
|
649
656
|
from lightning_sdk.lightning_cloud.openapi.models.v1_lightning_run import V1LightningRun
|
|
650
657
|
from lightning_sdk.lightning_cloud.openapi.models.v1_lightningapp_instance_artifact import V1LightningappInstanceArtifact
|
|
@@ -731,6 +738,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_list_lit_datasets_response
|
|
|
731
738
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_lit_pages_response import V1ListLitPagesResponse
|
|
732
739
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_lit_registry_repository_image_artifact_versions_response import V1ListLitRegistryRepositoryImageArtifactVersionsResponse
|
|
733
740
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_logger_artifact_response import V1ListLoggerArtifactResponse
|
|
741
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_list_machines_response import V1ListMachinesResponse
|
|
734
742
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_managed_endpoints_response import V1ListManagedEndpointsResponse
|
|
735
743
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_memberships_response import V1ListMembershipsResponse
|
|
736
744
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_metrics_streams_response import V1ListMetricsStreamsResponse
|
|
@@ -768,6 +776,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_list_ssh_public_keys_respon
|
|
|
768
776
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_schedule_runs_response import V1ListScheduleRunsResponse
|
|
769
777
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_schedules_response import V1ListSchedulesResponse
|
|
770
778
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_secrets_response import V1ListSecretsResponse
|
|
779
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_list_storage_transfers_response import V1ListStorageTransfersResponse
|
|
771
780
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_studio_jobs_response import V1ListStudioJobsResponse
|
|
772
781
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_user_slurm_jobs_response import V1ListUserSLURMJobsResponse
|
|
773
782
|
from lightning_sdk.lightning_cloud.openapi.models.v1_lit_dataset import V1LitDataset
|
|
@@ -788,6 +797,8 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_logout_request import V1Log
|
|
|
788
797
|
from lightning_sdk.lightning_cloud.openapi.models.v1_logout_response import V1LogoutResponse
|
|
789
798
|
from lightning_sdk.lightning_cloud.openapi.models.v1_logs_response import V1LogsResponse
|
|
790
799
|
from lightning_sdk.lightning_cloud.openapi.models.v1_lustre_data_connection import V1LustreDataConnection
|
|
800
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_machine import V1Machine
|
|
801
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_machine_direct_v1 import V1MachineDirectV1
|
|
791
802
|
from lightning_sdk.lightning_cloud.openapi.models.v1_machines_selector import V1MachinesSelector
|
|
792
803
|
from lightning_sdk.lightning_cloud.openapi.models.v1_magic_link_login_request import V1MagicLinkLoginRequest
|
|
793
804
|
from lightning_sdk.lightning_cloud.openapi.models.v1_magic_link_login_response import V1MagicLinkLoginResponse
|
|
@@ -840,6 +851,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_package_manager import V1Pa
|
|
|
840
851
|
from lightning_sdk.lightning_cloud.openapi.models.v1_parameterization_spec import V1ParameterizationSpec
|
|
841
852
|
from lightning_sdk.lightning_cloud.openapi.models.v1_path_mapping import V1PathMapping
|
|
842
853
|
from lightning_sdk.lightning_cloud.openapi.models.v1_path_telemetry import V1PathTelemetry
|
|
854
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_pause_storage_transfer_response import V1PauseStorageTransferResponse
|
|
843
855
|
from lightning_sdk.lightning_cloud.openapi.models.v1_phase_type import V1PhaseType
|
|
844
856
|
from lightning_sdk.lightning_cloud.openapi.models.v1_pipeline import V1Pipeline
|
|
845
857
|
from lightning_sdk.lightning_cloud.openapi.models.v1_pipeline_parameter import V1PipelineParameter
|
|
@@ -875,6 +887,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_project_tab import V1Projec
|
|
|
875
887
|
from lightning_sdk.lightning_cloud.openapi.models.v1_prompt_suggestion import V1PromptSuggestion
|
|
876
888
|
from lightning_sdk.lightning_cloud.openapi.models.v1_publish_cloud_space_response import V1PublishCloudSpaceResponse
|
|
877
889
|
from lightning_sdk.lightning_cloud.openapi.models.v1_published_cloud_space_response import V1PublishedCloudSpaceResponse
|
|
890
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_purchase_annual_upsell_request import V1PurchaseAnnualUpsellRequest
|
|
878
891
|
from lightning_sdk.lightning_cloud.openapi.models.v1_purchase_annual_upsell_response import V1PurchaseAnnualUpsellResponse
|
|
879
892
|
from lightning_sdk.lightning_cloud.openapi.models.v1_purchase_capacity_block_response import V1PurchaseCapacityBlockResponse
|
|
880
893
|
from lightning_sdk.lightning_cloud.openapi.models.v1_python_dependency_info import V1PythonDependencyInfo
|
|
@@ -897,6 +910,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_regional_load_balancer impo
|
|
|
897
910
|
from lightning_sdk.lightning_cloud.openapi.models.v1_render_kubernetes_template_response import V1RenderKubernetesTemplateResponse
|
|
898
911
|
from lightning_sdk.lightning_cloud.openapi.models.v1_report_cloud_space_instance_stop_at_response import V1ReportCloudSpaceInstanceStopAtResponse
|
|
899
912
|
from lightning_sdk.lightning_cloud.openapi.models.v1_report_cloud_space_instance_system_metrics_response import V1ReportCloudSpaceInstanceSystemMetricsResponse
|
|
913
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_report_deployment_routing_telemetry_response import V1ReportDeploymentRoutingTelemetryResponse
|
|
900
914
|
from lightning_sdk.lightning_cloud.openapi.models.v1_report_k8s_cluster_metrics_response import V1ReportK8sClusterMetricsResponse
|
|
901
915
|
from lightning_sdk.lightning_cloud.openapi.models.v1_report_logs_activity_response import V1ReportLogsActivityResponse
|
|
902
916
|
from lightning_sdk.lightning_cloud.openapi.models.v1_report_restart_timings_response import V1ReportRestartTimingsResponse
|
|
@@ -914,6 +928,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_response_choice_delta impor
|
|
|
914
928
|
from lightning_sdk.lightning_cloud.openapi.models.v1_restart_cloud_space_instance_response import V1RestartCloudSpaceInstanceResponse
|
|
915
929
|
from lightning_sdk.lightning_cloud.openapi.models.v1_restart_timing import V1RestartTiming
|
|
916
930
|
from lightning_sdk.lightning_cloud.openapi.models.v1_restore_deployment_release_response import V1RestoreDeploymentReleaseResponse
|
|
931
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_resume_storage_transfer_response import V1ResumeStorageTransferResponse
|
|
917
932
|
from lightning_sdk.lightning_cloud.openapi.models.v1_role import V1Role
|
|
918
933
|
from lightning_sdk.lightning_cloud.openapi.models.v1_rolling_update_strategy import V1RollingUpdateStrategy
|
|
919
934
|
from lightning_sdk.lightning_cloud.openapi.models.v1_routing_telemetry import V1RoutingTelemetry
|
|
@@ -947,6 +962,8 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_setup_data_connection_respo
|
|
|
947
962
|
from lightning_sdk.lightning_cloud.openapi.models.v1_shared_filesystem import V1SharedFilesystem
|
|
948
963
|
from lightning_sdk.lightning_cloud.openapi.models.v1_should_start_syncing_response import V1ShouldStartSyncingResponse
|
|
949
964
|
from lightning_sdk.lightning_cloud.openapi.models.v1_signed_url import V1SignedUrl
|
|
965
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_slack_notifier import V1SlackNotifier
|
|
966
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_slack_notifier_type import V1SlackNotifierType
|
|
950
967
|
from lightning_sdk.lightning_cloud.openapi.models.v1_sleep_server_response import V1SleepServerResponse
|
|
951
968
|
from lightning_sdk.lightning_cloud.openapi.models.v1_slurm_cluster_user import V1SlurmClusterUser
|
|
952
969
|
from lightning_sdk.lightning_cloud.openapi.models.v1_slurm_node import V1SlurmNode
|
|
@@ -961,6 +978,8 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_stop_cloud_space_instance_r
|
|
|
961
978
|
from lightning_sdk.lightning_cloud.openapi.models.v1_storage_asset import V1StorageAsset
|
|
962
979
|
from lightning_sdk.lightning_cloud.openapi.models.v1_storage_asset_type import V1StorageAssetType
|
|
963
980
|
from lightning_sdk.lightning_cloud.openapi.models.v1_storage_system_metrics import V1StorageSystemMetrics
|
|
981
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_storage_transfer import V1StorageTransfer
|
|
982
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_storage_transfer_status import V1StorageTransferStatus
|
|
964
983
|
from lightning_sdk.lightning_cloud.openapi.models.v1_studio_job import V1StudioJob
|
|
965
984
|
from lightning_sdk.lightning_cloud.openapi.models.v1_studio_job_app import V1StudioJobApp
|
|
966
985
|
from lightning_sdk.lightning_cloud.openapi.models.v1_subnet_spec import V1SubnetSpec
|
|
@@ -1058,7 +1058,7 @@ class AssistantsServiceApi(object):
|
|
|
1058
1058
|
collection_formats=collection_formats)
|
|
1059
1059
|
|
|
1060
1060
|
def assistants_service_get_latest_model_metrics(self, **kwargs) -> 'V1GetLatestModelMetricsResponse': # noqa: E501
|
|
1061
|
-
"""
|
|
1061
|
+
"""model metrics # noqa: E501
|
|
1062
1062
|
|
|
1063
1063
|
This method makes a synchronous HTTP request by default. To make an
|
|
1064
1064
|
asynchronous HTTP request, please pass async_req=True
|
|
@@ -1079,7 +1079,7 @@ class AssistantsServiceApi(object):
|
|
|
1079
1079
|
return data
|
|
1080
1080
|
|
|
1081
1081
|
def assistants_service_get_latest_model_metrics_with_http_info(self, **kwargs) -> 'V1GetLatestModelMetricsResponse': # noqa: E501
|
|
1082
|
-
"""
|
|
1082
|
+
"""model metrics # noqa: E501
|
|
1083
1083
|
|
|
1084
1084
|
This method makes a synchronous HTTP request by default. To make an
|
|
1085
1085
|
asynchronous HTTP request, please pass async_req=True
|
|
@@ -1570,99 +1570,6 @@ class AssistantsServiceApi(object):
|
|
|
1570
1570
|
_request_timeout=params.get('_request_timeout'),
|
|
1571
1571
|
collection_formats=collection_formats)
|
|
1572
1572
|
|
|
1573
|
-
def assistants_service_get_model_total_usage_metrics(self, model_id: 'str', **kwargs) -> 'V1GetModelTotalUsageMetricsResponse': # noqa: E501
|
|
1574
|
-
"""model metrics # noqa: E501
|
|
1575
|
-
|
|
1576
|
-
This method makes a synchronous HTTP request by default. To make an
|
|
1577
|
-
asynchronous HTTP request, please pass async_req=True
|
|
1578
|
-
>>> thread = api.assistants_service_get_model_total_usage_metrics(model_id, async_req=True)
|
|
1579
|
-
>>> result = thread.get()
|
|
1580
|
-
|
|
1581
|
-
:param async_req bool
|
|
1582
|
-
:param str model_id: (required)
|
|
1583
|
-
:return: V1GetModelTotalUsageMetricsResponse
|
|
1584
|
-
If the method is called asynchronously,
|
|
1585
|
-
returns the request thread.
|
|
1586
|
-
"""
|
|
1587
|
-
kwargs['_return_http_data_only'] = True
|
|
1588
|
-
if kwargs.get('async_req'):
|
|
1589
|
-
return self.assistants_service_get_model_total_usage_metrics_with_http_info(model_id, **kwargs) # noqa: E501
|
|
1590
|
-
else:
|
|
1591
|
-
(data) = self.assistants_service_get_model_total_usage_metrics_with_http_info(model_id, **kwargs) # noqa: E501
|
|
1592
|
-
return data
|
|
1593
|
-
|
|
1594
|
-
def assistants_service_get_model_total_usage_metrics_with_http_info(self, model_id: 'str', **kwargs) -> 'V1GetModelTotalUsageMetricsResponse': # noqa: E501
|
|
1595
|
-
"""model metrics # noqa: E501
|
|
1596
|
-
|
|
1597
|
-
This method makes a synchronous HTTP request by default. To make an
|
|
1598
|
-
asynchronous HTTP request, please pass async_req=True
|
|
1599
|
-
>>> thread = api.assistants_service_get_model_total_usage_metrics_with_http_info(model_id, async_req=True)
|
|
1600
|
-
>>> result = thread.get()
|
|
1601
|
-
|
|
1602
|
-
:param async_req bool
|
|
1603
|
-
:param str model_id: (required)
|
|
1604
|
-
:return: V1GetModelTotalUsageMetricsResponse
|
|
1605
|
-
If the method is called asynchronously,
|
|
1606
|
-
returns the request thread.
|
|
1607
|
-
"""
|
|
1608
|
-
|
|
1609
|
-
all_params = ['model_id'] # noqa: E501
|
|
1610
|
-
all_params.append('async_req')
|
|
1611
|
-
all_params.append('_return_http_data_only')
|
|
1612
|
-
all_params.append('_preload_content')
|
|
1613
|
-
all_params.append('_request_timeout')
|
|
1614
|
-
|
|
1615
|
-
params = locals()
|
|
1616
|
-
for key, val in six.iteritems(params['kwargs']):
|
|
1617
|
-
if key not in all_params:
|
|
1618
|
-
raise TypeError(
|
|
1619
|
-
"Got an unexpected keyword argument '%s'"
|
|
1620
|
-
" to method assistants_service_get_model_total_usage_metrics" % key
|
|
1621
|
-
)
|
|
1622
|
-
params[key] = val
|
|
1623
|
-
del params['kwargs']
|
|
1624
|
-
# verify the required parameter 'model_id' is set
|
|
1625
|
-
if ('model_id' not in params or
|
|
1626
|
-
params['model_id'] is None):
|
|
1627
|
-
raise ValueError("Missing the required parameter `model_id` when calling `assistants_service_get_model_total_usage_metrics`") # noqa: E501
|
|
1628
|
-
|
|
1629
|
-
collection_formats = {}
|
|
1630
|
-
|
|
1631
|
-
path_params = {}
|
|
1632
|
-
if 'model_id' in params:
|
|
1633
|
-
path_params['modelId'] = params['model_id'] # noqa: E501
|
|
1634
|
-
|
|
1635
|
-
query_params = []
|
|
1636
|
-
|
|
1637
|
-
header_params = {}
|
|
1638
|
-
|
|
1639
|
-
form_params = []
|
|
1640
|
-
local_var_files = {}
|
|
1641
|
-
|
|
1642
|
-
body_params = None
|
|
1643
|
-
# HTTP header `Accept`
|
|
1644
|
-
header_params['Accept'] = self.api_client.select_header_accept(
|
|
1645
|
-
['application/json']) # noqa: E501
|
|
1646
|
-
|
|
1647
|
-
# Authentication setting
|
|
1648
|
-
auth_settings = [] # noqa: E501
|
|
1649
|
-
|
|
1650
|
-
return self.api_client.call_api(
|
|
1651
|
-
'/v1/agents/{modelId}/total-usage', 'GET',
|
|
1652
|
-
path_params,
|
|
1653
|
-
query_params,
|
|
1654
|
-
header_params,
|
|
1655
|
-
body=body_params,
|
|
1656
|
-
post_params=form_params,
|
|
1657
|
-
files=local_var_files,
|
|
1658
|
-
response_type='V1GetModelTotalUsageMetricsResponse', # noqa: E501
|
|
1659
|
-
auth_settings=auth_settings,
|
|
1660
|
-
async_req=params.get('async_req'),
|
|
1661
|
-
_return_http_data_only=params.get('_return_http_data_only'),
|
|
1662
|
-
_preload_content=params.get('_preload_content', True),
|
|
1663
|
-
_request_timeout=params.get('_request_timeout'),
|
|
1664
|
-
collection_formats=collection_formats)
|
|
1665
|
-
|
|
1666
1573
|
def assistants_service_get_published_managed_endpoint_by_model_id(self, id: 'str', **kwargs) -> 'V1ManagedEndpoint': # noqa: E501
|
|
1667
1574
|
"""GetPublishedManagedEndpointModel returns a managed endpoint with a single specific managed endpoint model included in modelsMetadata # noqa: E501
|
|
1668
1575
|
|