lightning-sdk 2025.7.22__py3-none-any.whl → 2025.7.31__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/cloud_account_api.py +58 -8
  3. lightning_sdk/api/job_api.py +74 -11
  4. lightning_sdk/api/llm_api.py +1 -1
  5. lightning_sdk/api/mmt_api.py +35 -5
  6. lightning_sdk/api/studio_api.py +32 -3
  7. lightning_sdk/api/utils.py +6 -2
  8. lightning_sdk/cli/create.py +3 -1
  9. lightning_sdk/cli/deploy/serve.py +3 -1
  10. lightning_sdk/cli/download.py +25 -1
  11. lightning_sdk/cli/entrypoint.py +3 -1
  12. lightning_sdk/cli/list.py +5 -1
  13. lightning_sdk/cli/run.py +3 -1
  14. lightning_sdk/cli/start.py +3 -1
  15. lightning_sdk/cli/switch.py +3 -1
  16. lightning_sdk/job/v2.py +7 -1
  17. lightning_sdk/job/work.py +5 -1
  18. lightning_sdk/lightning_cloud/openapi/__init__.py +6 -1
  19. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +106 -13
  20. lightning_sdk/lightning_cloud/openapi/api/cloudy_service_api.py +295 -0
  21. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +93 -0
  22. lightning_sdk/lightning_cloud/openapi/models/__init__.py +6 -1
  23. lightning_sdk/lightning_cloud/openapi/models/agentmanagedendpoints_id_body.py +27 -1
  24. lightning_sdk/lightning_cloud/openapi/models/metricsstream_id_body.py +27 -1
  25. lightning_sdk/lightning_cloud/openapi/models/project_id_schedules_body.py +53 -1
  26. lightning_sdk/lightning_cloud/openapi/models/schedules_id_body.py +53 -1
  27. lightning_sdk/lightning_cloud/openapi/models/user_id_upgradetrigger_body.py +29 -3
  28. lightning_sdk/lightning_cloud/openapi/models/user_user_id_body.py +201 -0
  29. lightning_sdk/lightning_cloud/openapi/models/v1_billing_subscription.py +27 -1
  30. lightning_sdk/lightning_cloud/openapi/models/v1_cloudy_settings.py +227 -0
  31. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
  32. lightning_sdk/lightning_cloud/openapi/models/v1_conversation_response_chunk.py +27 -1
  33. lightning_sdk/lightning_cloud/openapi/models/v1_create_subscription_checkout_session_request.py +27 -1
  34. lightning_sdk/lightning_cloud/openapi/models/v1_function_call.py +149 -0
  35. lightning_sdk/lightning_cloud/openapi/models/v1_get_cluster_health_response.py +149 -0
  36. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +27 -1
  37. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
  38. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +27 -1
  39. lightning_sdk/lightning_cloud/openapi/models/{v1_list_published_managed_endpoint_models_response.py → v1_list_published_managed_endpoints_response.py} +23 -23
  40. lightning_sdk/lightning_cloud/openapi/models/v1_managed_endpoint.py +27 -1
  41. lightning_sdk/lightning_cloud/openapi/models/v1_managed_model.py +95 -17
  42. lightning_sdk/lightning_cloud/openapi/models/v1_resource_visibility.py +27 -1
  43. lightning_sdk/lightning_cloud/openapi/models/v1_response_choice.py +29 -3
  44. lightning_sdk/lightning_cloud/openapi/models/v1_schedule.py +53 -1
  45. lightning_sdk/lightning_cloud/openapi/models/v1_service_health.py +27 -1
  46. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_v1.py +79 -1
  47. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_v1_status.py +79 -1
  48. lightning_sdk/lightning_cloud/openapi/models/v1_tool_call.py +175 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +79 -53
  50. lightning_sdk/lightning_cloud/openapi/models/v1_volume_state.py +1 -0
  51. lightning_sdk/llm/llm.py +41 -7
  52. lightning_sdk/llm/public_assistants.json +32 -8
  53. lightning_sdk/machine.py +139 -43
  54. lightning_sdk/mmt/v2.py +6 -1
  55. lightning_sdk/models.py +1 -1
  56. lightning_sdk/studio.py +12 -5
  57. lightning_sdk/teamspace.py +5 -2
  58. lightning_sdk/utils/resolve.py +8 -0
  59. {lightning_sdk-2025.7.22.dist-info → lightning_sdk-2025.7.31.dist-info}/METADATA +7 -5
  60. {lightning_sdk-2025.7.22.dist-info → lightning_sdk-2025.7.31.dist-info}/RECORD +64 -59
  61. {lightning_sdk-2025.7.22.dist-info → lightning_sdk-2025.7.31.dist-info}/LICENSE +0 -0
  62. {lightning_sdk-2025.7.22.dist-info → lightning_sdk-2025.7.31.dist-info}/WHEEL +0 -0
  63. {lightning_sdk-2025.7.22.dist-info → lightning_sdk-2025.7.31.dist-info}/entry_points.txt +0 -0
  64. {lightning_sdk-2025.7.22.dist-info → lightning_sdk-2025.7.31.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,227 @@
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 V1CloudySettings(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
+ 'default_mode': 'str',
45
+ 'preferred_diff_viewer': 'str',
46
+ 'preferred_experts': 'list[str]',
47
+ 'preferred_models': 'list[str]',
48
+ 'user_id': 'str'
49
+ }
50
+
51
+ attribute_map = {
52
+ 'default_mode': 'defaultMode',
53
+ 'preferred_diff_viewer': 'preferredDiffViewer',
54
+ 'preferred_experts': 'preferredExperts',
55
+ 'preferred_models': 'preferredModels',
56
+ 'user_id': 'userId'
57
+ }
58
+
59
+ def __init__(self, default_mode: 'str' =None, preferred_diff_viewer: 'str' =None, preferred_experts: 'list[str]' =None, preferred_models: 'list[str]' =None, user_id: 'str' =None): # noqa: E501
60
+ """V1CloudySettings - a model defined in Swagger""" # noqa: E501
61
+ self._default_mode = None
62
+ self._preferred_diff_viewer = None
63
+ self._preferred_experts = None
64
+ self._preferred_models = None
65
+ self._user_id = None
66
+ self.discriminator = None
67
+ if default_mode is not None:
68
+ self.default_mode = default_mode
69
+ if preferred_diff_viewer is not None:
70
+ self.preferred_diff_viewer = preferred_diff_viewer
71
+ if preferred_experts is not None:
72
+ self.preferred_experts = preferred_experts
73
+ if preferred_models is not None:
74
+ self.preferred_models = preferred_models
75
+ if user_id is not None:
76
+ self.user_id = user_id
77
+
78
+ @property
79
+ def default_mode(self) -> 'str':
80
+ """Gets the default_mode of this V1CloudySettings. # noqa: E501
81
+
82
+
83
+ :return: The default_mode of this V1CloudySettings. # noqa: E501
84
+ :rtype: str
85
+ """
86
+ return self._default_mode
87
+
88
+ @default_mode.setter
89
+ def default_mode(self, default_mode: 'str'):
90
+ """Sets the default_mode of this V1CloudySettings.
91
+
92
+
93
+ :param default_mode: The default_mode of this V1CloudySettings. # noqa: E501
94
+ :type: str
95
+ """
96
+
97
+ self._default_mode = default_mode
98
+
99
+ @property
100
+ def preferred_diff_viewer(self) -> 'str':
101
+ """Gets the preferred_diff_viewer of this V1CloudySettings. # noqa: E501
102
+
103
+
104
+ :return: The preferred_diff_viewer of this V1CloudySettings. # noqa: E501
105
+ :rtype: str
106
+ """
107
+ return self._preferred_diff_viewer
108
+
109
+ @preferred_diff_viewer.setter
110
+ def preferred_diff_viewer(self, preferred_diff_viewer: 'str'):
111
+ """Sets the preferred_diff_viewer of this V1CloudySettings.
112
+
113
+
114
+ :param preferred_diff_viewer: The preferred_diff_viewer of this V1CloudySettings. # noqa: E501
115
+ :type: str
116
+ """
117
+
118
+ self._preferred_diff_viewer = preferred_diff_viewer
119
+
120
+ @property
121
+ def preferred_experts(self) -> 'list[str]':
122
+ """Gets the preferred_experts of this V1CloudySettings. # noqa: E501
123
+
124
+
125
+ :return: The preferred_experts of this V1CloudySettings. # noqa: E501
126
+ :rtype: list[str]
127
+ """
128
+ return self._preferred_experts
129
+
130
+ @preferred_experts.setter
131
+ def preferred_experts(self, preferred_experts: 'list[str]'):
132
+ """Sets the preferred_experts of this V1CloudySettings.
133
+
134
+
135
+ :param preferred_experts: The preferred_experts of this V1CloudySettings. # noqa: E501
136
+ :type: list[str]
137
+ """
138
+
139
+ self._preferred_experts = preferred_experts
140
+
141
+ @property
142
+ def preferred_models(self) -> 'list[str]':
143
+ """Gets the preferred_models of this V1CloudySettings. # noqa: E501
144
+
145
+
146
+ :return: The preferred_models of this V1CloudySettings. # noqa: E501
147
+ :rtype: list[str]
148
+ """
149
+ return self._preferred_models
150
+
151
+ @preferred_models.setter
152
+ def preferred_models(self, preferred_models: 'list[str]'):
153
+ """Sets the preferred_models of this V1CloudySettings.
154
+
155
+
156
+ :param preferred_models: The preferred_models of this V1CloudySettings. # noqa: E501
157
+ :type: list[str]
158
+ """
159
+
160
+ self._preferred_models = preferred_models
161
+
162
+ @property
163
+ def user_id(self) -> 'str':
164
+ """Gets the user_id of this V1CloudySettings. # noqa: E501
165
+
166
+
167
+ :return: The user_id of this V1CloudySettings. # noqa: E501
168
+ :rtype: str
169
+ """
170
+ return self._user_id
171
+
172
+ @user_id.setter
173
+ def user_id(self, user_id: 'str'):
174
+ """Sets the user_id of this V1CloudySettings.
175
+
176
+
177
+ :param user_id: The user_id of this V1CloudySettings. # noqa: E501
178
+ :type: str
179
+ """
180
+
181
+ self._user_id = user_id
182
+
183
+ def to_dict(self) -> dict:
184
+ """Returns the model properties as a dict"""
185
+ result = {}
186
+
187
+ for attr, _ in six.iteritems(self.swagger_types):
188
+ value = getattr(self, attr)
189
+ if isinstance(value, list):
190
+ result[attr] = list(map(
191
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
192
+ value
193
+ ))
194
+ elif hasattr(value, "to_dict"):
195
+ result[attr] = value.to_dict()
196
+ elif isinstance(value, dict):
197
+ result[attr] = dict(map(
198
+ lambda item: (item[0], item[1].to_dict())
199
+ if hasattr(item[1], "to_dict") else item,
200
+ value.items()
201
+ ))
202
+ else:
203
+ result[attr] = value
204
+ if issubclass(V1CloudySettings, dict):
205
+ for key, value in self.items():
206
+ result[key] = value
207
+
208
+ return result
209
+
210
+ def to_str(self) -> str:
211
+ """Returns the string representation of the model"""
212
+ return pprint.pformat(self.to_dict())
213
+
214
+ def __repr__(self) -> str:
215
+ """For `print` and `pprint`"""
216
+ return self.to_str()
217
+
218
+ def __eq__(self, other: 'V1CloudySettings') -> bool:
219
+ """Returns true if both objects are equal"""
220
+ if not isinstance(other, V1CloudySettings):
221
+ return False
222
+
223
+ return self.__dict__ == other.__dict__
224
+
225
+ def __ne__(self, other: 'V1CloudySettings') -> bool:
226
+ """Returns true if both objects are not equal"""
227
+ return not self == other
@@ -73,6 +73,7 @@ class V1ClusterSpec(object):
73
73
  'slurm_v1': 'V1SlurmV1',
74
74
  'tagging_options': 'V1ClusterTaggingOptions',
75
75
  'user_id': 'str',
76
+ 'vibe_coding_enabled': 'bool',
76
77
  'voltage_park_v1': 'V1VoltageParkDirectV1',
77
78
  'vultr_v1': 'V1VultrDirectV1'
78
79
  }
