lightning-sdk 2025.8.8.post1__py3-none-any.whl → 2025.8.14__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 (37) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/studio_api.py +26 -4
  3. lightning_sdk/lightning_cloud/openapi/__init__.py +7 -0
  4. lightning_sdk/lightning_cloud/openapi/api/cloud_space_environment_template_service_api.py +5 -1
  5. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +113 -0
  6. lightning_sdk/lightning_cloud/openapi/api/cloudy_service_api.py +0 -97
  7. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +339 -0
  8. lightning_sdk/lightning_cloud/openapi/models/__init__.py +7 -0
  9. lightning_sdk/lightning_cloud/openapi/models/cluster_id_metrics_body.py +27 -1
  10. lightning_sdk/lightning_cloud/openapi/models/create.py +27 -1
  11. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  12. lightning_sdk/lightning_cloud/openapi/models/id_sleepconfig_body.py +175 -0
  13. lightning_sdk/lightning_cloud/openapi/models/v1_billing_tier.py +0 -1
  14. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_transfer_metadata.py +69 -17
  15. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_metrics.py +53 -1
  16. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +27 -1
  17. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +1 -27
  18. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +27 -1
  19. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +29 -3
  20. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_metrics_response.py +123 -0
  21. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_namespace_metrics_response.py +123 -0
  22. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_namespace_user_metrics_response.py +123 -0
  23. lightning_sdk/lightning_cloud/openapi/models/v1_lustre_data_connection.py +149 -0
  24. lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_request.py +1 -27
  25. lightning_sdk/lightning_cloud/openapi/models/v1_namespace_metrics.py +591 -0
  26. lightning_sdk/lightning_cloud/openapi/models/v1_namespace_user_metrics.py +435 -0
  27. lightning_sdk/lightning_cloud/openapi/models/v1_pod_metrics.py +55 -3
  28. lightning_sdk/lightning_cloud/openapi/models/v1_storage_asset.py +27 -1
  29. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +1 -27
  30. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +27 -53
  31. lightning_sdk/studio.py +9 -2
  32. {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.dist-info}/METADATA +1 -1
  33. {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.dist-info}/RECORD +37 -30
  34. {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.dist-info}/LICENSE +0 -0
  35. {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.dist-info}/WHEEL +0 -0
  36. {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.dist-info}/entry_points.txt +0 -0
  37. {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,175 @@
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 IdSleepconfigBody(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
+ 'disable_auto_shutdown': 'bool',
45
+ 'idle_shutdown_seconds': 'int',
46
+ 'switch_to_default_machine_on_idle': 'bool'
47
+ }
48
+
49
+ attribute_map = {
50
+ 'disable_auto_shutdown': 'disableAutoShutdown',
51
+ 'idle_shutdown_seconds': 'idleShutdownSeconds',
52
+ 'switch_to_default_machine_on_idle': 'switchToDefaultMachineOnIdle'
53
+ }
54
+
55
+ def __init__(self, disable_auto_shutdown: 'bool' =None, idle_shutdown_seconds: 'int' =None, switch_to_default_machine_on_idle: 'bool' =None): # noqa: E501
56
+ """IdSleepconfigBody - a model defined in Swagger""" # noqa: E501
57
+ self._disable_auto_shutdown = None
58
+ self._idle_shutdown_seconds = None
59
+ self._switch_to_default_machine_on_idle = None
60
+ self.discriminator = None
61
+ if disable_auto_shutdown is not None:
62
+ self.disable_auto_shutdown = disable_auto_shutdown
63
+ if idle_shutdown_seconds is not None:
64
+ self.idle_shutdown_seconds = idle_shutdown_seconds
65
+ if switch_to_default_machine_on_idle is not None:
66
+ self.switch_to_default_machine_on_idle = switch_to_default_machine_on_idle
67
+
68
+ @property
69
+ def disable_auto_shutdown(self) -> 'bool':
70
+ """Gets the disable_auto_shutdown of this IdSleepconfigBody. # noqa: E501
71
+
72
+
73
+ :return: The disable_auto_shutdown of this IdSleepconfigBody. # noqa: E501
74
+ :rtype: bool
75
+ """
76
+ return self._disable_auto_shutdown
77
+
78
+ @disable_auto_shutdown.setter
79
+ def disable_auto_shutdown(self, disable_auto_shutdown: 'bool'):
80
+ """Sets the disable_auto_shutdown of this IdSleepconfigBody.
81
+
82
+
83
+ :param disable_auto_shutdown: The disable_auto_shutdown of this IdSleepconfigBody. # noqa: E501
84
+ :type: bool
85
+ """
86
+
87
+ self._disable_auto_shutdown = disable_auto_shutdown
88
+
89
+ @property
90
+ def idle_shutdown_seconds(self) -> 'int':
91
+ """Gets the idle_shutdown_seconds of this IdSleepconfigBody. # noqa: E501
92
+
93
+
94
+ :return: The idle_shutdown_seconds of this IdSleepconfigBody. # noqa: E501
95
+ :rtype: int
96
+ """
97
+ return self._idle_shutdown_seconds
98
+
99
+ @idle_shutdown_seconds.setter
100
+ def idle_shutdown_seconds(self, idle_shutdown_seconds: 'int'):
101
+ """Sets the idle_shutdown_seconds of this IdSleepconfigBody.
102
+
103
+
104
+ :param idle_shutdown_seconds: The idle_shutdown_seconds of this IdSleepconfigBody. # noqa: E501
105
+ :type: int
106
+ """
107
+
108
+ self._idle_shutdown_seconds = idle_shutdown_seconds
109
+
110
+ @property
111
+ def switch_to_default_machine_on_idle(self) -> 'bool':
112
+ """Gets the switch_to_default_machine_on_idle of this IdSleepconfigBody. # noqa: E501
113
+
114
+
115
+ :return: The switch_to_default_machine_on_idle of this IdSleepconfigBody. # noqa: E501
116
+ :rtype: bool
117
+ """
118
+ return self._switch_to_default_machine_on_idle
119
+
120
+ @switch_to_default_machine_on_idle.setter
121
+ def switch_to_default_machine_on_idle(self, switch_to_default_machine_on_idle: 'bool'):
122
+ """Sets the switch_to_default_machine_on_idle of this IdSleepconfigBody.
123
+
124
+
125
+ :param switch_to_default_machine_on_idle: The switch_to_default_machine_on_idle of this IdSleepconfigBody. # noqa: E501
126
+ :type: bool
127
+ """
128
+
129
+ self._switch_to_default_machine_on_idle = switch_to_default_machine_on_idle
130
+
131
+ def to_dict(self) -> dict:
132
+ """Returns the model properties as a dict"""
133
+ result = {}
134
+
135
+ for attr, _ in six.iteritems(self.swagger_types):
136
+ value = getattr(self, attr)
137
+ if isinstance(value, list):
138
+ result[attr] = list(map(
139
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
140
+ value
141
+ ))
142
+ elif hasattr(value, "to_dict"):
143
+ result[attr] = value.to_dict()
144
+ elif isinstance(value, dict):
145
+ result[attr] = dict(map(
146
+ lambda item: (item[0], item[1].to_dict())
147
+ if hasattr(item[1], "to_dict") else item,
148
+ value.items()
149
+ ))
150
+ else:
151
+ result[attr] = value
152
+ if issubclass(IdSleepconfigBody, dict):
153
+ for key, value in self.items():
154
+ result[key] = value
155
+
156
+ return result
157
+
158
+ def to_str(self) -> str:
159
+ """Returns the string representation of the model"""
160
+ return pprint.pformat(self.to_dict())
161
+
162
+ def __repr__(self) -> str:
163
+ """For `print` and `pprint`"""
164
+ return self.to_str()
165
+
166
+ def __eq__(self, other: 'IdSleepconfigBody') -> bool:
167
+ """Returns true if both objects are equal"""
168
+ if not isinstance(other, IdSleepconfigBody):
169
+ return False
170
+
171
+ return self.__dict__ == other.__dict__
172
+
173
+ def __ne__(self, other: 'IdSleepconfigBody') -> bool:
174
+ """Returns true if both objects are not equal"""
175
+ return not self == other
@@ -41,7 +41,6 @@ class V1BillingTier(object):
41
41
  PRO = "Pro"
42
42
  TEAMS = "Teams"
43
43
  ENTERPRISE = "Enterprise"
44
- DISCOUNTED_PRO = "Discounted_Pro"
45
44
  ACADEMIC = "Academic"
46
45
  """
47
46
  Attributes:
@@ -41,55 +41,65 @@ class V1CloudSpaceTransferMetadata(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'initial_transfer_completed_at': 'datetime',
44
+ 'initial_transfer_started_at': 'datetime',
45
45
  'requested_code_config': 'V1UpdateCloudSpaceInstanceConfigRequest',
46
46
  'source_cluster_id': 'str',
47
- 'target_cluster_id': 'str'
47
+ 'target_cloud_provider': 'str',
48
+ 'target_cluster_id': 'str',
49
+ 'top_up_transfer_started_at': 'datetime'
48
50
  }
49
51
 
50
52
  attribute_map = {
51
- 'initial_transfer_completed_at': 'initialTransferCompletedAt',
53
+ 'initial_transfer_started_at': 'initialTransferStartedAt',
52
54
  'requested_code_config': 'requestedCodeConfig',
53
55
  'source_cluster_id': 'sourceClusterId',
54
- 'target_cluster_id': 'targetClusterId'
56
+ 'target_cloud_provider': 'targetCloudProvider',
57
+ 'target_cluster_id': 'targetClusterId',
58
+ 'top_up_transfer_started_at': 'topUpTransferStartedAt'
55
59
  }
56
60
 
57
- def __init__(self, initial_transfer_completed_at: 'datetime' =None, requested_code_config: 'V1UpdateCloudSpaceInstanceConfigRequest' =None, source_cluster_id: 'str' =None, target_cluster_id: 'str' =None): # noqa: E501
61
+ def __init__(self, initial_transfer_started_at: 'datetime' =None, requested_code_config: 'V1UpdateCloudSpaceInstanceConfigRequest' =None, source_cluster_id: 'str' =None, target_cloud_provider: 'str' =None, target_cluster_id: 'str' =None, top_up_transfer_started_at: 'datetime' =None): # noqa: E501
58
62
  """V1CloudSpaceTransferMetadata - a model defined in Swagger""" # noqa: E501
59
- self._initial_transfer_completed_at = None
63
+ self._initial_transfer_started_at = None
60
64
  self._requested_code_config = None
61
65
  self._source_cluster_id = None
66
+ self._target_cloud_provider = None
62
67
  self._target_cluster_id = None
68
+ self._top_up_transfer_started_at = None
63
69
  self.discriminator = None
64
- if initial_transfer_completed_at is not None:
65
- self.initial_transfer_completed_at = initial_transfer_completed_at
70
+ if initial_transfer_started_at is not None:
71
+ self.initial_transfer_started_at = initial_transfer_started_at
66
72
  if requested_code_config is not None:
67
73
  self.requested_code_config = requested_code_config
68
74
  if source_cluster_id is not None:
69
75
  self.source_cluster_id = source_cluster_id
76
+ if target_cloud_provider is not None:
77
+ self.target_cloud_provider = target_cloud_provider
70
78
  if target_cluster_id is not None:
71
79
  self.target_cluster_id = target_cluster_id
80
+ if top_up_transfer_started_at is not None:
81
+ self.top_up_transfer_started_at = top_up_transfer_started_at
72
82
 
73
83
  @property
74
- def initial_transfer_completed_at(self) -> 'datetime':
75
- """Gets the initial_transfer_completed_at of this V1CloudSpaceTransferMetadata. # noqa: E501
84
+ def initial_transfer_started_at(self) -> 'datetime':
85
+ """Gets the initial_transfer_started_at of this V1CloudSpaceTransferMetadata. # noqa: E501
76
86
 
77
87
 
78
- :return: The initial_transfer_completed_at of this V1CloudSpaceTransferMetadata. # noqa: E501
88
+ :return: The initial_transfer_started_at of this V1CloudSpaceTransferMetadata. # noqa: E501
79
89
  :rtype: datetime
80
90
  """
81
- return self._initial_transfer_completed_at
91
+ return self._initial_transfer_started_at
82
92
 
83
- @initial_transfer_completed_at.setter
84
- def initial_transfer_completed_at(self, initial_transfer_completed_at: 'datetime'):
85
- """Sets the initial_transfer_completed_at of this V1CloudSpaceTransferMetadata.
93
+ @initial_transfer_started_at.setter
94
+ def initial_transfer_started_at(self, initial_transfer_started_at: 'datetime'):
95
+ """Sets the initial_transfer_started_at of this V1CloudSpaceTransferMetadata.
86
96
 
87
97
 
88
- :param initial_transfer_completed_at: The initial_transfer_completed_at of this V1CloudSpaceTransferMetadata. # noqa: E501
98
+ :param initial_transfer_started_at: The initial_transfer_started_at of this V1CloudSpaceTransferMetadata. # noqa: E501
89
99
  :type: datetime
90
100
  """
91
101
 
92
- self._initial_transfer_completed_at = initial_transfer_completed_at
102
+ self._initial_transfer_started_at = initial_transfer_started_at
93
103
 
94
104
  @property
95
105
  def requested_code_config(self) -> 'V1UpdateCloudSpaceInstanceConfigRequest':
@@ -133,6 +143,27 @@ class V1CloudSpaceTransferMetadata(object):
133
143
 
134
144
  self._source_cluster_id = source_cluster_id
135
145
 
146
+ @property
147
+ def target_cloud_provider(self) -> 'str':
148
+ """Gets the target_cloud_provider of this V1CloudSpaceTransferMetadata. # noqa: E501
149
+
150
+
151
+ :return: The target_cloud_provider of this V1CloudSpaceTransferMetadata. # noqa: E501
152
+ :rtype: str
153
+ """
154
+ return self._target_cloud_provider
155
+
156
+ @target_cloud_provider.setter
157
+ def target_cloud_provider(self, target_cloud_provider: 'str'):
158
+ """Sets the target_cloud_provider of this V1CloudSpaceTransferMetadata.
159
+
160
+
161
+ :param target_cloud_provider: The target_cloud_provider of this V1CloudSpaceTransferMetadata. # noqa: E501
162
+ :type: str
163
+ """
164
+
165
+ self._target_cloud_provider = target_cloud_provider
166
+
136
167
  @property
137
168
  def target_cluster_id(self) -> 'str':
138
169
  """Gets the target_cluster_id of this V1CloudSpaceTransferMetadata. # noqa: E501
@@ -154,6 +185,27 @@ class V1CloudSpaceTransferMetadata(object):
154
185
 
155
186
  self._target_cluster_id = target_cluster_id
156
187
 
188
+ @property
189
+ def top_up_transfer_started_at(self) -> 'datetime':
190
+ """Gets the top_up_transfer_started_at of this V1CloudSpaceTransferMetadata. # noqa: E501
191
+
192
+
193
+ :return: The top_up_transfer_started_at of this V1CloudSpaceTransferMetadata. # noqa: E501
194
+ :rtype: datetime
195
+ """
196
+ return self._top_up_transfer_started_at
197
+
198
+ @top_up_transfer_started_at.setter
199
+ def top_up_transfer_started_at(self, top_up_transfer_started_at: 'datetime'):
200
+ """Sets the top_up_transfer_started_at of this V1CloudSpaceTransferMetadata.
201
+
202
+
203
+ :param top_up_transfer_started_at: The top_up_transfer_started_at of this V1CloudSpaceTransferMetadata. # noqa: E501
204
+ :type: datetime
205
+ """
206
+
207
+ self._top_up_transfer_started_at = top_up_transfer_started_at
208
+
157
209
  def to_dict(self) -> dict:
158
210
  """Returns the model properties as a dict"""
159
211
  result = {}
@@ -44,6 +44,7 @@ class V1ClusterMetrics(object):
44
44
  'cpus_util': 'float',
45
45
  'filesystem_inode_util': 'float',
46
46
  'filesystem_read_rate': 'float',
47
+ 'filesystem_total': 'float',
47
48
  'filesystem_util': 'float',
48
49
  'filesystem_write_rate': 'float',
49
50
  'gpus_energy_avg': 'float',
@@ -52,6 +53,7 @@ class V1ClusterMetrics(object):
52
53
  'gpus_util': 'float',
53
54
  'num_cpus': 'int',
54
55
  'num_gpus': 'int',
56
+ 'num_gpus_allocable': 'int',
55
57
  'num_limit_cpus': 'int',
56
58
  'num_limit_gpus': 'int',
57
59
  'num_namespaces': 'int',
@@ -77,6 +79,7 @@ class V1ClusterMetrics(object):
77
79
  'cpus_util': 'cpusUtil',
78
80
  'filesystem_inode_util': 'filesystemInodeUtil',
79
81
  'filesystem_read_rate': 'filesystemReadRate',
82
+ 'filesystem_total': 'filesystemTotal',
80
83
  'filesystem_util': 'filesystemUtil',
81
84
  'filesystem_write_rate': 'filesystemWriteRate',
82
85
  'gpus_energy_avg': 'gpusEnergyAvg',
@@ -85,6 +88,7 @@ class V1ClusterMetrics(object):
85
88
  'gpus_util': 'gpusUtil',
86
89
  'num_cpus': 'numCpus',
87
90
  'num_gpus': 'numGpus',
91
+ 'num_gpus_allocable': 'numGpusAllocable',
88
92
  'num_limit_cpus': 'numLimitCpus',
89
93
  'num_limit_gpus': 'numLimitGpus',
90
94
  'num_namespaces': 'numNamespaces',
@@ -106,11 +110,12 @@ class V1ClusterMetrics(object):
106
110
  'vram_util': 'vramUtil'
107
111
  }
