lightning-sdk 2025.8.8__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 (41) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/studio_api.py +26 -4
  3. lightning_sdk/job/base.py +12 -5
  4. lightning_sdk/lightning_cloud/openapi/__init__.py +7 -0
  5. lightning_sdk/lightning_cloud/openapi/api/cloud_space_environment_template_service_api.py +5 -1
  6. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +113 -0
  7. lightning_sdk/lightning_cloud/openapi/api/cloudy_service_api.py +0 -97
  8. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +339 -0
  9. lightning_sdk/lightning_cloud/openapi/models/__init__.py +7 -0
  10. lightning_sdk/lightning_cloud/openapi/models/cluster_id_metrics_body.py +27 -1
  11. lightning_sdk/lightning_cloud/openapi/models/create.py +27 -1
  12. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  13. lightning_sdk/lightning_cloud/openapi/models/id_sleepconfig_body.py +175 -0
  14. lightning_sdk/lightning_cloud/openapi/models/v1_billing_tier.py +0 -1
  15. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_transfer_metadata.py +69 -17
  16. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_metrics.py +53 -1
  17. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +27 -1
  18. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +1 -27
  19. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +27 -1
  20. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +29 -3
  21. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_metrics_response.py +123 -0
  22. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_namespace_metrics_response.py +123 -0
  23. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_namespace_user_metrics_response.py +123 -0
  24. lightning_sdk/lightning_cloud/openapi/models/v1_lustre_data_connection.py +149 -0
  25. lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_request.py +1 -27
  26. lightning_sdk/lightning_cloud/openapi/models/v1_namespace_metrics.py +591 -0
  27. lightning_sdk/lightning_cloud/openapi/models/v1_namespace_user_metrics.py +435 -0
  28. lightning_sdk/lightning_cloud/openapi/models/v1_pod_metrics.py +55 -3
  29. lightning_sdk/lightning_cloud/openapi/models/v1_storage_asset.py +27 -1
  30. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +1 -27
  31. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +27 -79
  32. lightning_sdk/llm/llm.py +67 -37
  33. lightning_sdk/llm/public_assistants.py +3 -3
  34. lightning_sdk/studio.py +11 -3
  35. lightning_sdk/utils/resolve.py +13 -0
  36. {lightning_sdk-2025.8.8.dist-info → lightning_sdk-2025.8.14.dist-info}/METADATA +1 -1
  37. {lightning_sdk-2025.8.8.dist-info → lightning_sdk-2025.8.14.dist-info}/RECORD +41 -34
  38. {lightning_sdk-2025.8.8.dist-info → lightning_sdk-2025.8.14.dist-info}/LICENSE +0 -0
  39. {lightning_sdk-2025.8.8.dist-info → lightning_sdk-2025.8.14.dist-info}/WHEEL +0 -0
  40. {lightning_sdk-2025.8.8.dist-info → lightning_sdk-2025.8.14.dist-info}/entry_points.txt +0 -0
  41. {lightning_sdk-2025.8.8.dist-info → lightning_sdk-2025.8.14.dist-info}/top_level.txt +0 -0
@@ -46,7 +46,8 @@ class V1KubernetesDirectV1(object):
46
46
  'grafana_service_name': 'str',
47
47
  'grafana_service_port': 'str',
48
48
  'kubeconfig': 'str',
49
- 'kubeconfig_elevated': 'str'
49
+ 'kubeconfig_elevated': 'str',
50
+ 'skip_user_label_injection': 'bool'
50
51
  }
51
52
 
52
53
  attribute_map = {
@@ -55,10 +56,11 @@ class V1KubernetesDirectV1(object):
55
56
  'grafana_service_name': 'grafanaServiceName',
56
57
  'grafana_service_port': 'grafanaServicePort',
57
58
  'kubeconfig': 'kubeconfig',
58
- 'kubeconfig_elevated': 'kubeconfigElevated'
59
+ 'kubeconfig_elevated': 'kubeconfigElevated',
60
+ 'skip_user_label_injection': 'skipUserLabelInjection'
59
61
  }
