lightning-sdk 2025.7.10__py3-none-any.whl → 2025.7.17__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.
Files changed (41) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/llm_api.py +11 -6
  3. lightning_sdk/job/base.py +10 -2
  4. lightning_sdk/lightning_cloud/openapi/__init__.py +7 -1
  5. lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +109 -0
  6. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +5 -1
  7. lightning_sdk/lightning_cloud/openapi/api/user_service_api.py +11 -11
  8. lightning_sdk/lightning_cloud/openapi/models/__init__.py +7 -1
  9. lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +29 -3
  10. lightning_sdk/lightning_cloud/openapi/models/project_id_storage_body.py +1 -27
  11. lightning_sdk/lightning_cloud/openapi/models/protobuf_null_value.py +102 -0
  12. lightning_sdk/lightning_cloud/openapi/models/storage_complete_body.py +1 -27
  13. lightning_sdk/lightning_cloud/openapi/models/uploads_upload_id_body1.py +3 -55
  14. lightning_sdk/lightning_cloud/openapi/models/{v1_list_new_features_for_user_response.py → v1_ai_pod_v1.py} +23 -23
  15. lightning_sdk/lightning_cloud/openapi/models/v1_artifact.py +27 -1
  16. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_session_daily_aggregated.py +357 -0
  17. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -0
  18. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
  19. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +1 -0
  20. lightning_sdk/lightning_cloud/openapi/models/v1_complete_upload.py +3 -55
  21. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -1
  22. lightning_sdk/lightning_cloud/openapi/models/v1_function_tool.py +175 -0
  23. lightning_sdk/lightning_cloud/openapi/models/v1_get_artifacts_page_response.py +29 -3
  24. lightning_sdk/lightning_cloud/openapi/models/v1_get_clickhouse_assistant_session_daily_aggregated_response.py +201 -0
  25. lightning_sdk/lightning_cloud/openapi/models/v1_lightningapp_instance_artifact.py +27 -1
  26. lightning_sdk/lightning_cloud/openapi/models/v1_list_notification_dialogs_response.py +149 -0
  27. lightning_sdk/lightning_cloud/openapi/models/v1_message.py +27 -1
  28. lightning_sdk/lightning_cloud/openapi/models/v1_presigned_url.py +1 -53
  29. lightning_sdk/lightning_cloud/openapi/models/v1_project.py +27 -1
  30. lightning_sdk/lightning_cloud/openapi/models/v1_tool.py +149 -0
  31. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +105 -1
  32. lightning_sdk/lightning_cloud/openapi/models/v1_volume.py +27 -1
  33. lightning_sdk/llm/llm.py +3 -0
  34. lightning_sdk/llm/public_assistants.json +3 -1
  35. lightning_sdk/machine.py +12 -1
  36. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.17.dist-info}/METADATA +1 -1
  37. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.17.dist-info}/RECORD +41 -35
  38. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.17.dist-info}/LICENSE +0 -0
  39. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.17.dist-info}/WHEEL +0 -0
  40. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.17.dist-info}/entry_points.txt +0 -0
  41. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.17.dist-info}/top_level.txt +0 -0
@@ -41,6 +41,7 @@ class V1Message(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
+ 'account_id': 'str',
44
45
  'assistant_id': 'str',
45
46
  'author': 'V1MessageAuthor',
46
47
  'completion_tokens': 'str',
@@ -58,6 +59,7 @@ class V1Message(object):
58
59
  }
59
60
 
60
61
  attribute_map = {
62
+ 'account_id': 'accountId',
61
63
  'assistant_id': 'assistantId',
62
64
  'author': 'author',
63
65
  'completion_tokens': 'completionTokens',
@@ -74,8 +76,9 @@ class V1Message(object):
74
76
  'throughput': 'throughput'
75
77
  }
76
78
 
77
- def __init__(self, assistant_id: 'str' =None, author: 'V1MessageAuthor' =None, completion_tokens: 'str' =None, content: 'list[V1MessageContent]' =None, conversation_id: 'str' =None, created_at: 'datetime' =None, executable: 'bool' =None, id: 'str' =None, internal_message: 'bool' =None, metadata: 'dict(str, str)' =None, model: 'str' =None, parent_message_id: 'str' =None, prompt_tokens: 'str' =None, throughput: 'float' =None): # noqa: E501
79
+ def __init__(self, account_id: 'str' =None, assistant_id: 'str' =None, author: 'V1MessageAuthor' =None, completion_tokens: 'str' =None, content: 'list[V1MessageContent]' =None, conversation_id: 'str' =None, created_at: 'datetime' =None, executable: 'bool' =None, id: 'str' =None, internal_message: 'bool' =None, metadata: 'dict(str, str)' =None, model: 'str' =None, parent_message_id: 'str' =None, prompt_tokens: 'str' =None, throughput: 'float' =None): # noqa: E501
78
80
  """V1Message - a model defined in Swagger""" # noqa: E501
81
+ self._account_id = None
79
82
  self._assistant_id = None
80
83
  self._author = None
81
84
  self._completion_tokens = None
