lightning-sdk 2025.10.14__py3-none-any.whl → 2025.10.23__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 (76) hide show
  1. lightning_sdk/__init__.py +6 -3
  2. lightning_sdk/api/base_studio_api.py +13 -9
  3. lightning_sdk/api/job_api.py +4 -1
  4. lightning_sdk/api/license_api.py +26 -59
  5. lightning_sdk/api/studio_api.py +7 -2
  6. lightning_sdk/base_studio.py +30 -17
  7. lightning_sdk/cli/base_studio/list.py +1 -3
  8. lightning_sdk/cli/entrypoint.py +11 -34
  9. lightning_sdk/cli/groups.py +7 -0
  10. lightning_sdk/cli/license/__init__.py +14 -0
  11. lightning_sdk/cli/license/get.py +15 -0
  12. lightning_sdk/cli/license/list.py +45 -0
  13. lightning_sdk/cli/license/set.py +13 -0
  14. lightning_sdk/cli/studio/connect.py +42 -92
  15. lightning_sdk/cli/studio/create.py +23 -1
  16. lightning_sdk/cli/studio/start.py +12 -2
  17. lightning_sdk/cli/utils/get_base_studio.py +24 -0
  18. lightning_sdk/cli/utils/handle_machine_and_gpus_args.py +69 -0
  19. lightning_sdk/cli/utils/logging.py +121 -0
  20. lightning_sdk/cli/utils/ssh_connection.py +1 -1
  21. lightning_sdk/constants.py +1 -0
  22. lightning_sdk/helpers.py +53 -34
  23. lightning_sdk/job/base.py +7 -0
  24. lightning_sdk/job/job.py +8 -0
  25. lightning_sdk/job/v1.py +3 -0
  26. lightning_sdk/job/v2.py +4 -0
  27. lightning_sdk/lightning_cloud/login.py +260 -10
  28. lightning_sdk/lightning_cloud/openapi/__init__.py +16 -3
  29. lightning_sdk/lightning_cloud/openapi/api/auth_service_api.py +279 -0
  30. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +117 -0
  31. lightning_sdk/lightning_cloud/openapi/api/product_license_service_api.py +108 -108
  32. lightning_sdk/lightning_cloud/openapi/models/__init__.py +16 -3
  33. lightning_sdk/lightning_cloud/openapi/models/create_machine_request_represents_the_request_to_create_a_machine.py +27 -1
  34. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  35. lightning_sdk/lightning_cloud/openapi/models/id_fork_body1.py +27 -1
  36. lightning_sdk/lightning_cloud/openapi/models/license_key_validate_body.py +123 -0
  37. lightning_sdk/lightning_cloud/openapi/models/update1.py +27 -1
  38. lightning_sdk/lightning_cloud/openapi/models/v1_create_license_request.py +175 -0
  39. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +27 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_delete_license_response.py +97 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +27 -1
  43. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_metric.py +201 -0
  44. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_transfer_estimate_response.py +29 -3
  45. lightning_sdk/lightning_cloud/openapi/models/v1_incident.py +27 -1
  46. lightning_sdk/lightning_cloud/openapi/models/v1_incident_detail.py +149 -0
  47. lightning_sdk/lightning_cloud/openapi/models/v1_incident_event.py +27 -1
  48. lightning_sdk/lightning_cloud/openapi/models/v1_license.py +227 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_list_filesystem_metrics_response.py +123 -0
  50. lightning_sdk/lightning_cloud/openapi/models/{v1_list_product_licenses_response.py → v1_list_license_response.py} +16 -16
  51. lightning_sdk/lightning_cloud/openapi/models/v1_list_platform_notifications_response.py +123 -0
  52. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +27 -1
  53. lightning_sdk/lightning_cloud/openapi/models/v1_platform_notification.py +279 -0
  54. lightning_sdk/lightning_cloud/openapi/models/v1_reset_api_key_request.py +97 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_reset_api_key_response.py +123 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier.py +53 -1
  57. lightning_sdk/lightning_cloud/openapi/models/v1_token_login_request.py +123 -0
  58. lightning_sdk/lightning_cloud/openapi/models/v1_token_login_response.py +123 -0
  59. lightning_sdk/lightning_cloud/openapi/models/v1_token_owner_type.py +104 -0
  60. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +139 -191
  61. lightning_sdk/lightning_cloud/openapi/models/{v1_product_license_check_response.py → v1_validate_license_response.py} +21 -21
  62. lightning_sdk/lightning_cloud/rest_client.py +48 -45
  63. lightning_sdk/machine.py +5 -0
  64. lightning_sdk/pipeline/steps.py +1 -0
  65. lightning_sdk/studio.py +55 -13
  66. lightning_sdk/utils/config.py +18 -3
  67. lightning_sdk/utils/license.py +13 -0
  68. lightning_sdk/utils/resolve.py +6 -1
  69. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/METADATA +1 -1
  70. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/RECORD +74 -54
  71. lightning_sdk/lightning_cloud/openapi/models/v1_product_license.py +0 -435
  72. lightning_sdk/services/license.py +0 -363
  73. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/LICENSE +0 -0
  74. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/WHEEL +0 -0
  75. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/entry_points.txt +0 -0
  76. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/top_level.txt +0 -0
