lightning-sdk 2025.10.27__py3-none-any.whl → 2025.10.31__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 (39) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/deployment_api.py +16 -0
  3. lightning_sdk/api/teamspace_api.py +1 -1
  4. lightning_sdk/cli/legacy/deploy/_auth.py +1 -2
  5. lightning_sdk/cli/utils/teamspace_selection.py +4 -5
  6. lightning_sdk/deployment/deployment.py +2 -1
  7. lightning_sdk/lightning_cloud/openapi/__init__.py +8 -0
  8. lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
  9. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +234 -0
  10. lightning_sdk/lightning_cloud/openapi/api/markets_service_api.py +145 -0
  11. lightning_sdk/lightning_cloud/openapi/models/__init__.py +7 -0
  12. lightning_sdk/lightning_cloud/openapi/models/message_id_actions_body.py +201 -0
  13. lightning_sdk/lightning_cloud/openapi/models/project_id_storagetransfers_body.py +27 -1
  14. lightning_sdk/lightning_cloud/openapi/models/projects_id_body.py +27 -1
  15. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template_config.py +27 -1
  16. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_specialized_view.py +1 -0
  17. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  18. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +27 -1
  19. lightning_sdk/lightning_cloud/openapi/models/v1_create_project_request.py +27 -1
  20. lightning_sdk/lightning_cloud/openapi/models/v1_get_market_pricing_response.py +201 -0
  21. lightning_sdk/lightning_cloud/openapi/models/v1_incident_type.py +1 -0
  22. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_aws_config.py +279 -0
  23. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_settings_v1.py +253 -0
  24. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +53 -1
  25. lightning_sdk/lightning_cloud/openapi/models/v1_list_conversation_message_actions_response.py +123 -0
  26. lightning_sdk/lightning_cloud/openapi/models/v1_market_price.py +149 -0
  27. lightning_sdk/lightning_cloud/openapi/models/v1_membership.py +27 -1
  28. lightning_sdk/lightning_cloud/openapi/models/v1_message_action.py +279 -0
  29. lightning_sdk/lightning_cloud/openapi/models/v1_project_membership.py +27 -1
  30. lightning_sdk/lightning_cloud/openapi/models/v1_project_settings.py +27 -1
  31. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +79 -183
  32. lightning_sdk/studio.py +3 -2
  33. lightning_sdk/utils/logging.py +72 -0
  34. {lightning_sdk-2025.10.27.dist-info → lightning_sdk-2025.10.31.dist-info}/METADATA +1 -1
  35. {lightning_sdk-2025.10.27.dist-info → lightning_sdk-2025.10.31.dist-info}/RECORD +39 -30
  36. {lightning_sdk-2025.10.27.dist-info → lightning_sdk-2025.10.31.dist-info}/LICENSE +0 -0
  37. {lightning_sdk-2025.10.27.dist-info → lightning_sdk-2025.10.31.dist-info}/WHEEL +0 -0
  38. {lightning_sdk-2025.10.27.dist-info → lightning_sdk-2025.10.31.dist-info}/entry_points.txt +0 -0
  39. {lightning_sdk-2025.10.27.dist-info → lightning_sdk-2025.10.31.dist-info}/top_level.txt +0 -0