@@ -91,6 +94,8 @@ class V1Message(object):
91
94
  self._prompt_tokens = None
92
95
  self._throughput = None
93
96
  self.discriminator = None
97
+ if account_id is not None:
98
+ self.account_id = account_id
94
99
  if assistant_id is not None:
95
100
  self.assistant_id = assistant_id
96
101
  if author is not None:
@@ -120,6 +125,27 @@ class V1Message(object):
120
125
  if throughput is not None:
121
126
  self.throughput = throughput
122
127
 
128
+ @property
129
+ def account_id(self) -> 'str':
130
+ """Gets the account_id of this V1Message. # noqa: E501
131
+
132
+
133
+ :return: The account_id of this V1Message. # noqa: E501
134
+ :rtype: str
135
+ """
136
+ return self._account_id
137
+
138
+ @account_id.setter
139
+ def account_id(self, account_id: 'str'):
140
+ """Sets the account_id of this V1Message.
141
+
142
+
143
+ :param account_id: The account_id of this V1Message. # noqa: E501
144
+ :type: str
145
+ """
146
+
147
+ self._account_id = account_id
148
+
123
149
  @property
124
150
  def assistant_id(self) -> 'str':
125
151
  """Gets the assistant_id of this V1Message. # noqa: E501
@@ -41,56 +41,25 @@ class V1PresignedUrl(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'cluster_id': 'str',
45
44
  'part_number': 'str',
46
- 'upload_id': 'str',
47
45
  'url': 'str'
48
46
  }
49
47
 
50
48
  attribute_map = {
51
- 'cluster_id': 'clusterId',
52
49
  'part_number': 'partNumber',
53
- 'upload_id': 'uploadId',
54
50
  'url': 'url'
55
51
  }
56
52
 
57
- def __init__(self, cluster_id: 'str' =None, part_number: 'str' =None, upload_id: 'str' =None, url: 'str' =None): # noqa: E501
53
+ def __init__(self, part_number: 'str' =None, url: 'str' =None): # noqa: E501
58
54
  """V1PresignedUrl - a model defined in Swagger""" # noqa: E501
59
- self._cluster_id = None
60
55
  self._part_number = None
61
- self._upload_id = None
62
56
  self._url = None
63
57
  self.discriminator = None
64
- if cluster_id is not None:
65
- self.cluster_id = cluster_id
66
58
  if part_number is not None:
67
59
  self.part_number = part_number
68
- if upload_id is not None:
69
- self.upload_id = upload_id
70
60
  if url is not None:
71
61
  self.url = url
72
62
 
73
- @property
74
- def cluster_id(self) -> 'str':
75
- """Gets the cluster_id of this V1PresignedUrl. # noqa: E501
76
-
77
-
78
- :return: The cluster_id of this V1PresignedUrl. # noqa: E501
79
- :rtype: str
80
- """
81
- return self._cluster_id
82
-
83
- @cluster_id.setter
84
- def cluster_id(self, cluster_id: 'str'):
85
- """Sets the cluster_id of this V1PresignedUrl.
86
-
87
-
88
- :param cluster_id: The cluster_id of this V1PresignedUrl. # noqa: E501
89
- :type: str
90
- """
91
-
92
- self._cluster_id = cluster_id
93
-
94
63
  @property
95
64
  def part_number(self) -> 'str':
96
65
  """Gets the part_number of this V1PresignedUrl. # noqa: E501
@@ -112,27 +81,6 @@ class V1PresignedUrl(object):
112
81
 
113
82
  self._part_number = part_number
114
83
 
115
- @property
116
- def upload_id(self) -> 'str':
117
- """Gets the upload_id of this V1PresignedUrl. # noqa: E501
118
-
119
-
120
- :return: The upload_id of this V1PresignedUrl. # noqa: E501
121
- :rtype: str
122
- """
123
- return self._upload_id
124
-
125
- @upload_id.setter
126
- def upload_id(self, upload_id: 'str'):
127
- """Sets the upload_id of this V1PresignedUrl.
128
-
129
-
130
- :param upload_id: The upload_id of this V1PresignedUrl. # noqa: E501
131
- :type: str
132
- """
133
-
134
- self._upload_id = upload_id
135
-
136
84
  @property
137
85
  def url(self) -> 'str':