@@ -110,11 +111,12 @@ class V1ClusterSpec(object):
110
111
  'slurm_v1': 'slurmV1',
111
112
  'tagging_options': 'taggingOptions',
112
113
  'user_id': 'userId',
114
+ 'vibe_coding_enabled': 'vibeCodingEnabled',
113
115
  'voltage_park_v1': 'voltageParkV1',
114
116
  'vultr_v1': 'vultrV1'
115
117
  }
116
118
 
117
- def __init__(self, ai_pod_v1: 'V1AiPodV1' =None, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloud_pricing_enabled: 'bool' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, compute_cluster_ids: 'list[str]' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, driver: 'V1CloudProvider' =None, freeze_accelerators: 'bool' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, insurer_disabled: 'bool' =None, kubernetes_v1: 'V1KubernetesDirectV1' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, lock_overprovisioning: 'bool' =None, locked_zones: 'list[str]' =None, monitor_deletion_disabled: 'bool' =None, nebius_v1: 'V1NebiusDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, parent_cluster_type: 'str' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: 'bool' =None, reserved_instances_only: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
119
+ def __init__(self, ai_pod_v1: 'V1AiPodV1' =None, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloud_pricing_enabled: 'bool' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, compute_cluster_ids: 'list[str]' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, driver: 'V1CloudProvider' =None, freeze_accelerators: 'bool' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, insurer_disabled: 'bool' =None, kubernetes_v1: 'V1KubernetesDirectV1' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, lock_overprovisioning: 'bool' =None, locked_zones: 'list[str]' =None, monitor_deletion_disabled: 'bool' =None, nebius_v1: 'V1NebiusDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, parent_cluster_type: 'str' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: 'bool' =None, reserved_instances_only: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, vibe_coding_enabled: 'bool' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
118
120
  """V1ClusterSpec - a model defined in Swagger""" # noqa: E501
119
121
  self._ai_pod_v1 = None
120
122
  self._auth_token = None
@@ -148,6 +150,7 @@ class V1ClusterSpec(object):
148
150
  self._slurm_v1 = None
149
151
  self._tagging_options = None
150
152
  self._user_id = None
153
+ self._vibe_coding_enabled = None
151
154
  self._voltage_park_v1 = None
152
155
  self._vultr_v1 = None
153
156
  self.discriminator = None
@@ -215,6 +218,8 @@ class V1ClusterSpec(object):
215
218
  self.tagging_options = tagging_options
216
219
  if user_id is not None:
217
220
  self.user_id = user_id
221
+ if vibe_coding_enabled is not None:
222
+ self.vibe_coding_enabled = vibe_coding_enabled
218
223
  if voltage_park_v1 is not None:
219
224
  self.voltage_park_v1 = voltage_park_v1
220
225
  if vultr_v1 is not None:
@@ -894,6 +899,27 @@ class V1ClusterSpec(object):
894
899
 
895
900
  self._user_id = user_id
896
901
 
902
+ @property
903
+ def vibe_coding_enabled(self) -> 'bool':
904
+ """Gets the vibe_coding_enabled of this V1ClusterSpec. # noqa: E501
905
+
906
+
907
+ :return: The vibe_coding_enabled of this V1ClusterSpec. # noqa: E501
908
+ :rtype: bool
909
+ """
910
+ return self._vibe_coding_enabled
911
+
912
+ @vibe_coding_enabled.setter
913
+ def vibe_coding_enabled(self, vibe_coding_enabled: 'bool'):
914
+ """Sets the vibe_coding_enabled of this V1ClusterSpec.
915
+
916
+
917
+ :param vibe_coding_enabled: The vibe_coding_enabled of this V1ClusterSpec. # noqa: E501
918
+ :type: bool
919
+ """
920
+
921
+ self._vibe_coding_enabled = vibe_coding_enabled
922
+
897
923
  @property
898
924
  def voltage_park_v1(self) -> 'V1VoltageParkDirectV1':
899
925
  """Gets the voltage_park_v1 of this V1ClusterSpec. # noqa: E501
@@ -45,6 +45,7 @@ class V1ConversationResponseChunk(object):
45
45
  'conversation_id': 'str',
46
46
  'executable': 'bool',
47
47
  'id': 'str',
48
+ 'message_id': 'str',
48
49
  'object': 'str',
49
50
  'stats': 'dict(str, str)',
50
51
  'throughput': 'float',
@@ -56,18 +57,20 @@ class V1ConversationResponseChunk(object):
56
57
  'conversation_id': 'conversationId',
57
58
  'executable': 'executable',
58
59
  'id': 'id',
60
+ 'message_id': 'messageId',
59
61
  'object': 'object',
60
62
  'stats': 'stats',
61
63
  'throughput': 'throughput',
62
64
  'usage': 'usage'
63
65
  }
64
66
 
65
- def __init__(self, choices: 'list[V1ResponseChoice]' =None, conversation_id: 'str' =None, executable: 'bool' =None, id: 'str' =None, object: 'str' =None, stats: 'dict(str, str)' =None, throughput: 'float' =None, usage: 'V1TokenUsage' =None): # noqa: E501
67
+ def __init__(self, choices: 'list[V1ResponseChoice]' =None, conversation_id: 'str' =None, executable: 'bool' =None, id: 'str' =None, message_id: 'str' =None, object: 'str' =None, stats: 'dict(str, str)' =None, throughput: 'float' =None, usage: 'V1TokenUsage' =None): # noqa: E501
66
68
  """V1ConversationResponseChunk - a model defined in Swagger""" # noqa: E501
67
69
  self._choices = None
68
70
  self._conversation_id = None
69
71
  self._executable = None
70
72
  self._id = None
73
+ self._message_id = None
71
74
  self._object = None
72
75
  self._stats = None
73
76
  self._throughput = None
@@ -81,6 +84,8 @@ class V1ConversationResponseChunk(object):
81
84
  self.executable = executable
82
85
  if id is not None:
83
86
  self.id = id
87
+ if message_id is not None:
88
+ self.message_id = message_id
84
89
  if object is not None:
85
90
  self.object = object
86
91
  if stats is not None:
@@ -174,6 +179,27 @@ class V1ConversationResponseChunk(object):
174
179
 
175
180
  self._id = id
176
181
 
182
+ @property
183
+ def message_id(self) -> 'str':
184
+ """Gets the message_id of this V1ConversationResponseChunk. # noqa: E501
185
+
186
+
187
+ :return: The message_id of this V1ConversationResponseChunk. # noqa: E501
188
+ :rtype: str
189
+ """
190
+ return self._message_id
191
+
192
+ @message_id.setter
193
+ def message_id(self, message_id: 'str'):
194
+ """Sets the message_id of this V1ConversationResponseChunk.
195
+
196
+
197
+ :param message_id: The message_id of this V1ConversationResponseChunk. # noqa: E501
198
+ :type: str
199
+ """
200
+
201
+ self._message_id = message_id
202
+
177
203
  @property
178
204
  def object(self) -> 'str':
179
205
  """Gets the object of this V1ConversationResponseChunk. # noqa: E501
@@ -47,6 +47,7 @@ class V1CreateSubscriptionCheckoutSessionRequest(object):
47
47
  'redirect_url_failed': 'str',
48
48
  'redirect_url_succeeded': 'str',
49
49
  'seats': 'int',
50
+ 'tier': 'V1BillingTier',
50
51
  'upgrade_feature': 'str'
51
52
  }
52
53
 
@@ -57,10 +58,11 @@ class V1CreateSubscriptionCheckoutSessionRequest(object):
57
58
  'redirect_url_failed': 'redirectUrlFailed',
58
59
  'redirect_url_succeeded': 'redirectUrlSucceeded',
59
60
  'seats': 'seats',
61
+ 'tier': 'tier',
60
62
  'upgrade_feature': 'upgradeFeature'
61
63
  }