@@ -42,6 +42,7 @@ class V1Membership(object):
42
42
  """
43
43
  swagger_types = {
44
44
  'balance': 'float',
45
+ 'budgeting_enabled': 'bool',
45
46
  'created_at': 'datetime',
46
47
  'creator_id': 'str',
47
48
  'current_storage_bytes': 'str',
@@ -67,6 +68,7 @@ class V1Membership(object):
67
68
 
68
69
  attribute_map = {
69
70
  'balance': 'balance',
71
+ 'budgeting_enabled': 'budgetingEnabled',
70
72
  'created_at': 'createdAt',
71
73
  'creator_id': 'creatorId',
72
74
  'current_storage_bytes': 'currentStorageBytes',
@@ -90,9 +92,10 @@ class V1Membership(object):
90
92
  'user_id': 'userId'
91
93
  }
92
94
 
93
- def __init__(self, balance: 'float' =None, created_at: 'datetime' =None, creator_id: 'str' =None, current_storage_bytes: 'str' =None, datastore_count: 'str' =None, description: 'str' =None, display_name: 'str' =None, free_credits_enabled: 'bool' =None, free_storage_bytes: 'str' =None, is_default: 'bool' =None, job_count: 'str' =None, membership_count: 'str' =None, name: 'str' =None, next_free_credits_grant: 'str' =None, organization_billing_enabled: 'bool' =None, owner_id: 'str' =None, owner_type: 'V1OwnerType' =None, project_id: 'str' =None, quotas: 'V1Quotas' =None, roles: 'list[V1Role]' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
95
+ def __init__(self, balance: 'float' =None, budgeting_enabled: 'bool' =None, created_at: 'datetime' =None, creator_id: 'str' =None, current_storage_bytes: 'str' =None, datastore_count: 'str' =None, description: 'str' =None, display_name: 'str' =None, free_credits_enabled: 'bool' =None, free_storage_bytes: 'str' =None, is_default: 'bool' =None, job_count: 'str' =None, membership_count: 'str' =None, name: 'str' =None, next_free_credits_grant: 'str' =None, organization_billing_enabled: 'bool' =None, owner_id: 'str' =None, owner_type: 'V1OwnerType' =None, project_id: 'str' =None, quotas: 'V1Quotas' =None, roles: 'list[V1Role]' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
94
96
  """V1Membership - a model defined in Swagger""" # noqa: E501
95
97
  self._balance = None
98
+ self._budgeting_enabled = None
96
99
  self._created_at = None
97
100
  self._creator_id = None
98
101
  self._current_storage_bytes = None
@@ -117,6 +120,8 @@ class V1Membership(object):
117
120
  self.discriminator = None
118
121
  if balance is not None:
119
122
  self.balance = balance
123
+ if budgeting_enabled is not None:
124
+ self.budgeting_enabled = budgeting_enabled
120
125
  if created_at is not None:
121
126
  self.created_at = created_at
122
127
  if creator_id is not None:
@@ -181,6 +186,27 @@ class V1Membership(object):
181
186
 
182
187
  self._balance = balance
183
188
 
189
+ @property
190
+ def budgeting_enabled(self) -> 'bool':
191
+ """Gets the budgeting_enabled of this V1Membership. # noqa: E501
192
+
193
+
194
+ :return: The budgeting_enabled of this V1Membership. # noqa: E501
195
+ :rtype: bool
196
+ """
197
+ return self._budgeting_enabled
198
+
199
+ @budgeting_enabled.setter
200
+ def budgeting_enabled(self, budgeting_enabled: 'bool'):
201
+ """Sets the budgeting_enabled of this V1Membership.
202
+
203
+
204
+ :param budgeting_enabled: The budgeting_enabled of this V1Membership. # noqa: E501
205
+ :type: bool
206
+ """
207
+
208
+ self._budgeting_enabled = budgeting_enabled
209
+
184
210
  @property
185
211
  def created_at(self) -> 'datetime':
186
212
  """Gets the created_at of this V1Membership. # noqa: E501