@@ -43,6 +43,7 @@ class CreateMachineRequestRepresentsTheRequestToCreateAMachine(object):
43
43
  swagger_types = {
44
44
  'address': 'str',
45
45
  'instance_type': 'str',
46
+ 'management_api_url': 'str',
46
47
  'name': 'str',
47
48
  'org_id': 'str',
48
49
  'parent_cluster_id': 'str',
@@ -59,6 +60,7 @@ class CreateMachineRequestRepresentsTheRequestToCreateAMachine(object):
59
60
  attribute_map = {
60
61
  'address': 'address',
61
62
  'instance_type': 'instanceType',
63
+ 'management_api_url': 'managementApiUrl',
62
64
  'name': 'name',
63
65
  'org_id': 'orgId',
64
66
  'parent_cluster_id': 'parentClusterId',
@@ -72,10 +74,11 @@ class CreateMachineRequestRepresentsTheRequestToCreateAMachine(object):
72
74
  'unschedulable': 'unschedulable'
73
75
  }
74
76
 
75
- def __init__(self, address: 'str' =None, instance_type: 'str' =None, name: 'str' =None, org_id: 'str' =None, parent_cluster_id: 'str' =None, provider: 'str' =None, provider_instance_id: 'str' =None, provider_region: 'str' =None, provisioning_method: 'str' =None, resources: 'V1Resources' =None, tls_cert: 'str' =None, tls_key: 'str' =None, unschedulable: 'bool' =None): # noqa: E501
77
+ def __init__(self, address: 'str' =None, instance_type: 'str' =None, management_api_url: 'str' =None, name: 'str' =None, org_id: 'str' =None, parent_cluster_id: 'str' =None, provider: 'str' =None, provider_instance_id: 'str' =None, provider_region: 'str' =None, provisioning_method: 'str' =None, resources: 'V1Resources' =None, tls_cert: 'str' =None, tls_key: 'str' =None, unschedulable: 'bool' =None): # noqa: E501
76
78
  """CreateMachineRequestRepresentsTheRequestToCreateAMachine - a model defined in Swagger""" # noqa: E501
77
79
  self._address = None
78
80
  self._instance_type = None
81
+ self._management_api_url = None
79
82
  self._name = None
80
83
  self._org_id = None
81
84
  self._parent_cluster_id = None
@@ -92,6 +95,8 @@ class CreateMachineRequestRepresentsTheRequestToCreateAMachine(object):
92
95
  self.address = address
93
96
  if instance_type is not None:
94
97
  self.instance_type = instance_type
98
+ if management_api_url is not None:
99
+ self.management_api_url = management_api_url
95
100
  if name is not None:
96
101
  self.name = name
97
102
  if org_id is not None:
@@ -157,6 +162,27 @@ class CreateMachineRequestRepresentsTheRequestToCreateAMachine(object):
157
162
 
158
163
  self._instance_type = instance_type
159
164
 
165
+ @property
166
+ def management_api_url(self) -> 'str':
167
+ """Gets the management_api_url of this CreateMachineRequestRepresentsTheRequestToCreateAMachine. # noqa: E501
168
+
169
+
170
+ :return: The management_api_url of this CreateMachineRequestRepresentsTheRequestToCreateAMachine. # noqa: E501
171
+ :rtype: str
172
+ """
173
+ return self._management_api_url
174
+
175
+ @management_api_url.setter
176
+ def management_api_url(self, management_api_url: 'str'):
177
+ """Sets the management_api_url of this CreateMachineRequestRepresentsTheRequestToCreateAMachine.
178
+
179
+
180
+ :param management_api_url: The management_api_url of this CreateMachineRequestRepresentsTheRequestToCreateAMachine. # noqa: E501
181
+ :type: str
182
+ """
183
+
184
+ self._management_api_url = management_api_url
185
+
160
186
  @property
161
187
  def name(self) -> 'str':
162
188
  """Gets the name of this CreateMachineRequestRepresentsTheRequestToCreateAMachine. # noqa: E501
@@ -46,6 +46,7 @@ class Externalv1CloudSpaceInstanceStatus(object):
46
46
  'bytes_to_sync': 'str',
47
47
  'cloud_space_id': 'str',
48
48
  'cloud_space_instance_id': 'str',
49
+ 'cluster_id': 'str',
49
50
  'compute_config': 'V1UserRequestedComputeConfig',
50
51
  'creation_timestamp': 'datetime',
51
52
  'data_connection_mounts': 'list[V1DataConnectionMount]',
@@ -82,6 +83,7 @@ class Externalv1CloudSpaceInstanceStatus(object):
82
83
  'bytes_to_sync': 'bytesToSync',
83
84
  'cloud_space_id': 'cloudSpaceId',
84
85
  'cloud_space_instance_id': 'cloudSpaceInstanceId',
86
+ 'cluster_id': 'clusterId',
85
87
  'compute_config': 'computeConfig',
86
88
  'creation_timestamp': 'creationTimestamp',
87
89
  'data_connection_mounts': 'dataConnectionMounts',
@@ -112,13 +114,14 @@ class Externalv1CloudSpaceInstanceStatus(object):
112
114
  'vscode_url': 'vscodeUrl'
113
115
  }
114
116
 
115
- def __init__(self, alerts: 'list[V1ServerAlert]' =None, app_url: 'str' =None, bytes_to_sync: 'str' =None, cloud_space_id: 'str' =None, cloud_space_instance_id: 'str' =None, compute_config: 'V1UserRequestedComputeConfig' =None, creation_timestamp: 'datetime' =None, data_connection_mounts: 'list[V1DataConnectionMount]' =None, files_to_sync: 'str' =None, free: 'bool' =None, ide: 'str' =None, instance_id: 'str' =None, instance_region: 'str' =None, instance_url: 'str' =None, jupyterlab_url: 'str' =None, phase: 'V1CloudSpaceInstanceState' =None, price: 'float' =None, private_ip_address: 'str' =None, public_ip_address: 'str' =None, ssh_host: 'str' =None, ssh_port: 'int' =None, ssh_username: 'str' =None, start_timestamp: 'datetime' =None, startup_eta_seconds: 'str' =None, startup_percentage: 'str' =None, startup_phase: 'str' =None, startup_status: 'V1CloudSpaceInstanceStartupStatus' =None, status_message: 'str' =None, switched_at: 'datetime' =None, sync_last_updated: 'datetime' =None, termination_time: 'datetime' =None, transfer_metadata: 'V1CloudSpaceTransferMetadata' =None, vscode_url: 'str' =None): # noqa: E501
117
+ def __init__(self, alerts: 'list[V1ServerAlert]' =None, app_url: 'str' =None, bytes_to_sync: 'str' =None, cloud_space_id: 'str' =None, cloud_space_instance_id: 'str' =None, cluster_id: 'str' =None, compute_config: 'V1UserRequestedComputeConfig' =None, creation_timestamp: 'datetime' =None, data_connection_mounts: 'list[V1DataConnectionMount]' =None, files_to_sync: 'str' =None, free: 'bool' =None, ide: 'str' =None, instance_id: 'str' =None, instance_region: 'str' =None, instance_url: 'str' =None, jupyterlab_url: 'str' =None, phase: 'V1CloudSpaceInstanceState' =None, price: 'float' =None, private_ip_address: 'str' =None, public_ip_address: 'str' =None, ssh_host: 'str' =None, ssh_port: 'int' =None, ssh_username: 'str' =None, start_timestamp: 'datetime' =None, startup_eta_seconds: 'str' =None, startup_percentage: 'str' =None, startup_phase: 'str' =None, startup_status: 'V1CloudSpaceInstanceStartupStatus' =None, status_message: 'str' =None, switched_at: 'datetime' =None, sync_last_updated: 'datetime' =None, termination_time: 'datetime' =None, transfer_metadata: 'V1CloudSpaceTransferMetadata' =None, vscode_url: 'str' =None): # noqa: E501
116
118
  """Externalv1CloudSpaceInstanceStatus - a model defined in Swagger""" # noqa: E501
117
119
  self._alerts = None
118
120
  self._app_url = None
119
121
  self._bytes_to_sync = None
120
122
  self._cloud_space_id = None
121
123
  self._cloud_space_instance_id = None
124
+ self._cluster_id = None
122
125
  self._compute_config = None
123
126
  self._creation_timestamp = None
124
127
  self._data_connection_mounts = None
@@ -158,6 +161,8 @@ class Externalv1CloudSpaceInstanceStatus(object):
158
161
  self.cloud_space_id = cloud_space_id
159
162
  if cloud_space_instance_id is not None:
160
163
  self.cloud_space_instance_id = cloud_space_instance_id
164
+ if cluster_id is not None:
165
+ self.cluster_id = cluster_id
161
166
  if compute_config is not None:
162
167
  self.compute_config = compute_config
163
168
  if creation_timestamp is not None:
@@ -320,6 +325,27 @@ class Externalv1CloudSpaceInstanceStatus(object):
320
325
 
321
326
  self._cloud_space_instance_id = cloud_space_instance_id
322
327
 
328
+ @property
329
+ def cluster_id(self) -> 'str':
330
+ """Gets the cluster_id of this Externalv1CloudSpaceInstanceStatus. # noqa: E501
331
+
332
+
333
+ :return: The cluster_id of this Externalv1CloudSpaceInstanceStatus. # noqa: E501
334
+ :rtype: str
335
+ """
336
+ return self._cluster_id
337
+
338
+ @cluster_id.setter
339
+ def cluster_id(self, cluster_id: 'str'):
340
+ """Sets the cluster_id of this Externalv1CloudSpaceInstanceStatus.
341
+
342
+
343
+ :param cluster_id: The cluster_id of this Externalv1CloudSpaceInstanceStatus. # noqa: E501
344
+ :type: str
345
+ """
346
+
347
+ self._cluster_id = cluster_id
348
+
323
349
  @property
324
350
  def compute_config(self) -> 'V1UserRequestedComputeConfig':
325
351
  """Gets the compute_config of this Externalv1CloudSpaceInstanceStatus. # noqa: E501
@@ -41,23 +41,28 @@ class IdForkBody1(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
+ 'new_name': 'str',
44
45
  'target_cluster_id': 'str',
45
46
  'target_project_id': 'str',
46
47
  'version_id': 'str'
47
48
  }
48
49
 
49
50
  attribute_map = {
51
+ 'new_name': 'newName',
50
52
  'target_cluster_id': 'targetClusterId',
51
53
  'target_project_id': 'targetProjectId',
52
54
  'version_id': 'versionId'
53
55
  }
54
56
 
55
- def __init__(self, target_cluster_id: 'str' =None, target_project_id: 'str' =None, version_id: 'str' =None): # noqa: E501
57
+ def __init__(self, new_name: 'str' =None, target_cluster_id: 'str' =None, target_project_id: 'str' =None, version_id: 'str' =None): # noqa: E501
56
58
  """IdForkBody1 - a model defined in Swagger""" # noqa: E501
59
+ self._new_name = None
57
60
  self._target_cluster_id = None
58
61
  self._target_project_id = None
59
62
  self._version_id = None
60
63
  self.discriminator = None
64
+ if new_name is not None:
65
+ self.new_name = new_name
61
66
  if target_cluster_id is not None:
62
67
  self.target_cluster_id = target_cluster_id
63
68
  if target_project_id is not None:
@@ -65,6 +70,27 @@ class IdForkBody1(object):
65
70
  if version_id is not None:
66
71
  self.version_id = version_id
67
72
 
73
+ @property
74
+ def new_name(self) -> 'str':
75
+ """Gets the new_name of this IdForkBody1. # noqa: E501
76
+
77
+
78
+ :return: The new_name of this IdForkBody1. # noqa: E501
79
+ :rtype: str
80
+ """
81
+ return self._new_name
82
+
83
+ @new_name.setter
84
+ def new_name(self, new_name: 'str'):
85
+ """Sets the new_name of this IdForkBody1.
86
+
87
+
88
+ :param new_name: The new_name of this IdForkBody1. # noqa: E501
89
+ :type: str
90
+ """
91
+
92
+ self._new_name = new_name
93
+
68
94
  @property
69
95
  def target_cluster_id(self) -> 'str':
70
96
  """Gets the target_cluster_id of this IdForkBody1. # noqa: E501
@@ -0,0 +1,123 @@
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 LicenseKeyValidateBody(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
+ 'product_id': 'str'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'product_id': 'productId'
49
+ }
50
+
51
+ def __init__(self, product_id: 'str' =None): # noqa: E501
52
+ """LicenseKeyValidateBody - a model defined in Swagger""" # noqa: E501
53
+ self._product_id = None
54
+ self.discriminator = None
55
+ if product_id is not None:
56
+ self.product_id = product_id
57
+
58
+ @property
59
+ def product_id(self) -> 'str':
60
+ """Gets the product_id of this LicenseKeyValidateBody. # noqa: E501
61
+
62
+
63
+ :return: The product_id of this LicenseKeyValidateBody. # noqa: E501
64
+ :rtype: str
65
+ """
66
+ return self._product_id
67
+
68
+ @product_id.setter
69
+ def product_id(self, product_id: 'str'):
70
+ """Sets the product_id of this LicenseKeyValidateBody.
71
+
72
+
73
+ :param product_id: The product_id of this LicenseKeyValidateBody. # noqa: E501
74
+ :type: str
75
+ """
76
+
77
+ self._product_id = product_id
78
+
79
+ def to_dict(self) -> dict:
80
+ """Returns the model properties as a dict"""
81
+ result = {}
82
+
83
+ for attr, _ in six.iteritems(self.swagger_types):
84
+ value = getattr(self, attr)
85
+ if isinstance(value, list):
86
+ result[attr] = list(map(
87
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
88
+ value
89
+ ))
90
+ elif hasattr(value, "to_dict"):
91
+ result[attr] = value.to_dict()
92
+ elif isinstance(value, dict):
93
+ result[attr] = dict(map(
94
+ lambda item: (item[0], item[1].to_dict())
95
+ if hasattr(item[1], "to_dict") else item,
96
+ value.items()
97
+ ))
98
+ else:
99
+ result[attr] = value
100
+ if issubclass(LicenseKeyValidateBody, dict):
101
+ for key, value in self.items():
102
+ result[key] = value
103
+
104
+ return result
105
+
106
+ def to_str(self) -> str:
107
+ """Returns the string representation of the model"""
108
+ return pprint.pformat(self.to_dict())
109
+
110
+ def __repr__(self) -> str:
111
+ """For `print` and `pprint`"""
112
+ return self.to_str()
113
+
114
+ def __eq__(self, other: 'LicenseKeyValidateBody') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, LicenseKeyValidateBody):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'LicenseKeyValidateBody') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -41,6 +41,7 @@ class Update1(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
+ 'auto_increase_enabled': 'bool',
44
45
  'aws': 'V1AwsDataConnection',
45
46
  'efs': 'V1EfsConfig',
46
47
  'gcp': 'V1GcpDataConnection',
@@ -54,6 +55,7 @@ class Update1(object):
54
55
  }
55
56
 
56
57
  attribute_map = {
58
+ 'auto_increase_enabled': 'autoIncreaseEnabled',
57
59
  'aws': 'aws',
58
60
  'efs': 'efs',
59
61
  'gcp': 'gcp',
@@ -66,8 +68,9 @@ class Update1(object):
66
68
  'writable': 'writable'
67
69
  }
68
70
 
69
- def __init__(self, aws: 'V1AwsDataConnection' =None, efs: 'V1EfsConfig' =None, gcp: 'V1GcpDataConnection' =None, gcs_folder: 'V1GCSFolderDataConnection' =None, name: 'str' =None, r2: 'V1R2DataConnection' =None, run_cmds: 'list[str]' =None, s3_folder: 'V1S3FolderDataConnection' =None, snowflake: 'V1SnowflakeDataConnection' =None, writable: 'bool' =None): # noqa: E501
71
+ def __init__(self, auto_increase_enabled: 'bool' =None, aws: 'V1AwsDataConnection' =None, efs: 'V1EfsConfig' =None, gcp: 'V1GcpDataConnection' =None, gcs_folder: 'V1GCSFolderDataConnection' =None, name: 'str' =None, r2: 'V1R2DataConnection' =None, run_cmds: 'list[str]' =None, s3_folder: 'V1S3FolderDataConnection' =None, snowflake: 'V1SnowflakeDataConnection' =None, writable: 'bool' =None): # noqa: E501
70
72
  """Update1 - a model defined in Swagger""" # noqa: E501
73
+ self._auto_increase_enabled = None
71
74
  self._aws = None
72
75
  self._efs = None
73
76
  self._gcp = None
@@ -79,6 +82,8 @@ class Update1(object):
79
82
  self._snowflake = None
80
83
  self._writable = None
81
84
  self.discriminator = None
85
+ if auto_increase_enabled is not None:
86
+ self.auto_increase_enabled = auto_increase_enabled
82
87
  if aws is not None:
83
88
  self.aws = aws
84
89
  if efs is not None:
@@ -100,6 +105,27 @@ class Update1(object):
100
105
  if writable is not None:
101
106
  self.writable = writable
102
107
 
108
+ @property
109
+ def auto_increase_enabled(self) -> 'bool':
110
+ """Gets the auto_increase_enabled of this Update1. # noqa: E501
111
+
112
+
113
+ :return: The auto_increase_enabled of this Update1. # noqa: E501
114
+ :rtype: bool
115
+ """
116
+ return self._auto_increase_enabled
117
+
118
+ @auto_increase_enabled.setter
119
+ def auto_increase_enabled(self, auto_increase_enabled: 'bool'):
120
+ """Sets the auto_increase_enabled of this Update1.
121
+
122
+
123
+ :param auto_increase_enabled: The auto_increase_enabled of this Update1. # noqa: E501
124
+ :type: bool
125
+ """
126
+
127
+ self._auto_increase_enabled = auto_increase_enabled
128
+
103
129
  @property
104
130
  def aws(self) -> 'V1AwsDataConnection':
105
131
  """Gets the aws of this Update1. # noqa: E501
@@ -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 V1CreateLicenseRequest(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
+ 'owner_id': 'str',
45
+ 'owner_type': 'V1TokenOwnerType',
46
+ 'product_id': 'str'
47
+ }
48
+
49
+ attribute_map = {
50
+ 'owner_id': 'ownerId',
51
+ 'owner_type': 'ownerType',
52
+ 'product_id': 'productId'
53
+ }
54
+
55
+ def __init__(self, owner_id: 'str' =None, owner_type: 'V1TokenOwnerType' =None, product_id: 'str' =None): # noqa: E501
56
+ """V1CreateLicenseRequest - a model defined in Swagger""" # noqa: E501
57
+ self._owner_id = None
58
+ self._owner_type = None
59
+ self._product_id = None
60
+ self.discriminator = None
61
+ if owner_id is not None:
62
+ self.owner_id = owner_id
63
+ if owner_type is not None:
64
+ self.owner_type = owner_type
65
+ if product_id is not None:
66
+ self.product_id = product_id
67
+
68
+ @property
69
+ def owner_id(self) -> 'str':
70
+ """Gets the owner_id of this V1CreateLicenseRequest. # noqa: E501
71
+
72
+
73
+ :return: The owner_id of this V1CreateLicenseRequest. # noqa: E501
74
+ :rtype: str
75
+ """
76
+ return self._owner_id
77
+
78
+ @owner_id.setter
79
+ def owner_id(self, owner_id: 'str'):
80
+ """Sets the owner_id of this V1CreateLicenseRequest.
81
+
82
+
83
+ :param owner_id: The owner_id of this V1CreateLicenseRequest. # noqa: E501
84
+ :type: str
85
+ """
86
+
87
+ self._owner_id = owner_id
88
+
89
+ @property
90
+ def owner_type(self) -> 'V1TokenOwnerType':
91
+ """Gets the owner_type of this V1CreateLicenseRequest. # noqa: E501
92
+
93
+
94
+ :return: The owner_type of this V1CreateLicenseRequest. # noqa: E501
95
+ :rtype: V1TokenOwnerType
96
+ """
97
+ return self._owner_type
98
+
99
+ @owner_type.setter
100
+ def owner_type(self, owner_type: 'V1TokenOwnerType'):
101
+ """Sets the owner_type of this V1CreateLicenseRequest.
102
+
103
+
104
+ :param owner_type: The owner_type of this V1CreateLicenseRequest. # noqa: E501
105
+ :type: V1TokenOwnerType
106
+ """
107
+
108
+ self._owner_type = owner_type
109
+
110
+ @property
111
+ def product_id(self) -> 'str':
112
+ """Gets the product_id of this V1CreateLicenseRequest. # noqa: E501
113
+
114
+
115
+ :return: The product_id of this V1CreateLicenseRequest. # noqa: E501
116
+ :rtype: str
117
+ """
118
+ return self._product_id
119
+
120
+ @product_id.setter
121
+ def product_id(self, product_id: 'str'):
122
+ """Sets the product_id of this V1CreateLicenseRequest.
123
+
124
+
125
+ :param product_id: The product_id of this V1CreateLicenseRequest. # noqa: E501
126
+ :type: str
127
+ """
128
+
129
+ self._product_id = product_id
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(V1CreateLicenseRequest, 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: 'V1CreateLicenseRequest') -> bool:
167
+ """Returns true if both objects are equal"""
168
+ if not isinstance(other, V1CreateLicenseRequest):
169
+ return False
170
+
171
+ return self.__dict__ == other.__dict__
172
+
173
+ def __ne__(self, other: 'V1CreateLicenseRequest') -> bool:
174
+ """Returns true if both objects are not equal"""
175
+ return not self == other
@@ -56,6 +56,7 @@ class V1DataConnection(object):
56
56
  'is_billable_folder': 'bool',
57
57
  'is_cache': 'bool',
58
58
  'is_managed': 'bool',
59
+ 'is_public': 'bool',
59
60
  'lock_out': 'bool',
60
61
  'lustre': 'V1LustreDataConnection',
61
62
  'name': 'str',
@@ -91,6 +92,7 @@ class V1DataConnection(object):
91
92
  'is_billable_folder': 'isBillableFolder',
92
93
  'is_cache': 'isCache',
93
94
  'is_managed': 'isManaged',
95
+ 'is_public': 'isPublic',
94
96
  'lock_out': 'lockOut',
95
97
  'lustre': 'lustre',
96
98
  'name': 'name',
@@ -110,7 +112,7 @@ class V1DataConnection(object):
110
112
  'writable': 'writable'
111
113
  }