138
86
  """Gets the url of this V1PresignedUrl. # noqa: E501
@@ -58,6 +58,7 @@ class V1Project(object):
58
58
  'private': 'bool',
59
59
  'project_settings': 'V1ProjectSettings',
60
60
  'quotas': 'V1Quotas',
61
+ 'requires_uploads_sync': 'bool',
61
62
  'total_size_uploads_bytes': 'str',
62
63
  'updated_at': 'datetime'
63
64
  }
@@ -80,11 +81,12 @@ class V1Project(object):
80
81
  'private': 'private',
81
82
  'project_settings': 'projectSettings',
82
83
  'quotas': 'quotas',
84
+ 'requires_uploads_sync': 'requiresUploadsSync',
83
85
  'total_size_uploads_bytes': 'totalSizeUploadsBytes',
84
86
  'updated_at': 'updatedAt'
85
87
  }
86
88
 
87
- def __init__(self, abac_enabled: 'bool' =None, created_at: 'datetime' =None, creator_id: 'str' =None, current_storage_bytes: 'str' =None, description: 'str' =None, display_name: 'str' =None, free_storage_bytes: 'str' =None, id: 'str' =None, is_default: 'bool' =None, lock_out_uploads: 'bool' =None, name: 'str' =None, number_of_files_uploads: 'str' =None, owner_id: 'str' =None, owner_type: 'V1OwnerType' =None, private: 'bool' =None, project_settings: 'V1ProjectSettings' =None, quotas: 'V1Quotas' =None, total_size_uploads_bytes: 'str' =None, updated_at: 'datetime' =None): # noqa: E501
89
+ def __init__(self, abac_enabled: 'bool' =None, created_at: 'datetime' =None, creator_id: 'str' =None, current_storage_bytes: 'str' =None, description: 'str' =None, display_name: 'str' =None, free_storage_bytes: 'str' =None, id: 'str' =None, is_default: 'bool' =None, lock_out_uploads: 'bool' =None, name: 'str' =None, number_of_files_uploads: 'str' =None, owner_id: 'str' =None, owner_type: 'V1OwnerType' =None, private: 'bool' =None, project_settings: 'V1ProjectSettings' =None, quotas: 'V1Quotas' =None, requires_uploads_sync: 'bool' =None, total_size_uploads_bytes: 'str' =None, updated_at: 'datetime' =None): # noqa: E501
88
90
  """V1Project - a model defined in Swagger""" # noqa: E501
89
91
  self._abac_enabled = None
90
92
  self._created_at = None
@@ -103,6 +105,7 @@ class V1Project(object):
103
105
  self._private = None
104
106
  self._project_settings = None
105
107
  self._quotas = None
108
+ self._requires_uploads_sync = None
106
109
  self._total_size_uploads_bytes = None
107
110
  self._updated_at = None
108
111
  self.discriminator = None
@@ -140,6 +143,8 @@ class V1Project(object):
140
143
  self.project_settings = project_settings
141
144
  if quotas is not None:
142
145
  self.quotas = quotas
146
+ if requires_uploads_sync is not None:
147
+ self.requires_uploads_sync = requires_uploads_sync
143
148
  if total_size_uploads_bytes is not None:
144
149
  self.total_size_uploads_bytes = total_size_uploads_bytes
145
150
  if updated_at is not None:
@@ -502,6 +507,27 @@ class V1Project(object):
502
507
 
503
508
  self._quotas = quotas
504
509
 
510
+ @property
511
+ def requires_uploads_sync(self) -> 'bool':
512
+ """Gets the requires_uploads_sync of this V1Project. # noqa: E501
513
+
514
+
515
+ :return: The requires_uploads_sync of this V1Project. # noqa: E501
516
+ :rtype: bool
517
+ """
518
+ return self._requires_uploads_sync
519
+
520
+ @requires_uploads_sync.setter
521
+ def requires_uploads_sync(self, requires_uploads_sync: 'bool'):
522
+ """Sets the requires_uploads_sync of this V1Project.
523
+
524
+
525
+ :param requires_uploads_sync: The requires_uploads_sync of this V1Project. # noqa: E501
526
+ :type: bool
527
+ """
528
+
529
+ self._requires_uploads_sync = requires_uploads_sync
530
+
505
531
  @property
506
532
  def total_size_uploads_bytes(self) -> 'str':
507
533
  """Gets the total_size_uploads_bytes of this V1Project. # noqa: E501