108
112
 
109
- def __init__(self, cpus_util: 'float' =None, filesystem_inode_util: 'float' =None, filesystem_read_rate: 'float' =None, filesystem_util: 'float' =None, filesystem_write_rate: 'float' =None, gpus_energy_avg: 'float' =None, gpus_energy_total: 'float' =None, gpus_temp_avg: 'float' =None, gpus_util: 'float' =None, num_cpus: 'int' =None, num_gpus: 'int' =None, num_limit_cpus: 'int' =None, num_limit_gpus: 'int' =None, num_namespaces: 'int' =None, num_nodes: 'int' =None, num_pods: 'int' =None, num_requested_cpus: 'int' =None, num_requested_gpus: 'int' =None, ram_limit: 'str' =None, ram_requested: 'str' =None, ram_total: 'str' =None, ram_util: 'float' =None, timestamp: 'datetime' =None, vram_limit: 'float' =None, vram_read_write_util: 'float' =None, vram_requested: 'float' =None, vram_total: 'str' =None, vram_used_avg: 'float' =None, vram_used_total: 'float' =None, vram_util: 'float' =None): # noqa: E501
113
+ def __init__(self, cpus_util: 'float' =None, filesystem_inode_util: 'float' =None, filesystem_read_rate: 'float' =None, filesystem_total: 'float' =None, filesystem_util: 'float' =None, filesystem_write_rate: 'float' =None, gpus_energy_avg: 'float' =None, gpus_energy_total: 'float' =None, gpus_temp_avg: 'float' =None, gpus_util: 'float' =None, num_cpus: 'int' =None, num_gpus: 'int' =None, num_gpus_allocable: 'int' =None, num_limit_cpus: 'int' =None, num_limit_gpus: 'int' =None, num_namespaces: 'int' =None, num_nodes: 'int' =None, num_pods: 'int' =None, num_requested_cpus: 'int' =None, num_requested_gpus: 'int' =None, ram_limit: 'str' =None, ram_requested: 'str' =None, ram_total: 'str' =None, ram_util: 'float' =None, timestamp: 'datetime' =None, vram_limit: 'float' =None, vram_read_write_util: 'float' =None, vram_requested: 'float' =None, vram_total: 'str' =None, vram_used_avg: 'float' =None, vram_used_total: 'float' =None, vram_util: 'float' =None): # noqa: E501
110
114
  """V1ClusterMetrics - a model defined in Swagger""" # noqa: E501