62
64
 
63
- def __init__(self, billing_period: 'V1BillingPeriod' =None, org_id: 'str' =None, product_id: 'str' =None, redirect_url_failed: 'str' =None, redirect_url_succeeded: 'str' =None, seats: 'int' =None, upgrade_feature: 'str' =None): # noqa: E501
65
+ def __init__(self, billing_period: 'V1BillingPeriod' =None, org_id: 'str' =None, product_id: 'str' =None, redirect_url_failed: 'str' =None, redirect_url_succeeded: 'str' =None, seats: 'int' =None, tier: 'V1BillingTier' =None, upgrade_feature: 'str' =None): # noqa: E501
64
66
  """V1CreateSubscriptionCheckoutSessionRequest - a model defined in Swagger""" # noqa: E501
65
67
  self._billing_period = None
66
68
  self._org_id = None
@@ -68,6 +70,7 @@ class V1CreateSubscriptionCheckoutSessionRequest(object):
68
70
  self._redirect_url_failed = None
69
71
  self._redirect_url_succeeded = None
70
72
  self._seats = None
73
+ self._tier = None
71
74
  self._upgrade_feature = None
72
75
  self.discriminator = None
73
76
  if billing_period is not None:
@@ -82,6 +85,8 @@ class V1CreateSubscriptionCheckoutSessionRequest(object):
82
85
  self.redirect_url_succeeded = redirect_url_succeeded