@@ -0,0 +1,149 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ external/v1/auth_service.proto
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: version not set
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+
12
+ NOTE
13
+ ----
14
+ standard swagger-codegen-cli for this python client has been modified
15
+ by custom templates. The purpose of these templates is to include
16
+ typing information in the API and Model code. Please refer to the
17
+ main grid repository for more info
18
+ """
19
+
20
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class V1Tool(object):
32
+ """NOTE: This class is auto generated by the swagger code generator program.
33
+
34
+ Do not edit the class manually.
35
+ """
36
+ """
37
+ Attributes:
38
+ swagger_types (dict): The key is attribute name
39
+ and the value is attribute type.
40
+ attribute_map (dict): The key is attribute name
41
+ and the value is json key in definition.
42
+ """
43
+ swagger_types = {
44
+ 'function': 'V1FunctionTool',
45
+ 'type': 'str'
46
+ }
47
+
48
+ attribute_map = {
49
+ 'function': 'function',
50
+ 'type': 'type'
51
+ }
52
+
53
+ def __init__(self, function: 'V1FunctionTool' =None, type: 'str' =None): # noqa: E501
54
+ """V1Tool - a model defined in Swagger""" # noqa: E501
55
+ self._function = None
56
+ self._type = None
57
+ self.discriminator = None
58
+ if function is not None:
59
+ self.function = function
60
+ if type is not None:
61
+ self.type = type
62
+
63
+ @property
64
+ def function(self) -> 'V1FunctionTool':
65
+ """Gets the function of this V1Tool. # noqa: E501
66
+
67
+
68
+ :return: The function of this V1Tool. # noqa: E501
69
+ :rtype: V1FunctionTool
70
+ """
71
+ return self._function
72
+
73
+ @function.setter
74
+ def function(self, function: 'V1FunctionTool'):
75
+ """Sets the function of this V1Tool.
76
+
77
+
78
+ :param function: The function of this V1Tool. # noqa: E501
79
+ :type: V1FunctionTool
80
+ """
81
+
82
+ self._function = function
83
+
84
+ @property
85
+ def type(self) -> 'str':
86
+ """Gets the type of this V1Tool. # noqa: E501
87
+
88
+
89
+ :return: The type of this V1Tool. # noqa: E501
90
+ :rtype: str
91
+ """
92
+ return self._type
93
+
94
+ @type.setter
95
+ def type(self, type: 'str'):
96
+ """Sets the type of this V1Tool.
97
+
98
+
99
+ :param type: The type of this V1Tool. # noqa: E501
100
+ :type: str
101
+ """
102
+
103
+ self._type = type
104
+
105
+ def to_dict(self) -> dict:
106
+ """Returns the model properties as a dict"""
107
+ result = {}
108
+
109
+ for attr, _ in six.iteritems(self.swagger_types):
110
+ value = getattr(self, attr)
111
+ if isinstance(value, list):
112
+ result[attr] = list(map(
113
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
114
+ value
115
+ ))
116
+ elif hasattr(value, "to_dict"):
117
+ result[attr] = value.to_dict()
118
+ elif isinstance(value, dict):
119
+ result[attr] = dict(map(
120
+ lambda item: (item[0], item[1].to_dict())
121
+ if hasattr(item[1], "to_dict") else item,
122
+ value.items()
123
+ ))
124
+ else:
125
+ result[attr] = value
126
+ if issubclass(V1Tool, dict):
127
+ for key, value in self.items():
128
+ result[key] = value
129
+
130
+ return result
131
+
132
+ def to_str(self) -> str:
133
+ """Returns the string representation of the model"""
134
+ return pprint.pformat(self.to_dict())
135
+
136
+ def __repr__(self) -> str:
137
+ """For `print` and `pprint`"""
138
+ return self.to_str()
139
+
140
+ def __eq__(self, other: 'V1Tool') -> bool:
141
+ """Returns true if both objects are equal"""
142
+ if not isinstance(other, V1Tool):
143
+ return False
144
+
145
+ return self.__dict__ == other.__dict__
146
+
147
+ def __ne__(self, other: 'V1Tool') -> bool:
148
+ """Returns true if both objects are not equal"""
149
+ return not self == other
@@ -49,6 +49,7 @@ class V1UserFeatures(object):
49
49
  'auto_fast_load': 'bool',
50
50
  'auto_join_orgs': 'bool',
51
51
  'b2c_experience': 'bool',
52
+ 'byo_machine_type': 'bool',
52
53
  'cap_add': 'list[str]',
53
54
  'cap_drop': 'list[str]',
54
55
  'capacity_reservation_byoc': 'bool',
@@ -67,8 +68,10 @@ class V1UserFeatures(object):
67
68
  'deployment_persistent_disk': 'bool',
68
69
  'drive_v2': 'bool',
69
70
  'enterprise_compute_admin': 'bool',
71
+ 'f236': 'bool',
70
72
  'fair_share': 'bool',
71
73
  'featured_studios_admin': 'bool',
74
+ 'gcp_overprovisioning': 'bool',
72
75
  'gcs_connections_optimized': 'bool',
73
76
  'gcs_folders': 'bool',
74
77
  'gcs_fuse': 'bool',
@@ -111,6 +114,7 @@ class V1UserFeatures(object):
111
114
  'project_selector': 'bool',
112
115
  'publish_pipelines': 'bool',
113
116
  'r2_data_connections': 'bool',
117
+ 'r2_uploads': 'bool',
114
118
  'reserved_machines_tab': 'bool',
115
119
  'restartable_jobs': 'bool',
116
120
  'runnable_public_studio_page': 'bool',
@@ -142,6 +146,7 @@ class V1UserFeatures(object):
142
146
  'auto_fast_load': 'autoFastLoad',
143
147
  'auto_join_orgs': 'autoJoinOrgs',
144
148
  'b2c_experience': 'b2cExperience',
149
+ 'byo_machine_type': 'byoMachineType',
145
150
  'cap_add': 'capAdd',
146
151
  'cap_drop': 'capDrop',
147
152
  'capacity_reservation_byoc': 'capacityReservationByoc',
@@ -160,8 +165,10 @@ class V1UserFeatures(object):
160
165
  'deployment_persistent_disk': 'deploymentPersistentDisk',
161
166
  'drive_v2': 'driveV2',
162
167
  'enterprise_compute_admin': 'enterpriseComputeAdmin',
168
+ 'f236': 'f236',
163
169
  'fair_share': 'fairShare',
164
170
  'featured_studios_admin': 'featuredStudiosAdmin',
171
+ 'gcp_overprovisioning': 'gcpOverprovisioning',
165
172
  'gcs_connections_optimized': 'gcsConnectionsOptimized',
166
173
  'gcs_folders': 'gcsFolders',
167
174
  'gcs_fuse': 'gcsFuse',
@@ -204,6 +211,7 @@ class V1UserFeatures(object):
204
211
  'project_selector': 'projectSelector',
205
212
  'publish_pipelines': 'publishPipelines',
206
213
  'r2_data_connections': 'r2DataConnections',
214
+ 'r2_uploads': 'r2Uploads',
207
215
  'reserved_machines_tab': 'reservedMachinesTab',
208
216
  'restartable_jobs': 'restartableJobs',
209
217
  'runnable_public_studio_page': 'runnablePublicStudioPage',
@@ -226,7 +234,7 @@ class V1UserFeatures(object):
226
234
  'writable_s3_connections': 'writableS3Connections'
227
235
  }
228
236
 
229
- def __init__(self, academic_tier: 'bool' =None, add_data_v2: 'bool' =None, affiliate_links: 'bool' =None, agents_v2: 'bool' =None, ai_hub_monetization: 'bool' =None, auto_fast_load: 'bool' =None, auto_join_orgs: 'bool' =None, b2c_experience: 'bool' =None, cap_add: 'list[str]' =None, cap_drop: 'list[str]' =None, capacity_reservation_byoc: 'bool' =None, capacity_reservation_dry_run: 'bool' =None, chat_models: 'bool' =None, cloudspace_schedules: 'bool' =None, cloudy_vibe_code: 'bool' =None, code_tab: 'bool' =None, collab_screen_sharing: 'bool' =None, control_center_monitoring: 'bool' =None, cost_attribution_settings: 'bool' =None, custom_app_domain: 'bool' =None, data_connection_flushing_v2: 'bool' =None, datasets: 'bool' =None, default_one_cluster: 'bool' =None, deployment_persistent_disk: 'bool' =None, drive_v2: 'bool' =None, enterprise_compute_admin: 'bool' =None, fair_share: 'bool' =None, featured_studios_admin: 'bool' =None, gcs_connections_optimized: 'bool' =None, gcs_folders: 'bool' =None, gcs_fuse: 'bool' =None, instant_capacity_reservation: 'bool' =None, job_artifacts_v2: 'bool' =None, kubernetes_cluster_ui: 'bool' =None, kubernetes_clusters: 'bool' =None, lambda_labs: 'bool' =None, lambda_labs_studios: 'bool' =None, landing_studios: 'bool' =None, lit_logger: 'bool' =None, machine_selector_v2: 'bool' =None, marketplace: 'bool' =None, mmt_fault_tolerance: 'bool' =None, mmt_strategy_selector: 'bool' =None, model_api_dashboard: 'bool' =None, model_api_dashboard_clickhouse: 'bool' =None, multicloud_folders: 'bool' =None, multicloud_saas: 'bool' =None, multiple_studio_versions: 'bool' =None, nebius: 'bool' =None, nebius_cpu_studios: 'bool' =None, nebius_gpu_studios: 'bool' =None, nerf_fs_nonpaying: 'bool' =None, onboarding_v2: 'bool' =None, org_level_member_permissions: 'bool' =None, org_usage_limits: 'bool' =None, paygo_free_storage_limit_check: 'bool' =None, persistent_disk: 'bool' =None, plugin_distributed: 'bool' =None, plugin_inference: 'bool' =None, plugin_label_studio: 'bool' =None, plugin_langflow: 'bool' =None, plugin_python_profiler: 'bool' =None, plugin_service: 'bool' =None, plugin_sweeps: 'bool' =None, pricing_updates: 'bool' =None, product_generator: 'bool' =None, product_license: 'bool' =None, project_selector: 'bool' =None, publish_pipelines: 'bool' =None, r2_data_connections: 'bool' =None, reserved_machines_tab: 'bool' =None, restartable_jobs: 'bool' =None, runnable_public_studio_page: 'bool' =None, security_docs: 'bool' =None, show_dev_admin: 'bool' =None, single_wallet: 'bool' =None, slurm: 'bool' =None, specialised_studios: 'bool' =None, storage_overuse_deletion: 'bool' =None, studio_config: 'bool' =None, studio_sharing_v2: 'bool' =None, studio_version_visibility: 'bool' =None, trainium2: 'bool' =None, use_internal_data_connection_mounts: 'bool' =None, use_rclone_mounts_only: 'bool' =None, voltage_park: 'bool' =None, voltage_park_studios: 'bool' =None, vultr: 'bool' =None, weka: 'bool' =None, writable_s3_connections: 'bool' =None): # noqa: E501
237
+ def __init__(self, academic_tier: 'bool' =None, add_data_v2: 'bool' =None, affiliate_links: 'bool' =None, agents_v2: 'bool' =None, ai_hub_monetization: 'bool' =None, auto_fast_load: 'bool' =None, auto_join_orgs: 'bool' =None, b2c_experience: 'bool' =None, byo_machine_type: 'bool' =None, cap_add: 'list[str]' =None, cap_drop: 'list[str]' =None, capacity_reservation_byoc: 'bool' =None, capacity_reservation_dry_run: 'bool' =None, chat_models: 'bool' =None, cloudspace_schedules: 'bool' =None, cloudy_vibe_code: 'bool' =None, code_tab: 'bool' =None, collab_screen_sharing: 'bool' =None, control_center_monitoring: 'bool' =None, cost_attribution_settings: 'bool' =None, custom_app_domain: 'bool' =None, data_connection_flushing_v2: 'bool' =None, datasets: 'bool' =None, default_one_cluster: 'bool' =None, deployment_persistent_disk: 'bool' =None, drive_v2: 'bool' =None, enterprise_compute_admin: 'bool' =None, f236: 'bool' =None, fair_share: 'bool' =None, featured_studios_admin: 'bool' =None, gcp_overprovisioning: 'bool' =None, gcs_connections_optimized: 'bool' =None, gcs_folders: 'bool' =None, gcs_fuse: 'bool' =None, instant_capacity_reservation: 'bool' =None, job_artifacts_v2: 'bool' =None, kubernetes_cluster_ui: 'bool' =None, kubernetes_clusters: 'bool' =None, lambda_labs: 'bool' =None, lambda_labs_studios: 'bool' =None, landing_studios: 'bool' =None, lit_logger: 'bool' =None, machine_selector_v2: 'bool' =None, marketplace: 'bool' =None, mmt_fault_tolerance: 'bool' =None, mmt_strategy_selector: 'bool' =None, model_api_dashboard: 'bool' =None, model_api_dashboard_clickhouse: 'bool' =None, multicloud_folders: 'bool' =None, multicloud_saas: 'bool' =None, multiple_studio_versions: 'bool' =None, nebius: 'bool' =None, nebius_cpu_studios: 'bool' =None, nebius_gpu_studios: 'bool' =None, nerf_fs_nonpaying: 'bool' =None, onboarding_v2: 'bool' =None, org_level_member_permissions: 'bool' =None, org_usage_limits: 'bool' =None, paygo_free_storage_limit_check: 'bool' =None, persistent_disk: 'bool' =None, plugin_distributed: 'bool' =None, plugin_inference: 'bool' =None, plugin_label_studio: 'bool' =None, plugin_langflow: 'bool' =None, plugin_python_profiler: 'bool' =None, plugin_service: 'bool' =None, plugin_sweeps: 'bool' =None, pricing_updates: 'bool' =None, product_generator: 'bool' =None, product_license: 'bool' =None, project_selector: 'bool' =None, publish_pipelines: 'bool' =None, r2_data_connections: 'bool' =None, r2_uploads: 'bool' =None, reserved_machines_tab: 'bool' =None, restartable_jobs: 'bool' =None, runnable_public_studio_page: 'bool' =None, security_docs: 'bool' =None, show_dev_admin: 'bool' =None, single_wallet: 'bool' =None, slurm: 'bool' =None, specialised_studios: 'bool' =None, storage_overuse_deletion: 'bool' =None, studio_config: 'bool' =None, studio_sharing_v2: 'bool' =None, studio_version_visibility: 'bool' =None, trainium2: 'bool' =None, use_internal_data_connection_mounts: 'bool' =None, use_rclone_mounts_only: 'bool' =None, voltage_park: 'bool' =None, voltage_park_studios: 'bool' =None, vultr: 'bool' =None, weka: 'bool' =None, writable_s3_connections: 'bool' =None): # noqa: E501
230
238
  """V1UserFeatures - a model defined in Swagger""" # noqa: E501
231
239
  self._academic_tier = None
232
240
  self._add_data_v2 = None
@@ -236,6 +244,7 @@ class V1UserFeatures(object):
236
244
  self._auto_fast_load = None
237
245
  self._auto_join_orgs = None
238
246
  self._b2c_experience = None
247
+ self._byo_machine_type = None
239
248
  self._cap_add = None
240
249
  self._cap_drop = None
241
250
  self._capacity_reservation_byoc = None
@@ -254,8 +263,10 @@ class V1UserFeatures(object):
254
263
  self._deployment_persistent_disk = None
255
264
  self._drive_v2 = None
256
265
  self._enterprise_compute_admin = None
266
+ self._f236 = None
257
267
  self._fair_share = None
258
268
  self._featured_studios_admin = None
269
+ self._gcp_overprovisioning = None
259
270
  self._gcs_connections_optimized = None
260
271
  self._gcs_folders = None
261
272
  self._gcs_fuse = None
@@ -298,6 +309,7 @@ class V1UserFeatures(object):
298
309
  self._project_selector = None
299
310
  self._publish_pipelines = None
300
311
  self._r2_data_connections = None
312
+ self._r2_uploads = None
301
313
  self._reserved_machines_tab = None
302
314
  self._restartable_jobs = None
303
315
  self._runnable_public_studio_page = None
@@ -335,6 +347,8 @@ class V1UserFeatures(object):
335
347
  self.auto_join_orgs = auto_join_orgs
336
348
  if b2c_experience is not None:
337
349
  self.b2c_experience = b2c_experience
350
+ if byo_machine_type is not None:
351
+ self.byo_machine_type = byo_machine_type
338
352
  if cap_add is not None:
339
353
  self.cap_add = cap_add
340
354
  if cap_drop is not None:
@@ -371,10 +385,14 @@ class V1UserFeatures(object):
371
385
  self.drive_v2 = drive_v2
372
386
  if enterprise_compute_admin is not None:
373
387
  self.enterprise_compute_admin = enterprise_compute_admin
388
+ if f236 is not None:
389
+ self.f236 = f236
374
390
  if fair_share is not None:
375
391
  self.fair_share = fair_share
376
392
  if featured_studios_admin is not None:
377
393
  self.featured_studios_admin = featured_studios_admin
394
+ if gcp_overprovisioning is not None:
395
+ self.gcp_overprovisioning = gcp_overprovisioning
378
396
  if gcs_connections_optimized is not None:
379
397
  self.gcs_connections_optimized = gcs_connections_optimized
380
398
  if gcs_folders is not None:
@@ -459,6 +477,8 @@ class V1UserFeatures(object):
459
477
  self.publish_pipelines = publish_pipelines
460
478
  if r2_data_connections is not None:
461
479
  self.r2_data_connections = r2_data_connections
480
+ if r2_uploads is not None:
481
+ self.r2_uploads = r2_uploads
462
482
  if reserved_machines_tab is not None:
463
483
  self.reserved_machines_tab = reserved_machines_tab
464
484
  if restartable_jobs is not None:
@@ -668,6 +688,27 @@ class V1UserFeatures(object):
668
688
 
669
689
  self._b2c_experience = b2c_experience
670
690
 
691
+ @property
692
+ def byo_machine_type(self) -> 'bool':
693
+ """Gets the byo_machine_type of this V1UserFeatures. # noqa: E501
694
+
695
+
696
+ :return: The byo_machine_type of this V1UserFeatures. # noqa: E501
697
+ :rtype: bool
698
+ """
699
+ return self._byo_machine_type
700
+
701
+ @byo_machine_type.setter
702
+ def byo_machine_type(self, byo_machine_type: 'bool'):
703
+ """Sets the byo_machine_type of this V1UserFeatures.
704
+
705
+
706
+ :param byo_machine_type: The byo_machine_type of this V1UserFeatures. # noqa: E501
707
+ :type: bool
708
+ """
709
+
710
+ self._byo_machine_type = byo_machine_type
711
+
671
712
  @property
672
713
  def cap_add(self) -> 'list[str]':
673
714
  """Gets the cap_add of this V1UserFeatures. # noqa: E501