111
115
  self._cpus_util = None
112
116
  self._filesystem_inode_util = None
113
117
  self._filesystem_read_rate = None
118
+ self._filesystem_total = None
114
119
  self._filesystem_util = None
115
120
  self._filesystem_write_rate = None
116
121
  self._gpus_energy_avg = None
@@ -119,6 +124,7 @@ class V1ClusterMetrics(object):
119
124
  self._gpus_util = None
120
125
  self._num_cpus = None
121
126
  self._num_gpus = None
127
+ self._num_gpus_allocable = None
122
128
  self._num_limit_cpus = None
123
129
  self._num_limit_gpus = None
124
130
  self._num_namespaces = None
@@ -145,6 +151,8 @@ class V1ClusterMetrics(object):
145
151
  self.filesystem_inode_util = filesystem_inode_util
146
152
  if filesystem_read_rate is not None:
147
153
  self.filesystem_read_rate = filesystem_read_rate
154
+ if filesystem_total is not None:
155
+ self.filesystem_total = filesystem_total
148
156
  if filesystem_util is not None:
149
157
  self.filesystem_util = filesystem_util
150
158
  if filesystem_write_rate is not None:
@@ -161,6 +169,8 @@ class V1ClusterMetrics(object):
161
169
  self.num_cpus = num_cpus