83
86
  if seats is not None:
84
87
  self.seats = seats
88
+ if tier is not None:
89
+ self.tier = tier
85
90
  if upgrade_feature is not None:
86
91
  self.upgrade_feature = upgrade_feature
87
92
 
@@ -211,6 +216,27 @@ class V1CreateSubscriptionCheckoutSessionRequest(object):
211
216
 
212
217
  self._seats = seats
213
218
 
219
+ @property
220
+ def tier(self) -> 'V1BillingTier':
221
+ """Gets the tier of this V1CreateSubscriptionCheckoutSessionRequest. # noqa: E501
222
+
223
+
224
+ :return: The tier of this V1CreateSubscriptionCheckoutSessionRequest. # noqa: E501
225
+ :rtype: V1BillingTier
226
+ """
227
+ return self._tier
228
+
229
+ @tier.setter
230
+ def tier(self, tier: 'V1BillingTier'):
231
+ """Sets the tier of this V1CreateSubscriptionCheckoutSessionRequest.
232
+
233
+
234
+ :param tier: The tier of this V1CreateSubscriptionCheckoutSessionRequest. # noqa: E501
235
+ :type: V1BillingTier
236
+ """
237
+
238
+ self._tier = tier
239
+
214
240
  @property
215
241
  def upgrade_feature(self) -> 'str':