@@ -1046,6 +1087,27 @@ class V1UserFeatures(object):
1046
1087
 
1047
1088
  self._enterprise_compute_admin = enterprise_compute_admin
1048
1089
 
1090
+ @property
1091
+ def f236(self) -> 'bool':
1092
+ """Gets the f236 of this V1UserFeatures. # noqa: E501
1093
+
1094
+
1095
+ :return: The f236 of this V1UserFeatures. # noqa: E501
1096
+ :rtype: bool
1097
+ """
1098
+ return self._f236
1099
+
1100
+ @f236.setter
1101
+ def f236(self, f236: 'bool'):
1102
+ """Sets the f236 of this V1UserFeatures.
1103
+
1104
+
1105
+ :param f236: The f236 of this V1UserFeatures. # noqa: E501
1106
+ :type: bool
1107
+ """
1108
+
1109
+ self._f236 = f236
1110
+
1049
1111
  @property
1050
1112
  def fair_share(self) -> 'bool':
1051
1113
  """Gets the fair_share of this V1UserFeatures. # noqa: E501
@@ -1088,6 +1150,27 @@ class V1UserFeatures(object):
1088
1150
 
1089
1151
  self._featured_studios_admin = featured_studios_admin
1090
1152
 
1153
+ @property
1154
+ def gcp_overprovisioning(self) -> 'bool':
1155
+ """Gets the gcp_overprovisioning of this V1UserFeatures. # noqa: E501
1156
+
1157
+
1158
+ :return: The gcp_overprovisioning of this V1UserFeatures. # noqa: E501
1159
+ :rtype: bool
1160
+ """
1161
+ return self._gcp_overprovisioning
1162
+
1163
+ @gcp_overprovisioning.setter
1164
+ def gcp_overprovisioning(self, gcp_overprovisioning: 'bool'):
1165
+ """Sets the gcp_overprovisioning of this V1UserFeatures.
1166
+
1167
+
1168
+ :param gcp_overprovisioning: The gcp_overprovisioning of this V1UserFeatures. # noqa: E501
1169
+ :type: bool
1170
+ """
1171
+
1172
+ self._gcp_overprovisioning = gcp_overprovisioning
1173
+
1091
1174
  @property
1092
1175
  def gcs_connections_optimized(self) -> 'bool':
1093
1176
  """Gets the gcs_connections_optimized of this V1UserFeatures. # noqa: E501