162
170
  if num_gpus is not None:
163
171
  self.num_gpus = num_gpus
172
+ if num_gpus_allocable is not None:
173
+ self.num_gpus_allocable = num_gpus_allocable
164
174
  if num_limit_cpus is not None:
165
175
  self.num_limit_cpus = num_limit_cpus
166
176
  if num_limit_gpus is not None:
@@ -263,6 +273,27 @@ class V1ClusterMetrics(object):
263
273
 
264
274
  self._filesystem_read_rate = filesystem_read_rate
265
275
 
276
+ @property
277
+ def filesystem_total(self) -> 'float':
278
+ """Gets the filesystem_total of this V1ClusterMetrics. # noqa: E501
279
+
280
+
281
+ :return: The filesystem_total of this V1ClusterMetrics. # noqa: E501
282
+ :rtype: float
283
+ """
284
+ return self._filesystem_total
285
+
286
+ @filesystem_total.setter
287
+ def filesystem_total(self, filesystem_total: 'float'):
288
+ """Sets the filesystem_total of this V1ClusterMetrics.
289
+
290
+
291
+ :param filesystem_total: The filesystem_total of this V1ClusterMetrics. # noqa: E501
292
+ :type: float
293
+ """
294
+
295
+ self._filesystem_total = filesystem_total
296
+
266
297
  @property