60
62
 
61
- def __init__(self, grafana_dashboard_url: 'str' =None, grafana_namespace: 'str' =None, grafana_service_name: 'str' =None, grafana_service_port: 'str' =None, kubeconfig: 'str' =None, kubeconfig_elevated: 'str' =None): # noqa: E501
63
+ def __init__(self, grafana_dashboard_url: 'str' =None, grafana_namespace: 'str' =None, grafana_service_name: 'str' =None, grafana_service_port: 'str' =None, kubeconfig: 'str' =None, kubeconfig_elevated: 'str' =None, skip_user_label_injection: 'bool' =None): # noqa: E501
62
64
  """V1KubernetesDirectV1 - a model defined in Swagger""" # noqa: E501
63
65
  self._grafana_dashboard_url = None
64
66
  self._grafana_namespace = None
@@ -66,6 +68,7 @@ class V1KubernetesDirectV1(object):
66
68
  self._grafana_service_port = None
67
69
  self._kubeconfig = None
68
70
  self._kubeconfig_elevated = None
71
+ self._skip_user_label_injection = None
69
72
  self.discriminator = None
70
73
  if grafana_dashboard_url is not None:
71
74
  self.grafana_dashboard_url = grafana_dashboard_url
@@ -79,6 +82,8 @@ class V1KubernetesDirectV1(object):
79
82
  self.kubeconfig = kubeconfig
80
83
  if kubeconfig_elevated is not None:
81
84
  self.kubeconfig_elevated = kubeconfig_elevated
85
+ if skip_user_label_injection is not None:
86
+ self.skip_user_label_injection = skip_user_label_injection
82
87
 
83
88
  @property
84
89
  def grafana_dashboard_url(self) -> 'str':
@@ -206,6 +211,27 @@ class V1KubernetesDirectV1(object):
206
211
 
207
212
  self._kubeconfig_elevated = kubeconfig_elevated
208
213
 
214
+ @property
215
+ def skip_user_label_injection(self) -> 'bool':
216
+ """Gets the skip_user_label_injection of this V1KubernetesDirectV1. # noqa: E501
217
+
218
+
219
+ :return: The skip_user_label_injection of this V1KubernetesDirectV1. # noqa: E501
220
+ :rtype: bool
221
+ """
222
+ return self._skip_user_label_injection
223
+
224
+ @skip_user_label_injection.setter
225
+ def skip_user_label_injection(self, skip_user_label_injection: 'bool'):
226
+ """Sets the skip_user_label_injection of this V1KubernetesDirectV1.
227
+
228
+
229
+ :param skip_user_label_injection: The skip_user_label_injection of this V1KubernetesDirectV1. # noqa: E501
230
+ :type: bool
231
+ """
232
+
233
+ self._skip_user_label_injection = skip_user_label_injection
234
+
209
235
  def to_dict(self) -> dict:
210
236
  """Returns the model properties as a dict"""
211
237
  result = {}