112
114
 
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
115
+ 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, is_public: '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
114
116
  """V1DataConnection - a model defined in Swagger""" # noqa: E501
115
117
  self._access_cluster_ids = None
116
118
  self._accessible = None
@@ -127,6 +129,7 @@ class V1DataConnection(object):
127
129
  self._is_billable_folder = None
128
130
  self._is_cache = None
129
131
  self._is_managed = None
132
+ self._is_public = None
130
133
  self._lock_out = None
131
134
  self._lustre = None
132
135
  self._name = None
@@ -175,6 +178,8 @@ class V1DataConnection(object):
175
178
  self.is_cache = is_cache
176
179
  if is_managed is not None:
177
180
  self.is_managed = is_managed
181
+ if is_public is not None:
182
+ self.is_public = is_public
178
183
  if lock_out is not None:
179
184
  self.lock_out = lock_out
180
185
  if lustre is not None:
@@ -525,6 +530,27 @@ class V1DataConnection(object):
525
530
 
526
531
  self._is_managed = is_managed
527
532
 
533
+ @property
534
+ def is_public(self) -> 'bool':
535
+ """Gets the is_public of this V1DataConnection. # noqa: E501
536
+
537
+
538
+ :return: The is_public of this V1DataConnection. # noqa: E501
539
+ :rtype: bool
540
+ """
541
+ return self._is_public
542
+
543
+ @is_public.setter
544
+ def is_public(self, is_public: 'bool'):
545
+ """Sets the is_public of this V1DataConnection.
546
+
547
+
548
+ :param is_public: The is_public of this V1DataConnection. # noqa: E501
549
+ :type: bool
550
+ """
551
+
552
+ self._is_public = is_public
553
+
528
554
  @property
529
555
  def lock_out(self) -> 'bool':
530
556
  """Gets the lock_out of this V1DataConnection. # noqa: E501