267
298
  def filesystem_util(self) -> 'float':
268
299
  """Gets the filesystem_util of this V1ClusterMetrics. # noqa: E501
@@ -431,6 +462,27 @@ class V1ClusterMetrics(object):
431
462
 
432
463
  self._num_gpus = num_gpus
433
464
 
465
+ @property
466
+ def num_gpus_allocable(self) -> 'int':
467
+ """Gets the num_gpus_allocable of this V1ClusterMetrics. # noqa: E501
468
+
469
+
470
+ :return: The num_gpus_allocable of this V1ClusterMetrics. # noqa: E501
471
+ :rtype: int
472
+ """
473
+ return self._num_gpus_allocable
474
+
475
+ @num_gpus_allocable.setter
476
+ def num_gpus_allocable(self, num_gpus_allocable: 'int'):
477
+ """Sets the num_gpus_allocable of this V1ClusterMetrics.
478
+
479
+
480
+ :param num_gpus_allocable: The num_gpus_allocable of this V1ClusterMetrics. # noqa: E501
481
+ :type: int
482
+ """
483
+
484
+ self._num_gpus_allocable = num_gpus_allocable
485
+
434
486
  @property
435
487
  def num_limit_cpus(self) -> 'int':
436
488
  """Gets the num_limit_cpus of this V1ClusterMetrics. # noqa: E501
@@ -57,6 +57,7 @@ class V1DataConnection(object):
57
57
  'is_cache': 'bool',
58
58
  'is_managed': 'bool',
59
59
  'lock_out': 'bool',
60
+ 'lustre': 'V1LustreDataConnection',
60
61
  'name': 'str',
61
62
  'number_of_files': 'str',
62
63
  'project_id': 'str',
@@ -91,6 +92,7 @@ class V1DataConnection(object):
91
92
  'is_cache': 'isCache',
92
93
  'is_managed': 'isManaged',
93
94
  'lock_out': 'lockOut',
95
+ 'lustre': 'lustre',
94
96
  'name': 'name',
95
97
  'number_of_files': 'numberOfFiles',
96
98
  'project_id': 'projectId',
@@ -108,7 +110,7 @@ class V1DataConnection(object):
108
110
  'writable': 'writable'
109
111
  }
110
112
 