@@ -0,0 +1,279 @@
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 V1MessageAction(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
+ 'actioned_at': 'datetime',
45
+ 'assistant_id': 'str',
46
+ 'block_id': 'str',
47
+ 'conversation_id': 'str',
48
+ 'message_id': 'str',
49
+ 'project_id': 'str',
50
+ 'type': 'str'
51
+ }
52
+
53
+ attribute_map = {
54
+ 'actioned_at': 'actionedAt',
55
+ 'assistant_id': 'assistantId',
56
+ 'block_id': 'blockId',
57
+ 'conversation_id': 'conversationId',
58
+ 'message_id': 'messageId',
59
+ 'project_id': 'projectId',
60
+ 'type': 'type'
61
+ }
62
+
63
+ def __init__(self, actioned_at: 'datetime' =None, assistant_id: 'str' =None, block_id: 'str' =None, conversation_id: 'str' =None, message_id: 'str' =None, project_id: 'str' =None, type: 'str' =None): # noqa: E501
64
+ """V1MessageAction - a model defined in Swagger""" # noqa: E501
65
+ self._actioned_at = None
66
+ self._assistant_id = None
67
+ self._block_id = None
68
+ self._conversation_id = None
69
+ self._message_id = None
70
+ self._project_id = None
71
+ self._type = None
72
+ self.discriminator = None
73
+ if actioned_at is not None:
74
+ self.actioned_at = actioned_at
75
+ if assistant_id is not None:
76
+ self.assistant_id = assistant_id
77
+ if block_id is not None:
78
+ self.block_id = block_id
79
+ if conversation_id is not None:
80
+ self.conversation_id = conversation_id
81
+ if message_id is not None:
82
+ self.message_id = message_id
83
+ if project_id is not None:
84
+ self.project_id = project_id
85
+ if type is not None:
86
+ self.type = type
87
+
88
+ @property
89
+ def actioned_at(self) -> 'datetime':
90
+ """Gets the actioned_at of this V1MessageAction. # noqa: E501
91
+
92
+
93
+ :return: The actioned_at of this V1MessageAction. # noqa: E501
94
+ :rtype: datetime
95
+ """
96
+ return self._actioned_at
97
+
98
+ @actioned_at.setter
99
+ def actioned_at(self, actioned_at: 'datetime'):
100
+ """Sets the actioned_at of this V1MessageAction.
101
+
102
+
103
+ :param actioned_at: The actioned_at of this V1MessageAction. # noqa: E501
104
+ :type: datetime
105
+ """
106
+
107
+ self._actioned_at = actioned_at
108
+
109
+ @property
110
+ def assistant_id(self) -> 'str':
111
+ """Gets the assistant_id of this V1MessageAction. # noqa: E501
112
+
113
+
114
+ :return: The assistant_id of this V1MessageAction. # noqa: E501
115
+ :rtype: str
116
+ """
117
+ return self._assistant_id
118
+
119
+ @assistant_id.setter
120
+ def assistant_id(self, assistant_id: 'str'):
121
+ """Sets the assistant_id of this V1MessageAction.
122
+
123
+
124
+ :param assistant_id: The assistant_id of this V1MessageAction. # noqa: E501
125
+ :type: str
126
+ """
127
+
128
+ self._assistant_id = assistant_id
129
+
130
+ @property
131
+ def block_id(self) -> 'str':
132
+ """Gets the block_id of this V1MessageAction. # noqa: E501
133
+
134
+
135
+ :return: The block_id of this V1MessageAction. # noqa: E501
136
+ :rtype: str
137
+ """
138
+ return self._block_id
139
+
140
+ @block_id.setter
141
+ def block_id(self, block_id: 'str'):
142
+ """Sets the block_id of this V1MessageAction.
143
+
144
+
145
+ :param block_id: The block_id of this V1MessageAction. # noqa: E501
146
+ :type: str
147
+ """
148
+
149
+ self._block_id = block_id
150
+
151
+ @property
152
+ def conversation_id(self) -> 'str':
153
+ """Gets the conversation_id of this V1MessageAction. # noqa: E501
154
+
155
+
156
+ :return: The conversation_id of this V1MessageAction. # noqa: E501
157
+ :rtype: str
158
+ """
159
+ return self._conversation_id
160
+
161
+ @conversation_id.setter
162
+ def conversation_id(self, conversation_id: 'str'):
163
+ """Sets the conversation_id of this V1MessageAction.
164
+
165
+
166
+ :param conversation_id: The conversation_id of this V1MessageAction. # noqa: E501
167
+ :type: str
168
+ """
169
+
170
+ self._conversation_id = conversation_id
171
+
172
+ @property
173
+ def message_id(self) -> 'str':
174
+ """Gets the message_id of this V1MessageAction. # noqa: E501
175
+
176
+
177
+ :return: The message_id of this V1MessageAction. # noqa: E501
178
+ :rtype: str
179
+ """
180
+ return self._message_id
181
+
182
+ @message_id.setter
183
+ def message_id(self, message_id: 'str'):
184
+ """Sets the message_id of this V1MessageAction.
185
+
186
+
187
+ :param message_id: The message_id of this V1MessageAction. # noqa: E501
188
+ :type: str
189
+ """
190
+
191
+ self._message_id = message_id
192
+
193
+ @property
194
+ def project_id(self) -> 'str':
195
+ """Gets the project_id of this V1MessageAction. # noqa: E501
196
+
197
+
198
+ :return: The project_id of this V1MessageAction. # noqa: E501
199
+ :rtype: str
200
+ """
201
+ return self._project_id
202
+
203
+ @project_id.setter
204
+ def project_id(self, project_id: 'str'):
205
+ """Sets the project_id of this V1MessageAction.
206
+
207
+
208
+ :param project_id: The project_id of this V1MessageAction. # noqa: E501
209
+ :type: str
210
+ """
211
+
212
+ self._project_id = project_id
213
+
214
+ @property
215
+ def type(self) -> 'str':
216
+ """Gets the type of this V1MessageAction. # noqa: E501
217
+
218
+
219
+ :return: The type of this V1MessageAction. # noqa: E501
220
+ :rtype: str
221
+ """
222
+ return self._type
223
+
224
+ @type.setter
225
+ def type(self, type: 'str'):
226
+ """Sets the type of this V1MessageAction.
227
+
228
+
229
+ :param type: The type of this V1MessageAction. # noqa: E501
230
+ :type: str
231
+ """
232
+
233
+ self._type = type
234
+
235
+ def to_dict(self) -> dict:
236
+ """Returns the model properties as a dict"""
237
+ result = {}
238
+
239
+ for attr, _ in six.iteritems(self.swagger_types):
240
+ value = getattr(self, attr)
241
+ if isinstance(value, list):
242
+ result[attr] = list(map(
243
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
244
+ value
245
+ ))
246
+ elif hasattr(value, "to_dict"):
247
+ result[attr] = value.to_dict()
248
+ elif isinstance(value, dict):
249
+ result[attr] = dict(map(
250
+ lambda item: (item[0], item[1].to_dict())
251
+ if hasattr(item[1], "to_dict") else item,
252
+ value.items()
253
+ ))
254
+ else:
255
+ result[attr] = value
256
+ if issubclass(V1MessageAction, dict):
257
+ for key, value in self.items():
258
+ result[key] = value
259
+
260
+ return result
261
+
262
+ def to_str(self) -> str:
263
+ """Returns the string representation of the model"""
264
+ return pprint.pformat(self.to_dict())
265
+
266
+ def __repr__(self) -> str:
267
+ """For `print` and `pprint`"""
268
+ return self.to_str()
269
+
270
+ def __eq__(self, other: 'V1MessageAction') -> bool:
271
+ """Returns true if both objects are equal"""
272
+ if not isinstance(other, V1MessageAction):
273
+ return False
274
+
275
+ return self.__dict__ == other.__dict__
276
+
277
+ def __ne__(self, other: 'V1MessageAction') -> bool:
278
+ """Returns true if both objects are not equal"""
279
+ return not self == other
@@ -43,6 +43,7 @@ class V1ProjectMembership(object):
43
43
  swagger_types = {
44
44
  'avatar_url': 'str',
45
45
  'balance': 'float',
46
+ 'budgeting_enabled': 'bool',
46
47
  'created_at': 'datetime',
47
48
  'creator_id': 'str',
48
49
  'current_storage_bytes': 'str',
@@ -76,6 +77,7 @@ class V1ProjectMembership(object):
76
77
  attribute_map = {
77
78
  'avatar_url': 'avatarUrl',
78
79
  'balance': 'balance',
80
+ 'budgeting_enabled': 'budgetingEnabled',
79
81
  'created_at': 'createdAt',
80
82
  'creator_id': 'creatorId',
81
83
  'current_storage_bytes': 'currentStorageBytes',
@@ -106,10 +108,11 @@ class V1ProjectMembership(object):
106
108
  'username': 'username'
107
109
  }
108
110
 
109
- def __init__(self, avatar_url: 'str' =None, balance: 'float' =None, created_at: 'datetime' =None, creator_id: 'str' =None, current_storage_bytes: 'str' =None, datastore_count: 'str' =None, description: 'str' =None, display_name: 'str' =None, email: 'str' =None, first_name: 'str' =None, free_credits_enabled: 'bool' =None, free_storage_bytes: 'str' =None, inactive: 'bool' =None, is_default: 'bool' =None, job_count: 'str' =None, job_title: 'str' =None, last_name: 'str' =None, membership_count: 'str' =None, name: 'str' =None, next_free_credits_grant: 'str' =None, organization: 'str' =None, organization_billing_enabled: 'bool' =None, owner_id: 'str' =None, owner_type: 'V1OwnerType' =None, project_id: 'str' =None, quotas: 'V1Quotas' =None, roles: 'list[V1Role]' =None, updated_at: 'datetime' =None, user_id: 'str' =None, username: 'str' =None): # noqa: E501
111
+ def __init__(self, avatar_url: 'str' =None, balance: 'float' =None, budgeting_enabled: 'bool' =None, created_at: 'datetime' =None, creator_id: 'str' =None, current_storage_bytes: 'str' =None, datastore_count: 'str' =None, description: 'str' =None, display_name: 'str' =None, email: 'str' =None, first_name: 'str' =None, free_credits_enabled: 'bool' =None, free_storage_bytes: 'str' =None, inactive: 'bool' =None, is_default: 'bool' =None, job_count: 'str' =None, job_title: 'str' =None, last_name: 'str' =None, membership_count: 'str' =None, name: 'str' =None, next_free_credits_grant: 'str' =None, organization: 'str' =None, organization_billing_enabled: 'bool' =None, owner_id: 'str' =None, owner_type: 'V1OwnerType' =None, project_id: 'str' =None, quotas: 'V1Quotas' =None, roles: 'list[V1Role]' =None, updated_at: 'datetime' =None, user_id: 'str' =None, username: 'str' =None): # noqa: E501
110
112
  """V1ProjectMembership - a model defined in Swagger""" # noqa: E501
111
113
  self._avatar_url = None
112
114
  self._balance = None
115
+ self._budgeting_enabled = None
113
116
  self._created_at = None
114
117
  self._creator_id = None
115
118
  self._current_storage_bytes = None
@@ -143,6 +146,8 @@ class V1ProjectMembership(object):
143
146
  self.avatar_url = avatar_url
144
147
  if balance is not None:
145
148
  self.balance = balance
149
+ if budgeting_enabled is not None:
150
+ self.budgeting_enabled = budgeting_enabled
146
151
  if created_at is not None:
147
152
  self.created_at = created_at
148
153
  if creator_id is not None:
@@ -242,6 +247,27 @@ class V1ProjectMembership(object):
242
247
 
243
248
  self._balance = balance
244
249
 
250
+ @property
251
+ def budgeting_enabled(self) -> 'bool':
252
+ """Gets the budgeting_enabled of this V1ProjectMembership. # noqa: E501
253
+
254
+
255
+ :return: The budgeting_enabled of this V1ProjectMembership. # noqa: E501
256
+ :rtype: bool
257
+ """
258
+ return self._budgeting_enabled
259
+
260
+ @budgeting_enabled.setter
261
+ def budgeting_enabled(self, budgeting_enabled: 'bool'):
262
+ """Sets the budgeting_enabled of this V1ProjectMembership.
263
+
264
+
265
+ :param budgeting_enabled: The budgeting_enabled of this V1ProjectMembership. # noqa: E501
266
+ :type: bool
267
+ """
268
+
269
+ self._budgeting_enabled = budgeting_enabled
270
+
245
271
  @property
246
272
  def created_at(self) -> 'datetime':
247
273
  """Gets the created_at of this V1ProjectMembership. # noqa: E501
@@ -54,6 +54,7 @@ class V1ProjectSettings(object):
54
54
  'auto_replenish_amount': 'float',
55
55
  'auto_replenish_threshold': 'float',
56
56
  'auto_switch_machine': 'bool',
57
+ 'budgeting_enabled': 'bool',
57
58
  'default_machine_image_version': 'str',
58
59
  'default_machine_type': 'str',
59
60
  'organization_billing_enabled': 'bool',
@@ -79,6 +80,7 @@ class V1ProjectSettings(object):
79
80
  'auto_replenish_amount': 'autoReplenishAmount',
80
81
  'auto_replenish_threshold': 'autoReplenishThreshold',
81
82
  'auto_switch_machine': 'autoSwitchMachine',
83
+ 'budgeting_enabled': 'budgetingEnabled',
82
84
  'default_machine_image_version': 'defaultMachineImageVersion',
83
85
  'default_machine_type': 'defaultMachineType',
84
86
  'organization_billing_enabled': 'organizationBillingEnabled',
@@ -90,7 +92,7 @@ class V1ProjectSettings(object):
90
92
  'switch_to_default_machine_on_idle': 'switchToDefaultMachineOnIdle'
91
93
  }
92
94
 
93
- def __init__(self, allow_aws_saas: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, allow_dgx_saas: 'bool' =None, allow_external_project_duplication: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_lightning_saas: 'bool' =None, allow_nebius_saas: 'bool' =None, allow_voltage_park_saas: 'bool' =None, allow_vultr_saas: 'bool' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, auto_switch_machine: 'bool' =None, default_machine_image_version: 'str' =None, default_machine_type: 'str' =None, organization_billing_enabled: 'bool' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, same_compute_on_resume: 'bool' =None, start_studio_on_spot_instance: 'bool' =None, switch_to_default_machine_on_idle: 'bool' =None): # noqa: E501
95
+ def __init__(self, allow_aws_saas: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, allow_dgx_saas: 'bool' =None, allow_external_project_duplication: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_lightning_saas: 'bool' =None, allow_nebius_saas: 'bool' =None, allow_voltage_park_saas: 'bool' =None, allow_vultr_saas: 'bool' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, auto_switch_machine: 'bool' =None, budgeting_enabled: 'bool' =None, default_machine_image_version: 'str' =None, default_machine_type: 'str' =None, organization_billing_enabled: 'bool' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, same_compute_on_resume: 'bool' =None, start_studio_on_spot_instance: 'bool' =None, switch_to_default_machine_on_idle: 'bool' =None): # noqa: E501
94
96
  """V1ProjectSettings - a model defined in Swagger""" # noqa: E501
95
97
  self._allow_aws_saas = None
96
98
  self._allow_credits_auto_replenish = None
@@ -105,6 +107,7 @@ class V1ProjectSettings(object):
105
107
  self._auto_replenish_amount = None
106
108
  self._auto_replenish_threshold = None
107
109
  self._auto_switch_machine = None
110
+ self._budgeting_enabled = None
108
111
  self._default_machine_image_version = None
109
112
  self._default_machine_type = None
110
113
  self._organization_billing_enabled = None
@@ -141,6 +144,8 @@ class V1ProjectSettings(object):
141
144
  self.auto_replenish_threshold = auto_replenish_threshold
142
145
  if auto_switch_machine is not None:
143
146
  self.auto_switch_machine = auto_switch_machine
147
+ if budgeting_enabled is not None:
148
+ self.budgeting_enabled = budgeting_enabled
144
149
  if default_machine_image_version is not None:
145
150
  self.default_machine_image_version = default_machine_image_version
146
151
  if default_machine_type is not None:
@@ -435,6 +440,27 @@ class V1ProjectSettings(object):
435
440
 
436
441
  self._auto_switch_machine = auto_switch_machine
437
442
 
443
+ @property
444
+ def budgeting_enabled(self) -> 'bool':
445
+ """Gets the budgeting_enabled of this V1ProjectSettings. # noqa: E501
446
+
447
+
448
+ :return: The budgeting_enabled of this V1ProjectSettings. # noqa: E501
449
+ :rtype: bool
450
+ """
451
+ return self._budgeting_enabled
452
+
453
+ @budgeting_enabled.setter
454
+ def budgeting_enabled(self, budgeting_enabled: 'bool'):
455
+ """Sets the budgeting_enabled of this V1ProjectSettings.
456
+
457
+
458
+ :param budgeting_enabled: The budgeting_enabled of this V1ProjectSettings. # noqa: E501
459
+ :type: bool
460
+ """
461
+
462
+ self._budgeting_enabled = budgeting_enabled
463
+
438
464
  @property
439
465
  def default_machine_image_version(self) -> 'str':
440
466
  """Gets the default_machine_image_version of this V1ProjectSettings. # noqa: E501