lightning-sdk 2026.1.22__py3-none-any.whl → 2026.1.30__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. lightning_sdk/__version__.py +1 -1
  2. lightning_sdk/api/studio_api.py +38 -39
  3. lightning_sdk/api/teamspace_api.py +189 -72
  4. lightning_sdk/api/utils.py +69 -1
  5. lightning_sdk/cli/cp/__init__.py +14 -11
  6. lightning_sdk/cli/cp/teamspace_uploads.py +95 -0
  7. lightning_sdk/cli/legacy/download.py +29 -98
  8. lightning_sdk/cli/legacy/upload.py +24 -31
  9. lightning_sdk/cli/studio/cp.py +8 -5
  10. lightning_sdk/cli/studio/ls.py +1 -1
  11. lightning_sdk/cli/studio/rm.py +1 -1
  12. lightning_sdk/cli/utils/{studio_filesystem.py → filesystem.py} +49 -6
  13. lightning_sdk/exceptions.py +27 -0
  14. lightning_sdk/lightning_cloud/openapi/__init__.py +17 -12
  15. lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
  16. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +5 -1
  17. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +286 -468
  18. lightning_sdk/lightning_cloud/openapi/api/container_registry_service_api.py +579 -0
  19. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +5 -1
  20. lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +11 -11
  21. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +113 -0
  22. lightning_sdk/lightning_cloud/openapi/api/organizations_service_api.py +113 -0
  23. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +5 -1
  24. lightning_sdk/lightning_cloud/openapi/models/__init__.py +16 -12
  25. lightning_sdk/lightning_cloud/openapi/models/{cluster_service_refresh_container_registry_credentials_body.py → cluster_service_get_cluster_capacity_reservation_body.py} +6 -6
  26. lightning_sdk/lightning_cloud/openapi/models/{v1_container_registry_integration.py → container_registry_config_ecr.py} +49 -23
  27. lightning_sdk/lightning_cloud/openapi/models/{v1_container_registry_status.py → container_registry_provider.py} +14 -10
  28. lightning_sdk/lightning_cloud/openapi/models/container_registry_service_create_container_registry_body.py +201 -0
  29. lightning_sdk/lightning_cloud/openapi/models/{v1_ecr_registry_config_input.py → container_registry_service_refresh_container_registry_credentials_body.py} +21 -21
  30. lightning_sdk/lightning_cloud/openapi/models/jobs_service_duplicate_deployment_body.py +175 -0
  31. lightning_sdk/lightning_cloud/openapi/models/organizations_service_update_org_role_body.py +175 -0
  32. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -0
  33. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +27 -1
  34. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
  35. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry.py +63 -89
  36. lightning_sdk/lightning_cloud/openapi/models/{cluster_service_add_container_registry_body.py → v1_container_registry_config.py} +16 -16
  37. lightning_sdk/lightning_cloud/openapi/models/{v1_validate_container_registry_response.py → v1_container_registry_scopes.py} +39 -39
  38. lightning_sdk/lightning_cloud/openapi/models/{cluster_service_validate_container_registry_body.py → v1_create_container_registry_response.py} +6 -6
  39. lightning_sdk/lightning_cloud/openapi/models/v1_delete_org_cluster_capacity_reservation_response.py +97 -0
  40. lightning_sdk/lightning_cloud/openapi/models/v1_describe_org_cluster_capacity_reservation_response.py +201 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_generic_job_spec.py +79 -1
  42. lightning_sdk/lightning_cloud/openapi/models/{v1_add_container_registry_response.py → v1_get_cluster_capacity_reservation_response.py} +23 -23
  43. lightning_sdk/lightning_cloud/openapi/models/v1_job.py +27 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +1 -27
  45. lightning_sdk/lightning_cloud/openapi/models/v1_list_container_registries_response.py +6 -6
  46. lightning_sdk/lightning_cloud/openapi/models/{v1_ecr_registry_config.py → v1_mithril_direct_v1.py} +51 -51
  47. lightning_sdk/lightning_cloud/openapi/models/v1_refresh_container_registry_credentials_response.py +1 -27
  48. lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier.py +27 -1
  49. lightning_sdk/lightning_cloud/openapi/models/v1_update_container_registry_response.py +97 -0
  50. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +53 -105
  51. lightning_sdk/lightning_cloud/openapi/rest.py +2 -2
  52. lightning_sdk/teamspace.py +28 -7
  53. {lightning_sdk-2026.1.22.dist-info → lightning_sdk-2026.1.30.dist-info}/METADATA +1 -1
  54. {lightning_sdk-2026.1.22.dist-info → lightning_sdk-2026.1.30.dist-info}/RECORD +59 -53
  55. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_info.py +0 -281
  56. lightning_sdk/lightning_cloud/openapi/models/v1_ecr_registry_details.py +0 -201
  57. /lightning_sdk/lightning_cloud/openapi/models/{v1_list_filesystem_mmts_response.py → v1_list_filesystem_mm_ts_response.py} +0 -0
  58. {lightning_sdk-2026.1.22.dist-info → lightning_sdk-2026.1.30.dist-info}/LICENSE +0 -0
  59. {lightning_sdk-2026.1.22.dist-info → lightning_sdk-2026.1.30.dist-info}/WHEEL +0 -0
  60. {lightning_sdk-2026.1.22.dist-info → lightning_sdk-2026.1.30.dist-info}/entry_points.txt +0 -0
  61. {lightning_sdk-2026.1.22.dist-info → lightning_sdk-2026.1.30.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,201 @@
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 ContainerRegistryServiceCreateContainerRegistryBody(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
+ 'org_id': 'str',
45
+ 'provider': 'ContainerRegistryProvider',
46
+ 'scopes': 'V1ContainerRegistryScopes',
47
+ 'url': 'str'
48
+ }
49
+
50
+ attribute_map = {
51
+ 'org_id': 'orgId',
52
+ 'provider': 'provider',
53
+ 'scopes': 'scopes',
54
+ 'url': 'url'
55
+ }
56
+
57
+ def __init__(self, org_id: 'str' =None, provider: 'ContainerRegistryProvider' =None, scopes: 'V1ContainerRegistryScopes' =None, url: 'str' =None): # noqa: E501
58
+ """ContainerRegistryServiceCreateContainerRegistryBody - a model defined in Swagger""" # noqa: E501
59
+ self._org_id = None
60
+ self._provider = None
61
+ self._scopes = None
62
+ self._url = None
63
+ self.discriminator = None
64
+ if org_id is not None:
65
+ self.org_id = org_id
66
+ if provider is not None:
67
+ self.provider = provider
68
+ if scopes is not None:
69
+ self.scopes = scopes
70
+ if url is not None:
71
+ self.url = url
72
+
73
+ @property
74
+ def org_id(self) -> 'str':
75
+ """Gets the org_id of this ContainerRegistryServiceCreateContainerRegistryBody. # noqa: E501
76
+
77
+
78
+ :return: The org_id of this ContainerRegistryServiceCreateContainerRegistryBody. # noqa: E501
79
+ :rtype: str
80
+ """
81
+ return self._org_id
82
+
83
+ @org_id.setter
84
+ def org_id(self, org_id: 'str'):
85
+ """Sets the org_id of this ContainerRegistryServiceCreateContainerRegistryBody.
86
+
87
+
88
+ :param org_id: The org_id of this ContainerRegistryServiceCreateContainerRegistryBody. # noqa: E501
89
+ :type: str
90
+ """
91
+
92
+ self._org_id = org_id
93
+
94
+ @property
95
+ def provider(self) -> 'ContainerRegistryProvider':
96
+ """Gets the provider of this ContainerRegistryServiceCreateContainerRegistryBody. # noqa: E501
97
+
98
+
99
+ :return: The provider of this ContainerRegistryServiceCreateContainerRegistryBody. # noqa: E501
100
+ :rtype: ContainerRegistryProvider
101
+ """
102
+ return self._provider
103
+
104
+ @provider.setter
105
+ def provider(self, provider: 'ContainerRegistryProvider'):
106
+ """Sets the provider of this ContainerRegistryServiceCreateContainerRegistryBody.
107
+
108
+
109
+ :param provider: The provider of this ContainerRegistryServiceCreateContainerRegistryBody. # noqa: E501
110
+ :type: ContainerRegistryProvider
111
+ """
112
+
113
+ self._provider = provider
114
+
115
+ @property
116
+ def scopes(self) -> 'V1ContainerRegistryScopes':
117
+ """Gets the scopes of this ContainerRegistryServiceCreateContainerRegistryBody. # noqa: E501
118
+
119
+
120
+ :return: The scopes of this ContainerRegistryServiceCreateContainerRegistryBody. # noqa: E501
121
+ :rtype: V1ContainerRegistryScopes
122
+ """
123
+ return self._scopes
124
+
125
+ @scopes.setter
126
+ def scopes(self, scopes: 'V1ContainerRegistryScopes'):
127
+ """Sets the scopes of this ContainerRegistryServiceCreateContainerRegistryBody.
128
+
129
+
130
+ :param scopes: The scopes of this ContainerRegistryServiceCreateContainerRegistryBody. # noqa: E501
131
+ :type: V1ContainerRegistryScopes
132
+ """
133
+
134
+ self._scopes = scopes
135
+
136
+ @property
137
+ def url(self) -> 'str':
138
+ """Gets the url of this ContainerRegistryServiceCreateContainerRegistryBody. # noqa: E501
139
+
140
+
141
+ :return: The url of this ContainerRegistryServiceCreateContainerRegistryBody. # noqa: E501
142
+ :rtype: str
143
+ """
144
+ return self._url
145
+
146
+ @url.setter
147
+ def url(self, url: 'str'):
148
+ """Sets the url of this ContainerRegistryServiceCreateContainerRegistryBody.
149
+
150
+
151
+ :param url: The url of this ContainerRegistryServiceCreateContainerRegistryBody. # noqa: E501
152
+ :type: str
153
+ """
154
+
155
+ self._url = url
156
+
157
+ def to_dict(self) -> dict:
158
+ """Returns the model properties as a dict"""
159
+ result = {}
160
+
161
+ for attr, _ in six.iteritems(self.swagger_types):
162
+ value = getattr(self, attr)
163
+ if isinstance(value, list):
164
+ result[attr] = list(map(
165
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
166
+ value
167
+ ))
168
+ elif hasattr(value, "to_dict"):
169
+ result[attr] = value.to_dict()
170
+ elif isinstance(value, dict):
171
+ result[attr] = dict(map(
172
+ lambda item: (item[0], item[1].to_dict())
173
+ if hasattr(item[1], "to_dict") else item,
174
+ value.items()
175
+ ))
176
+ else:
177
+ result[attr] = value
178
+ if issubclass(ContainerRegistryServiceCreateContainerRegistryBody, dict):
179
+ for key, value in self.items():
180
+ result[key] = value
181
+
182
+ return result
183
+
184
+ def to_str(self) -> str:
185
+ """Returns the string representation of the model"""
186
+ return pprint.pformat(self.to_dict())
187
+
188
+ def __repr__(self) -> str:
189
+ """For `print` and `pprint`"""
190
+ return self.to_str()
191
+
192
+ def __eq__(self, other: 'ContainerRegistryServiceCreateContainerRegistryBody') -> bool:
193
+ """Returns true if both objects are equal"""
194
+ if not isinstance(other, ContainerRegistryServiceCreateContainerRegistryBody):
195
+ return False
196
+
197
+ return self.__dict__ == other.__dict__
198
+
199
+ def __ne__(self, other: 'ContainerRegistryServiceCreateContainerRegistryBody') -> bool:
200
+ """Returns true if both objects are not equal"""
201
+ return not self == other
@@ -28,7 +28,7 @@ if TYPE_CHECKING:
28
28
  from datetime import datetime
29
29
  from lightning_sdk.lightning_cloud.openapi.models import *
30
30
 
31
- class V1ECRRegistryConfigInput(object):
31
+ class ContainerRegistryServiceRefreshContainerRegistryCredentialsBody(object):
32
32
  """NOTE: This class is auto generated by the swagger code generator program.
33
33
 
34
34
  Do not edit the class manually.
@@ -41,40 +41,40 @@ class V1ECRRegistryConfigInput(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'registry_url': 'str'
44
+ 'org_id': 'str'
45
45
  }
46
46
 
47
47
  attribute_map = {
48
- 'registry_url': 'registryUrl'
48
+ 'org_id': 'orgId'
49
49
  }
50
50
 
51
- def __init__(self, registry_url: 'str' =None): # noqa: E501
52
- """V1ECRRegistryConfigInput - a model defined in Swagger""" # noqa: E501
53
- self._registry_url = None
51
+ def __init__(self, org_id: 'str' =None): # noqa: E501
52
+ """ContainerRegistryServiceRefreshContainerRegistryCredentialsBody - a model defined in Swagger""" # noqa: E501
53
+ self._org_id = None
54
54
  self.discriminator = None
55
- if registry_url is not None:
56
- self.registry_url = registry_url
55
+ if org_id is not None:
56
+ self.org_id = org_id
57
57
 
58
58
  @property
59
- def registry_url(self) -> 'str':
60
- """Gets the registry_url of this V1ECRRegistryConfigInput. # noqa: E501
59
+ def org_id(self) -> 'str':
60
+ """Gets the org_id of this ContainerRegistryServiceRefreshContainerRegistryCredentialsBody. # noqa: E501
61
61
 
62
62
 
63
- :return: The registry_url of this V1ECRRegistryConfigInput. # noqa: E501
63
+ :return: The org_id of this ContainerRegistryServiceRefreshContainerRegistryCredentialsBody. # noqa: E501
64
64
  :rtype: str
65
65
  """
66
- return self._registry_url
66
+ return self._org_id
67
67
 
68
- @registry_url.setter
69
- def registry_url(self, registry_url: 'str'):
70
- """Sets the registry_url of this V1ECRRegistryConfigInput.
68
+ @org_id.setter
69
+ def org_id(self, org_id: 'str'):
70
+ """Sets the org_id of this ContainerRegistryServiceRefreshContainerRegistryCredentialsBody.
71
71
 
72
72
 
73
- :param registry_url: The registry_url of this V1ECRRegistryConfigInput. # noqa: E501
73
+ :param org_id: The org_id of this ContainerRegistryServiceRefreshContainerRegistryCredentialsBody. # noqa: E501
74
74
  :type: str
75
75
  """
76
76
 
77
- self._registry_url = registry_url
77
+ self._org_id = org_id
78
78
 
79
79
  def to_dict(self) -> dict:
80
80
  """Returns the model properties as a dict"""
@@ -97,7 +97,7 @@ class V1ECRRegistryConfigInput(object):
97
97
  ))
98
98
  else:
99
99
  result[attr] = value
100
- if issubclass(V1ECRRegistryConfigInput, dict):
100
+ if issubclass(ContainerRegistryServiceRefreshContainerRegistryCredentialsBody, dict):
101
101
  for key, value in self.items():
102
102
  result[key] = value
103
103
 
@@ -111,13 +111,13 @@ class V1ECRRegistryConfigInput(object):
111
111
  """For `print` and `pprint`"""
112
112
  return self.to_str()
113
113
 
114
- def __eq__(self, other: 'V1ECRRegistryConfigInput') -> bool:
114
+ def __eq__(self, other: 'ContainerRegistryServiceRefreshContainerRegistryCredentialsBody') -> bool:
115
115
  """Returns true if both objects are equal"""
116
- if not isinstance(other, V1ECRRegistryConfigInput):
116
+ if not isinstance(other, ContainerRegistryServiceRefreshContainerRegistryCredentialsBody):
117
117
  return False
118
118
 
119
119
  return self.__dict__ == other.__dict__
120
120
 
121
- def __ne__(self, other: 'V1ECRRegistryConfigInput') -> bool:
121
+ def __ne__(self, other: 'ContainerRegistryServiceRefreshContainerRegistryCredentialsBody') -> bool:
122
122
  """Returns true if both objects are not equal"""
123
123
  return not self == other
@@ -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 JobsServiceDuplicateDeploymentBody(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
+ 'cluster_id': 'str',
45
+ 'name': 'str',
46
+ 'recipients': 'V1DeploymentAlertingRecipients'
47
+ }
48
+
49
+ attribute_map = {
50
+ 'cluster_id': 'clusterId',
51
+ 'name': 'name',
52
+ 'recipients': 'recipients'
53
+ }
54
+
55
+ def __init__(self, cluster_id: 'str' =None, name: 'str' =None, recipients: 'V1DeploymentAlertingRecipients' =None): # noqa: E501
56
+ """JobsServiceDuplicateDeploymentBody - a model defined in Swagger""" # noqa: E501
57
+ self._cluster_id = None
58
+ self._name = None
59
+ self._recipients = None
60
+ self.discriminator = None
61
+ if cluster_id is not None:
62
+ self.cluster_id = cluster_id
63
+ if name is not None:
64
+ self.name = name
65
+ if recipients is not None:
66
+ self.recipients = recipients
67
+
68
+ @property
69
+ def cluster_id(self) -> 'str':
70
+ """Gets the cluster_id of this JobsServiceDuplicateDeploymentBody. # noqa: E501
71
+
72
+
73
+ :return: The cluster_id of this JobsServiceDuplicateDeploymentBody. # noqa: E501
74
+ :rtype: str
75
+ """
76
+ return self._cluster_id
77
+
78
+ @cluster_id.setter
79
+ def cluster_id(self, cluster_id: 'str'):
80
+ """Sets the cluster_id of this JobsServiceDuplicateDeploymentBody.
81
+
82
+
83
+ :param cluster_id: The cluster_id of this JobsServiceDuplicateDeploymentBody. # noqa: E501
84
+ :type: str
85
+ """
86
+
87
+ self._cluster_id = cluster_id
88
+
89
+ @property
90
+ def name(self) -> 'str':
91
+ """Gets the name of this JobsServiceDuplicateDeploymentBody. # noqa: E501
92
+
93
+
94
+ :return: The name of this JobsServiceDuplicateDeploymentBody. # noqa: E501
95
+ :rtype: str
96
+ """
97
+ return self._name
98
+
99
+ @name.setter
100
+ def name(self, name: 'str'):
101
+ """Sets the name of this JobsServiceDuplicateDeploymentBody.
102
+
103
+
104
+ :param name: The name of this JobsServiceDuplicateDeploymentBody. # noqa: E501
105
+ :type: str
106
+ """
107
+
108
+ self._name = name
109
+
110
+ @property
111
+ def recipients(self) -> 'V1DeploymentAlertingRecipients':
112
+ """Gets the recipients of this JobsServiceDuplicateDeploymentBody. # noqa: E501
113
+
114
+
115
+ :return: The recipients of this JobsServiceDuplicateDeploymentBody. # noqa: E501
116
+ :rtype: V1DeploymentAlertingRecipients
117
+ """
118
+ return self._recipients
119
+
120
+ @recipients.setter
121
+ def recipients(self, recipients: 'V1DeploymentAlertingRecipients'):
122
+ """Sets the recipients of this JobsServiceDuplicateDeploymentBody.
123
+
124
+
125
+ :param recipients: The recipients of this JobsServiceDuplicateDeploymentBody. # noqa: E501
126
+ :type: V1DeploymentAlertingRecipients
127
+ """
128
+
129
+ self._recipients = recipients
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(JobsServiceDuplicateDeploymentBody, 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: 'JobsServiceDuplicateDeploymentBody') -> bool:
167
+ """Returns true if both objects are equal"""
168
+ if not isinstance(other, JobsServiceDuplicateDeploymentBody):
169
+ return False
170
+
171
+ return self.__dict__ == other.__dict__
172
+
173
+ def __ne__(self, other: 'JobsServiceDuplicateDeploymentBody') -> bool:
174
+ """Returns true if both objects are not equal"""
175
+ return not self == other
@@ -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 OrganizationsServiceUpdateOrgRoleBody(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
+ 'description': 'str',
45
+ 'name': 'str',
46
+ 'rules': 'list[V1Rule]'
47
+ }
48
+
49
+ attribute_map = {
50
+ 'description': 'description',
51
+ 'name': 'name',
52
+ 'rules': 'rules'
53
+ }
54
+
55
+ def __init__(self, description: 'str' =None, name: 'str' =None, rules: 'list[V1Rule]' =None): # noqa: E501
56
+ """OrganizationsServiceUpdateOrgRoleBody - a model defined in Swagger""" # noqa: E501
57
+ self._description = None
58
+ self._name = None
59
+ self._rules = None
60
+ self.discriminator = None
61
+ if description is not None:
62
+ self.description = description
63
+ if name is not None:
64
+ self.name = name
65
+ if rules is not None:
66
+ self.rules = rules
67
+
68
+ @property
69
+ def description(self) -> 'str':
70
+ """Gets the description of this OrganizationsServiceUpdateOrgRoleBody. # noqa: E501
71
+
72
+
73
+ :return: The description of this OrganizationsServiceUpdateOrgRoleBody. # noqa: E501
74
+ :rtype: str
75
+ """
76
+ return self._description
77
+
78
+ @description.setter
79
+ def description(self, description: 'str'):
80
+ """Sets the description of this OrganizationsServiceUpdateOrgRoleBody.
81
+
82
+
83
+ :param description: The description of this OrganizationsServiceUpdateOrgRoleBody. # noqa: E501
84
+ :type: str
85
+ """
86
+
87
+ self._description = description
88
+
89
+ @property
90
+ def name(self) -> 'str':
91
+ """Gets the name of this OrganizationsServiceUpdateOrgRoleBody. # noqa: E501
92
+
93
+
94
+ :return: The name of this OrganizationsServiceUpdateOrgRoleBody. # noqa: E501
95
+ :rtype: str
96
+ """
97
+ return self._name
98
+
99
+ @name.setter
100
+ def name(self, name: 'str'):
101
+ """Sets the name of this OrganizationsServiceUpdateOrgRoleBody.
102
+
103
+
104
+ :param name: The name of this OrganizationsServiceUpdateOrgRoleBody. # noqa: E501
105
+ :type: str
106
+ """
107
+
108
+ self._name = name
109
+
110
+ @property
111
+ def rules(self) -> 'list[V1Rule]':
112
+ """Gets the rules of this OrganizationsServiceUpdateOrgRoleBody. # noqa: E501
113
+
114
+
115
+ :return: The rules of this OrganizationsServiceUpdateOrgRoleBody. # noqa: E501
116
+ :rtype: list[V1Rule]
117
+ """
118
+ return self._rules
119
+
120
+ @rules.setter
121
+ def rules(self, rules: 'list[V1Rule]'):
122
+ """Sets the rules of this OrganizationsServiceUpdateOrgRoleBody.
123
+
124
+
125
+ :param rules: The rules of this OrganizationsServiceUpdateOrgRoleBody. # noqa: E501
126
+ :type: list[V1Rule]
127
+ """
128
+
129
+ self._rules = rules
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(OrganizationsServiceUpdateOrgRoleBody, 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: 'OrganizationsServiceUpdateOrgRoleBody') -> bool:
167
+ """Returns true if both objects are equal"""
168
+ if not isinstance(other, OrganizationsServiceUpdateOrgRoleBody):
169
+ return False
170
+
171
+ return self.__dict__ == other.__dict__
172
+
173
+ def __ne__(self, other: 'OrganizationsServiceUpdateOrgRoleBody') -> bool:
174
+ """Returns true if both objects are not equal"""
175
+ return not self == other
@@ -53,6 +53,7 @@ class V1CloudProvider(object):
53
53
  MACHINE = "MACHINE"
54
54
  LIGHTNING_ELASTIC_CLUSTER_AGGREGATE = "LIGHTNING_ELASTIC_CLUSTER_AGGREGATE"
55
55
  CUDO = "CUDO"
56
+ MITHRIL = "MITHRIL"
56
57
  """
57
58
  Attributes:
58
59
  swagger_types (dict): The key is attribute name