@@ -1970,6 +2053,27 @@ class V1UserFeatures(object):
1970
2053
 
1971
2054
  self._r2_data_connections = r2_data_connections
1972
2055
 
2056
+ @property
2057
+ def r2_uploads(self) -> 'bool':
2058
+ """Gets the r2_uploads of this V1UserFeatures. # noqa: E501
2059
+
2060
+
2061
+ :return: The r2_uploads of this V1UserFeatures. # noqa: E501
2062
+ :rtype: bool
2063
+ """
2064
+ return self._r2_uploads
2065
+
2066
+ @r2_uploads.setter
2067
+ def r2_uploads(self, r2_uploads: 'bool'):
2068
+ """Sets the r2_uploads of this V1UserFeatures.
2069
+
2070
+
2071
+ :param r2_uploads: The r2_uploads of this V1UserFeatures. # noqa: E501
2072
+ :type: bool
2073
+ """
2074
+
2075
+ self._r2_uploads = r2_uploads
2076
+
1973
2077
  @property
1974
2078
  def reserved_machines_tab(self) -> 'bool':
1975
2079
  """Gets the reserved_machines_tab of this V1UserFeatures. # noqa: E501
@@ -57,6 +57,7 @@ class V1Volume(object):
57
57
  'server_id': 'str',
58
58
  'size_gb': 'str',
59
59
  'state': 'V1VolumeState',
60
+ 'subnet_id': 'str',
60
61
  'throughput': 'str',
61
62
  'type': 'str',
62
63
  'updated_at': 'datetime',
@@ -80,13 +81,14 @@ class V1Volume(object):
80
81
  'server_id': 'serverId',
81
82
  'size_gb': 'sizeGb',
82
83
  'state': 'state',
84
+ 'subnet_id': 'subnetId',
83
85
  'throughput': 'throughput',
84
86
  'type': 'type',
85
87
  'updated_at': 'updatedAt',
86
88
  'user_id': 'userId'
87
89
  }
88
90
 
89
- def __init__(self, attached_at: 'datetime' =None, availability_zone: 'str' =None, detached_at: 'datetime' =None, encrypted: 'bool' =None, iops: 'str' =None, metadata: 'V1Metadata' =None, path: 'str' =None, provider: 'str' =None, provider_id: 'str' =None, region: 'str' =None, resource_id: 'str' =None, resource_type: 'str' =None, retention_period: 'str' =None, server_id: 'str' =None, size_gb: 'str' =None, state: 'V1VolumeState' =None, throughput: 'str' =None, type: 'str' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
91
+ def __init__(self, attached_at: 'datetime' =None, availability_zone: 'str' =None, detached_at: 'datetime' =None, encrypted: 'bool' =None, iops: 'str' =None, metadata: 'V1Metadata' =None, path: 'str' =None, provider: 'str' =None, provider_id: 'str' =None, region: 'str' =None, resource_id: 'str' =None, resource_type: 'str' =None, retention_period: 'str' =None, server_id: 'str' =None, size_gb: 'str' =None, state: 'V1VolumeState' =None, subnet_id: 'str' =None, throughput: 'str' =None, type: 'str' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
90
92
  """V1Volume - a model defined in Swagger""" # noqa: E501
91
93
  self._attached_at = None
92
94
  self._availability_zone = None
@@ -104,6 +106,7 @@ class V1Volume(object):
104
106
  self._server_id = None
105
107
  self._size_gb = None
106
108
  self._state = None
109
+ self._subnet_id = None
107
110
  self._throughput = None
108
111
  self._type = None
109
112
  self._updated_at = None
@@ -141,6 +144,8 @@ class V1Volume(object):
141
144
  self.size_gb = size_gb
142
145
  if state is not None:
143
146
  self.state = state
147
+ if subnet_id is not None:
148
+ self.subnet_id = subnet_id
144
149
  if throughput is not None:
145
150
  self.throughput = throughput
146
151
  if type is not None:
@@ -486,6 +491,27 @@ class V1Volume(object):
486
491
 
487
492
  self._state = state
488
493
 
494
+ @property
495
+ def subnet_id(self) -> 'str':
496
+ """Gets the subnet_id of this V1Volume. # noqa: E501
497
+
498
+
499
+ :return: The subnet_id of this V1Volume. # noqa: E501
500
+ :rtype: str
501
+ """
502
+ return self._subnet_id
503
+
504
+ @subnet_id.setter
505
+ def subnet_id(self, subnet_id: 'str'):
506
+ """Sets the subnet_id of this V1Volume.
507
+
508
+
509
+ :param subnet_id: The subnet_id of this V1Volume. # noqa: E501
510
+ :type: str
511
+ """
512
+
513
+ self._subnet_id = subnet_id
514
+
489
515
  @property
490
516
  def throughput(self) -> 'str':
491
517
  """Gets the throughput of this V1Volume. # noqa: E501