111
- def __init__(self, access_cluster_ids: 'list[str]' =None, accessible: 'bool' =None, aws: 'V1AwsDataConnection' =None, cluster_id: 'str' =None, created_at: 'datetime' =None, efs: 'V1EfsConfig' =None, error: 'str' =None, filestore: 'V1FilestoreDataConnection' =None, gcp: 'V1GcpDataConnection' =None, gcs_folder: 'V1GCSFolderDataConnection' =None, id: 'str' =None, index: 'V1Index' =None, is_billable_folder: 'bool' =None, is_cache: 'bool' =None, is_managed: 'bool' =None, lock_out: 'bool' =None, name: 'str' =None, number_of_files: 'str' =None, project_id: 'str' =None, r2: 'V1R2DataConnection' =None, run_cmds: 'list[str]' =None, s3_folder: 'V1S3FolderDataConnection' =None, snowflake: 'V1SnowflakeDataConnection' =None, state: 'V1DataConnectionState' =None, total_daily_read_bytes: 'str' =None, total_daily_write_bytes: 'str' =None, total_size_bytes: 'str' =None, type: 'str' =None, updated_at: 'datetime' =None, weka: 'V1WekaDataConnection' =None, writable: 'bool' =None): # noqa: E501
113
+ def __init__(self, access_cluster_ids: 'list[str]' =None, accessible: 'bool' =None, aws: 'V1AwsDataConnection' =None, cluster_id: 'str' =None, created_at: 'datetime' =None, efs: 'V1EfsConfig' =None, error: 'str' =None, filestore: 'V1FilestoreDataConnection' =None, gcp: 'V1GcpDataConnection' =None, gcs_folder: 'V1GCSFolderDataConnection' =None, id: 'str' =None, index: 'V1Index' =None, is_billable_folder: 'bool' =None, is_cache: 'bool' =None, is_managed: 'bool' =None, lock_out: 'bool' =None, lustre: 'V1LustreDataConnection' =None, name: 'str' =None, number_of_files: 'str' =None, project_id: 'str' =None, r2: 'V1R2DataConnection' =None, run_cmds: 'list[str]' =None, s3_folder: 'V1S3FolderDataConnection' =None, snowflake: 'V1SnowflakeDataConnection' =None, state: 'V1DataConnectionState' =None, total_daily_read_bytes: 'str' =None, total_daily_write_bytes: 'str' =None, total_size_bytes: 'str' =None, type: 'str' =None, updated_at: 'datetime' =None, weka: 'V1WekaDataConnection' =None, writable: 'bool' =None): # noqa: E501
112
114
  """V1DataConnection - a model defined in Swagger""" # noqa: E501
113
115
  self._access_cluster_ids = None
114
116
  self._accessible = None
@@ -126,6 +128,7 @@ class V1DataConnection(object):
126
128
  self._is_cache = None
127
129
  self._is_managed = None
128
130
  self._lock_out = None
131
+ self._lustre = None
129
132
  self._name = None
130
133
  self._number_of_files = None
131
134
  self._project_id = None
@@ -174,6 +177,8 @@ class V1DataConnection(object):
174
177
  self.is_managed = is_managed
175
178
  if lock_out is not None:
176
179
  self.lock_out = lock_out
180
+ if lustre is not None:
181
+ self.lustre = lustre
177
182
  if name is not None:
178
183
  self.name = name
179
184
  if number_of_files is not None:
@@ -541,6 +546,27 @@ class V1DataConnection(object):
541
546
 
542
547
  self._lock_out = lock_out
543
548
 
549
+ @property
550
+ def lustre(self) -> 'V1LustreDataConnection':
551
+ """Gets the lustre of this V1DataConnection. # noqa: E501
552
+
553
+
554
+ :return: The lustre of this V1DataConnection. # noqa: E501
555
+ :rtype: V1LustreDataConnection
556
+ """
557
+ return self._lustre
558
+
559
+ @lustre.setter
560
+ def lustre(self, lustre: 'V1LustreDataConnection'):
561
+ """Sets the lustre of this V1DataConnection.
562
+
563
+
564
+ :param lustre: The lustre of this V1DataConnection. # noqa: E501
565
+ :type: V1LustreDataConnection
566
+ """
567
+
568
+ self._lustre = lustre
569
+
544
570
  @property
545
571
  def name(self) -> 'str':