@@ -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 V1ListClusterMetricsResponse(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_metrics': 'list[V1ClusterMetrics]'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'cluster_metrics': 'clusterMetrics'
49
+ }
50
+
51
+ def __init__(self, cluster_metrics: 'list[V1ClusterMetrics]' =None): # noqa: E501
52
+ """V1ListClusterMetricsResponse - a model defined in Swagger""" # noqa: E501
53
+ self._cluster_metrics = None
54
+ self.discriminator = None
55
+ if cluster_metrics is not None:
56
+ self.cluster_metrics = cluster_metrics
57
+
58
+ @property
59
+ def cluster_metrics(self) -> 'list[V1ClusterMetrics]':
60
+ """Gets the cluster_metrics of this V1ListClusterMetricsResponse. # noqa: E501
61
+
62
+
63
+ :return: The cluster_metrics of this V1ListClusterMetricsResponse. # noqa: E501
64
+ :rtype: list[V1ClusterMetrics]
65
+ """
66
+ return self._cluster_metrics
67
+
68
+ @cluster_metrics.setter
69
+ def cluster_metrics(self, cluster_metrics: 'list[V1ClusterMetrics]'):
70
+ """Sets the cluster_metrics of this V1ListClusterMetricsResponse.
71
+
72
+
73
+ :param cluster_metrics: The cluster_metrics of this V1ListClusterMetricsResponse. # noqa: E501
74
+ :type: list[V1ClusterMetrics]
75
+ """
76
+
77
+ self._cluster_metrics = cluster_metrics
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(V1ListClusterMetricsResponse, 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: 'V1ListClusterMetricsResponse') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, V1ListClusterMetricsResponse):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'V1ListClusterMetricsResponse') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -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 V1ListClusterNamespaceMetricsResponse(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
+ 'namespace_metrics': 'list[V1NamespaceMetrics]'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'namespace_metrics': 'namespaceMetrics'
49
+ }
50
+
51
+ def __init__(self, namespace_metrics: 'list[V1NamespaceMetrics]' =None): # noqa: E501
52
+ """V1ListClusterNamespaceMetricsResponse - a model defined in Swagger""" # noqa: E501
53
+ self._namespace_metrics = None
54
+ self.discriminator = None
55
+ if namespace_metrics is not None:
56
+ self.namespace_metrics = namespace_metrics
57
+
58
+ @property
59
+ def namespace_metrics(self) -> 'list[V1NamespaceMetrics]':
60
+ """Gets the namespace_metrics of this V1ListClusterNamespaceMetricsResponse. # noqa: E501
61
+
62
+
63
+ :return: The namespace_metrics of this V1ListClusterNamespaceMetricsResponse. # noqa: E501
64
+ :rtype: list[V1NamespaceMetrics]
65
+ """
66
+ return self._namespace_metrics
67
+
68
+ @namespace_metrics.setter
69
+ def namespace_metrics(self, namespace_metrics: 'list[V1NamespaceMetrics]'):
70
+ """Sets the namespace_metrics of this V1ListClusterNamespaceMetricsResponse.
71
+
72
+
73
+ :param namespace_metrics: The namespace_metrics of this V1ListClusterNamespaceMetricsResponse. # noqa: E501
74
+ :type: list[V1NamespaceMetrics]
75
+ """
76
+
77
+ self._namespace_metrics = namespace_metrics
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(V1ListClusterNamespaceMetricsResponse, 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: 'V1ListClusterNamespaceMetricsResponse') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, V1ListClusterNamespaceMetricsResponse):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'V1ListClusterNamespaceMetricsResponse') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -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 V1ListClusterNamespaceUserMetricsResponse(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
+ 'namespace_user_metrics': 'list[V1NamespaceUserMetrics]'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'namespace_user_metrics': 'namespaceUserMetrics'
49
+ }
50
+
51
+ def __init__(self, namespace_user_metrics: 'list[V1NamespaceUserMetrics]' =None): # noqa: E501
52
+ """V1ListClusterNamespaceUserMetricsResponse - a model defined in Swagger""" # noqa: E501
53
+ self._namespace_user_metrics = None
54
+ self.discriminator = None
55
+ if namespace_user_metrics is not None:
56
+ self.namespace_user_metrics = namespace_user_metrics
57
+
58
+ @property
59
+ def namespace_user_metrics(self) -> 'list[V1NamespaceUserMetrics]':
60
+ """Gets the namespace_user_metrics of this V1ListClusterNamespaceUserMetricsResponse. # noqa: E501
61
+
62
+
63
+ :return: The namespace_user_metrics of this V1ListClusterNamespaceUserMetricsResponse. # noqa: E501
64
+ :rtype: list[V1NamespaceUserMetrics]
65
+ """
66
+ return self._namespace_user_metrics
67
+
68
+ @namespace_user_metrics.setter
69
+ def namespace_user_metrics(self, namespace_user_metrics: 'list[V1NamespaceUserMetrics]'):
70
+ """Sets the namespace_user_metrics of this V1ListClusterNamespaceUserMetricsResponse.
71
+
72
+
73
+ :param namespace_user_metrics: The namespace_user_metrics of this V1ListClusterNamespaceUserMetricsResponse. # noqa: E501
74
+ :type: list[V1NamespaceUserMetrics]
75
+ """
76
+
77
+ self._namespace_user_metrics = namespace_user_metrics
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(V1ListClusterNamespaceUserMetricsResponse, 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: 'V1ListClusterNamespaceUserMetricsResponse') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, V1ListClusterNamespaceUserMetricsResponse):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'V1ListClusterNamespaceUserMetricsResponse') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -0,0 +1,149 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ external/v1/auth_service.proto
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: version not set
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+
12
+ NOTE
13
+ ----
14
+ standard swagger-codegen-cli for this python client has been modified
15
+ by custom templates. The purpose of these templates is to include
16
+ typing information in the API and Model code. Please refer to the
17
+ main grid repository for more info
18
+ """
19
+
20
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class V1LustreDataConnection(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
+ 'file_system_name': 'str',
45
+ 'ip_address': 'str'
46
+ }
47
+
48
+ attribute_map = {
49
+ 'file_system_name': 'fileSystemName',
50
+ 'ip_address': 'ipAddress'
51
+ }
52
+
53
+ def __init__(self, file_system_name: 'str' =None, ip_address: 'str' =None): # noqa: E501
54
+ """V1LustreDataConnection - a model defined in Swagger""" # noqa: E501
55
+ self._file_system_name = None
56
+ self._ip_address = None
57
+ self.discriminator = None
58
+ if file_system_name is not None:
59
+ self.file_system_name = file_system_name
60
+ if ip_address is not None:
61
+ self.ip_address = ip_address
62
+
63
+ @property
64
+ def file_system_name(self) -> 'str':
65
+ """Gets the file_system_name of this V1LustreDataConnection. # noqa: E501
66
+
67
+
68
+ :return: The file_system_name of this V1LustreDataConnection. # noqa: E501
69
+ :rtype: str
70
+ """
71
+ return self._file_system_name
72
+
73
+ @file_system_name.setter
74
+ def file_system_name(self, file_system_name: 'str'):
75
+ """Sets the file_system_name of this V1LustreDataConnection.
76
+
77
+
78
+ :param file_system_name: The file_system_name of this V1LustreDataConnection. # noqa: E501
79
+ :type: str
80
+ """
81
+
82
+ self._file_system_name = file_system_name
83
+
84
+ @property
85
+ def ip_address(self) -> 'str':
86
+ """Gets the ip_address of this V1LustreDataConnection. # noqa: E501
87
+
88
+
89
+ :return: The ip_address of this V1LustreDataConnection. # noqa: E501
90
+ :rtype: str
91
+ """
92
+ return self._ip_address
93
+
94
+ @ip_address.setter
95
+ def ip_address(self, ip_address: 'str'):
96
+ """Sets the ip_address of this V1LustreDataConnection.
97
+
98
+
99
+ :param ip_address: The ip_address of this V1LustreDataConnection. # noqa: E501
100
+ :type: str
101
+ """
102
+
103
+ self._ip_address = ip_address
104
+
105
+ def to_dict(self) -> dict:
106
+ """Returns the model properties as a dict"""
107
+ result = {}
108
+
109
+ for attr, _ in six.iteritems(self.swagger_types):
110
+ value = getattr(self, attr)
111
+ if isinstance(value, list):
112
+ result[attr] = list(map(
113
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
114
+ value
115
+ ))
116
+ elif hasattr(value, "to_dict"):
117
+ result[attr] = value.to_dict()
118
+ elif isinstance(value, dict):
119
+ result[attr] = dict(map(
120
+ lambda item: (item[0], item[1].to_dict())
121
+ if hasattr(item[1], "to_dict") else item,
122
+ value.items()
123
+ ))
124
+ else:
125
+ result[attr] = value
126
+ if issubclass(V1LustreDataConnection, dict):
127
+ for key, value in self.items():
128
+ result[key] = value
129
+
130
+ return result
131
+
132
+ def to_str(self) -> str:
133
+ """Returns the string representation of the model"""
134
+ return pprint.pformat(self.to_dict())
135
+
136
+ def __repr__(self) -> str:
137
+ """For `print` and `pprint`"""
138
+ return self.to_str()
139
+
140
+ def __eq__(self, other: 'V1LustreDataConnection') -> bool:
141
+ """Returns true if both objects are equal"""
142
+ if not isinstance(other, V1LustreDataConnection):
143
+ return False
144
+
145
+ return self.__dict__ == other.__dict__
146
+
147
+ def __ne__(self, other: 'V1LustreDataConnection') -> bool:
148
+ """Returns true if both objects are not equal"""
149
+ return not self == other
@@ -42,7 +42,6 @@ class V1MagicLinkLoginRequest(object):
42
42
  """