216
242
  """Gets the upgrade_feature of this V1CreateSubscriptionCheckoutSessionRequest. # noqa: E501
@@ -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 V1FunctionCall(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
+ 'arguments': 'str',
45
+ 'name': 'str'
46
+ }
47
+
48
+ attribute_map = {
49
+ 'arguments': 'arguments',
50
+ 'name': 'name'
51
+ }
52
+
53
+ def __init__(self, arguments: 'str' =None, name: 'str' =None): # noqa: E501
54
+ """V1FunctionCall - a model defined in Swagger""" # noqa: E501
55
+ self._arguments = None
56
+ self._name = None
57
+ self.discriminator = None
58
+ if arguments is not None:
59
+ self.arguments = arguments
60
+ if name is not None:
61
+ self.name = name
62
+
63
+ @property
64
+ def arguments(self) -> 'str':
65
+ """Gets the arguments of this V1FunctionCall. # noqa: E501
66
+
67
+
68
+ :return: The arguments of this V1FunctionCall. # noqa: E501
69
+ :rtype: str
70
+ """
71
+ return self._arguments
72
+
73
+ @arguments.setter
74
+ def arguments(self, arguments: 'str'):
75
+ """Sets the arguments of this V1FunctionCall.
76
+
77
+
78
+ :param arguments: The arguments of this V1FunctionCall. # noqa: E501
79
+ :type: str
80
+ """
81
+
82
+ self._arguments = arguments
83
+
84
+ @property
85
+ def name(self) -> 'str':
86
+ """Gets the name of this V1FunctionCall. # noqa: E501
87
+
88
+
89
+ :return: The name of this V1FunctionCall. # noqa: E501
90
+ :rtype: str
91
+ """
92
+ return self._name
93
+
94
+ @name.setter
95
+ def name(self, name: 'str'):
96
+ """Sets the name of this V1FunctionCall.
97
+
98
+
99
+ :param name: The name of this V1FunctionCall. # noqa: E501
100
+ :type: str
101
+ """
102
+
103
+ self._name = name
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(V1FunctionCall, 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: 'V1FunctionCall') -> bool:
141
+ """Returns true if both objects are equal"""
142
+ if not isinstance(other, V1FunctionCall):
143
+ return False
144
+
145
+ return self.__dict__ == other.__dict__
146
+
147
+ def __ne__(self, other: 'V1FunctionCall') -> bool:
148
+ """Returns true if both objects are not equal"""
149
+ return not self == other