546
572
  """Gets the name of this V1DataConnection. # noqa: E501
@@ -47,7 +47,6 @@ class V1GetUserResponse(object):
47
47
  'auto_replenish_amount': 'float',
48
48
  'auto_replenish_threshold': 'float',
49
49
  'country': 'str',
50
- 'discounted_pro_plan': 'bool',
51
50
  'email': 'str',
52
51
  'experimentation_id': 'str',
53
52
  'features': 'V1UserFeatures',
@@ -91,7 +90,6 @@ class V1GetUserResponse(object):
91
90
  'auto_replenish_amount': 'autoReplenishAmount',
92
91
  'auto_replenish_threshold': 'autoReplenishThreshold',
93
92
  'country': 'country',
94
- 'discounted_pro_plan': 'discountedProPlan',
95
93
  'email': 'email',
96
94
  'experimentation_id': 'experimentationId',
97
95
  'features': 'features',
@@ -128,7 +126,7 @@ class V1GetUserResponse(object):
128
126
  'website': 'website'
129
127
  }
130
128
 
131
- def __init__(self, agree_to_terms_and_conditions: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, api_key: 'str' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, country: 'str' =None, discounted_pro_plan: 'bool' =None, email: 'str' =None, experimentation_id: 'str' =None, features: 'V1UserFeatures' =None, first_name: 'str' =None, general_audience_mode: 'bool' =None, id: 'str' =None, internal_blog_admin: 'bool' =None, internal_docs_admin: 'bool' =None, invite_code: 'str' =None, is_internal: 'bool' =None, last_name: 'str' =None, non_developer_mode: 'bool' =None, opted_in_marketing_emails: 'bool' =None, organization: 'str' =None, organizations: 'list[V1Organization]' =None, phone_number: 'str' =None, picture_url: 'str' =None, preferred_color_scheme: 'str' =None, preferred_ide: 'str' =None, preferred_shell: 'str' =None, preferred_vscode_marketplace: 'str' =None, role: 'str' =None, saw_create_first_project_dialog: 'bool' =None, saw_forums_login_merge_dialog: 'bool' =None, saw_free_credits_notification: 'bool' =None, sb: 'bool' =None, status: 'Externalv1UserStatus' =None, storage_bytes: 'str' =None, storage_overuse_deletion_at: 'datetime' =None, test_user: 'bool' =None, user_metadata: 'str' =None, username: 'str' =None, waitlisted: 'bool' =None, website: 'str' =None): # noqa: E501
129
+ def __init__(self, agree_to_terms_and_conditions: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, api_key: 'str' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, country: 'str' =None, email: 'str' =None, experimentation_id: 'str' =None, features: 'V1UserFeatures' =None, first_name: 'str' =None, general_audience_mode: 'bool' =None, id: 'str' =None, internal_blog_admin: 'bool' =None, internal_docs_admin: 'bool' =None, invite_code: 'str' =None, is_internal: 'bool' =None, last_name: 'str' =None, non_developer_mode: 'bool' =None, opted_in_marketing_emails: 'bool' =None, organization: 'str' =None, organizations: 'list[V1Organization]' =None, phone_number: 'str' =None, picture_url: 'str' =None, preferred_color_scheme: 'str' =None, preferred_ide: 'str' =None, preferred_shell: 'str' =None, preferred_vscode_marketplace: 'str' =None, role: 'str' =None, saw_create_first_project_dialog: 'bool' =None, saw_forums_login_merge_dialog: 'bool' =None, saw_free_credits_notification: 'bool' =None, sb: 'bool' =None, status: 'Externalv1UserStatus' =None, storage_bytes: 'str' =None, storage_overuse_deletion_at: 'datetime' =None, test_user: 'bool' =None, user_metadata: 'str' =None, username: 'str' =None, waitlisted: 'bool' =None, website: 'str' =None): # noqa: E501
132
130
  """V1GetUserResponse - a model defined in Swagger""" # noqa: E501
133
131
  self._agree_to_terms_and_conditions = None
134
132
  self._allow_credits_auto_replenish = None
@@ -136,7 +134,6 @@ class V1GetUserResponse(object):
136
134
  self._auto_replenish_amount = None
137
135
  self._auto_replenish_threshold = None
138
136
  self._country = None
139
- self._discounted_pro_plan = None
140
137
  self._email = None
141
138
  self._experimentation_id = None
142
139
  self._features = None
@@ -184,8 +181,6 @@ class V1GetUserResponse(object):
184
181
  self.auto_replenish_threshold = auto_replenish_threshold
185
182
  if country is not None:
186
183
  self.country = country
187
- if discounted_pro_plan is not None:
188
- self.discounted_pro_plan = discounted_pro_plan
189
184
  if email is not None:
190
185
  self.email = email
191
186
  if experimentation_id is not None:
@@ -381,27 +376,6 @@ class V1GetUserResponse(object):
381
376
 
382
377
  self._country = country
383
378
 
384
- @property
385
- def discounted_pro_plan(self) -> 'bool':
386
- """Gets the discounted_pro_plan of this V1GetUserResponse. # noqa: E501
387
-
388
-
389
- :return: The discounted_pro_plan of this V1GetUserResponse. # noqa: E501
390
- :rtype: bool
391
- """
392
- return self._discounted_pro_plan
393
-
394
- @discounted_pro_plan.setter
395
- def discounted_pro_plan(self, discounted_pro_plan: 'bool'):
396
- """Sets the discounted_pro_plan of this V1GetUserResponse.
397
-
398
-
399
- :param discounted_pro_plan: The discounted_pro_plan of this V1GetUserResponse. # noqa: E501
400
- :type: bool
401
- """
402
-
403
- self._discounted_pro_plan = discounted_pro_plan
404
-
405
379
  @property
406
380
  def email(self) -> 'str':
407
381
  """Gets the email of this V1GetUserResponse. # noqa: E501
@@ -47,6 +47,7 @@ class V1GoogleCloudDirectV1(object):
47
47
  'credentials_secret_id': 'str',