43
43
  swagger_types = {
44
44
  'collab_session_id': 'str',
45
- 'discounted_pro_plan': 'bool',
46
45
  'email': 'str',
47
46
  'experimentation_id': 'str',
48
47
  'invite_code': 'str',
@@ -52,7 +51,6 @@ class V1MagicLinkLoginRequest(object):
52
51
 
53
52
  attribute_map = {
54
53
  'collab_session_id': 'collabSessionId',
55
- 'discounted_pro_plan': 'discountedProPlan',
56
54
  'email': 'email',
57
55
  'experimentation_id': 'experimentationId',
58
56
  'invite_code': 'inviteCode',
@@ -60,10 +58,9 @@ class V1MagicLinkLoginRequest(object):
60
58
  'referrer_params': 'referrerParams'
61
59
  }
62
60
 
63
- def __init__(self, collab_session_id: 'str' =None, discounted_pro_plan: 'bool' =None, email: 'str' =None, experimentation_id: 'str' =None, invite_code: 'str' =None, redirect_url: 'str' =None, referrer_params: 'str' =None): # noqa: E501
61
+ def __init__(self, collab_session_id: 'str' =None, email: 'str' =None, experimentation_id: 'str' =None, invite_code: 'str' =None, redirect_url: 'str' =None, referrer_params: 'str' =None): # noqa: E501
64
62
  """V1MagicLinkLoginRequest - a model defined in Swagger""" # noqa: E501
65
63
  self._collab_session_id = None
66
- self._discounted_pro_plan = None
67
64
  self._email = None
68
65
  self._experimentation_id = None
69
66
  self._invite_code = None
@@ -72,8 +69,6 @@ class V1MagicLinkLoginRequest(object):
72
69
  self.discriminator = None
73
70
  if collab_session_id is not None:
74
71
  self.collab_session_id = collab_session_id
75
- if discounted_pro_plan is not None:
76
- self.discounted_pro_plan = discounted_pro_plan
77
72
  if email is not None:
78
73
  self.email = email
79
74
  if experimentation_id is not None:
@@ -106,27 +101,6 @@ class V1MagicLinkLoginRequest(object):
106
101
 
107
102
  self._collab_session_id = collab_session_id
108
103
 
109
- @property
110
- def discounted_pro_plan(self) -> 'bool':
111
- """Gets the discounted_pro_plan of this V1MagicLinkLoginRequest. # noqa: E501
112
-
113
-
114
- :return: The discounted_pro_plan of this V1MagicLinkLoginRequest. # noqa: E501
115
- :rtype: bool
116
- """
117
- return self._discounted_pro_plan
118
-
119
- @discounted_pro_plan.setter
120
- def discounted_pro_plan(self, discounted_pro_plan: 'bool'):
121
- """Sets the discounted_pro_plan of this V1MagicLinkLoginRequest.
122
-
123
-
124
- :param discounted_pro_plan: The discounted_pro_plan of this V1MagicLinkLoginRequest. # noqa: E501
125
- :type: bool
126
- """
127
-
128
- self._discounted_pro_plan = discounted_pro_plan
129
-
130
104
  @property
131
105
  def email(self) -> 'str':
132
106
  """Gets the email of this V1MagicLinkLoginRequest. # noqa: E501