48
48
  'credentials_service_account_email': 'str',
49
49
  'custom_subnet_mode': 'bool',
50
+ 'filestore_firewall_mode_enabled': 'bool',
50
51
  'inventory_dataset': 'str',
51
52
  'inventory_table': 'str',
52
53
  'primary_region': 'str',
@@ -66,6 +67,7 @@ class V1GoogleCloudDirectV1(object):
66
67
  'credentials_secret_id': 'credentialsSecretId',
67
68
  'credentials_service_account_email': 'credentialsServiceAccountEmail',
68
69
  'custom_subnet_mode': 'customSubnetMode',
70
+ 'filestore_firewall_mode_enabled': 'filestoreFirewallModeEnabled',
69
71
  'inventory_dataset': 'inventoryDataset',
70
72
  'inventory_table': 'inventoryTable',
71
73
  'primary_region': 'primaryRegion',
@@ -78,7 +80,7 @@ class V1GoogleCloudDirectV1(object):
78
80
  'vpcs': 'vpcs'
79
81
  }
80
82
 
81
- def __init__(self, bucket_name: 'str' =None, compute_project_role: 'str' =None, compute_service_account_email: 'str' =None, credentials_secret_id: 'str' =None, credentials_service_account_email: 'str' =None, custom_subnet_mode: 'bool' =None, inventory_dataset: 'str' =None, inventory_table: 'str' =None, primary_region: 'str' =None, project_id: 'str' =None, project_sa_enabled: 'bool' =None, regions: 'list[str]' =None, service_account_email: 'str' =None, source_cidr_ips: 'list[str]' =None, subnets: 'list[V1SubnetSpec]' =None, vpcs: 'list[V1GCPDirectVPC]' =None): # noqa: E501
83
+ def __init__(self, bucket_name: 'str' =None, compute_project_role: 'str' =None, compute_service_account_email: 'str' =None, credentials_secret_id: 'str' =None, credentials_service_account_email: 'str' =None, custom_subnet_mode: 'bool' =None, filestore_firewall_mode_enabled: 'bool' =None, inventory_dataset: 'str' =None, inventory_table: 'str' =None, primary_region: 'str' =None, project_id: 'str' =None, project_sa_enabled: 'bool' =None, regions: 'list[str]' =None, service_account_email: 'str' =None, source_cidr_ips: 'list[str]' =None, subnets: 'list[V1SubnetSpec]' =None, vpcs: 'list[V1GCPDirectVPC]' =None): # noqa: E501
82
84
  """V1GoogleCloudDirectV1 - a model defined in Swagger""" # noqa: E501
83
85
  self._bucket_name = None
84
86
  self._compute_project_role = None
@@ -86,6 +88,7 @@ class V1GoogleCloudDirectV1(object):
86
88
  self._credentials_secret_id = None
87
89
  self._credentials_service_account_email = None
88
90
  self._custom_subnet_mode = None
91
+ self._filestore_firewall_mode_enabled = None
89
92
  self._inventory_dataset = None
90
93
  self._inventory_table = None
91
94
  self._primary_region = None
@@ -109,6 +112,8 @@ class V1GoogleCloudDirectV1(object):
109
112
  self.credentials_service_account_email = credentials_service_account_email
110
113
  if custom_subnet_mode is not None:
111
114
  self.custom_subnet_mode = custom_subnet_mode
115
+ if filestore_firewall_mode_enabled is not None:
116
+ self.filestore_firewall_mode_enabled = filestore_firewall_mode_enabled
112
117
  if inventory_dataset is not None:
113
118
  self.inventory_dataset = inventory_dataset
114
119
  if inventory_table is not None:
@@ -258,6 +263,27 @@ class V1GoogleCloudDirectV1(object):
258
263
 
259
264
  self._custom_subnet_mode = custom_subnet_mode
260
265
 
266
+ @property
267
+ def filestore_firewall_mode_enabled(self) -> 'bool':
268
+ """Gets the filestore_firewall_mode_enabled of this V1GoogleCloudDirectV1. # noqa: E501
269
+
270
+
271
+ :return: The filestore_firewall_mode_enabled of this V1GoogleCloudDirectV1. # noqa: E501
272
+ :rtype: bool
273
+ """
274
+ return self._filestore_firewall_mode_enabled
275
+
276
+ @filestore_firewall_mode_enabled.setter
277
+ def filestore_firewall_mode_enabled(self, filestore_firewall_mode_enabled: 'bool'):
278
+ """Sets the filestore_firewall_mode_enabled of this V1GoogleCloudDirectV1.
279
+
280
+
281
+ :param filestore_firewall_mode_enabled: The filestore_firewall_mode_enabled of this V1GoogleCloudDirectV1. # noqa: E501
282
+ :type: bool
283
+ """
284
+
285
+ self._filestore_firewall_mode_enabled = filestore_firewall_mode_enabled
286
+
261
287
  @property
262
288
  def inventory_dataset(self) -> 'str':
263
289
  """Gets the inventory_dataset of this V1GoogleCloudDirectV1. # noqa: E501