lightning-sdk 2025.7.17__py3-none-any.whl → 2025.7.22__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 (68) hide show
  1. lightning_sdk/__init__.py +3 -2
  2. lightning_sdk/api/cloud_account_api.py +154 -0
  3. lightning_sdk/api/deployment_api.py +11 -0
  4. lightning_sdk/api/job_api.py +9 -0
  5. lightning_sdk/api/mmt_api.py +9 -0
  6. lightning_sdk/api/pipeline_api.py +4 -3
  7. lightning_sdk/api/studio_api.py +19 -5
  8. lightning_sdk/cli/clusters_menu.py +3 -3
  9. lightning_sdk/cli/create.py +22 -10
  10. lightning_sdk/cli/deploy/_auth.py +19 -3
  11. lightning_sdk/cli/deploy/serve.py +18 -4
  12. lightning_sdk/cli/entrypoint.py +1 -1
  13. lightning_sdk/cli/start.py +37 -7
  14. lightning_sdk/deployment/deployment.py +8 -0
  15. lightning_sdk/job/base.py +27 -3
  16. lightning_sdk/job/job.py +28 -4
  17. lightning_sdk/job/v1.py +10 -1
  18. lightning_sdk/job/v2.py +15 -1
  19. lightning_sdk/lightning_cloud/openapi/__init__.py +9 -1
  20. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +335 -0
  21. lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +153 -48
  22. lightning_sdk/lightning_cloud/openapi/models/__init__.py +9 -1
  23. lightning_sdk/lightning_cloud/openapi/models/blogposts_id_body.py +53 -1
  24. lightning_sdk/lightning_cloud/openapi/models/conversations_id_body1.py +123 -0
  25. lightning_sdk/lightning_cloud/openapi/models/messages_id_body.py +123 -0
  26. lightning_sdk/lightning_cloud/openapi/models/project_id_schedules_body.py +29 -3
  27. lightning_sdk/lightning_cloud/openapi/models/schedules_id_body.py +27 -1
  28. lightning_sdk/lightning_cloud/openapi/models/user_id_upgradetrigger_body.py +175 -0
  29. lightning_sdk/lightning_cloud/openapi/models/v1_blog_post.py +53 -1
  30. lightning_sdk/lightning_cloud/openapi/models/v1_conversation.py +27 -1
  31. lightning_sdk/lightning_cloud/openapi/models/v1_create_billing_upgrade_trigger_record_response.py +97 -0
  32. lightning_sdk/lightning_cloud/openapi/models/v1_create_blog_post_request.py +53 -1
  33. lightning_sdk/lightning_cloud/openapi/models/v1_create_checkout_session_request.py +27 -1
  34. lightning_sdk/lightning_cloud/openapi/models/v1_create_subscription_checkout_session_request.py +29 -3
  35. lightning_sdk/lightning_cloud/openapi/models/{v1_get_clickhouse_assistant_session_daily_aggregated_response.py → v1_get_assistant_session_daily_aggregated_response.py} +22 -22
  36. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +79 -1
  37. lightning_sdk/lightning_cloud/openapi/models/v1_like_status.py +104 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_list_published_managed_endpoint_models_response.py +123 -0
  39. lightning_sdk/lightning_cloud/openapi/models/v1_message.py +27 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_quote_subscription_response.py +27 -1
  41. lightning_sdk/lightning_cloud/openapi/models/v1_schedule.py +27 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_update_conversation_like_response.py +149 -0
  43. lightning_sdk/lightning_cloud/openapi/models/v1_update_conversation_message_like_response.py +149 -0
  44. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +1 -261
  45. lightning_sdk/llm/llm.py +29 -5
  46. lightning_sdk/machine.py +12 -0
  47. lightning_sdk/mmt/base.py +20 -2
  48. lightning_sdk/mmt/mmt.py +25 -3
  49. lightning_sdk/mmt/v1.py +7 -1
  50. lightning_sdk/mmt/v2.py +21 -2
  51. lightning_sdk/organization.py +4 -0
  52. lightning_sdk/pipeline/pipeline.py +16 -5
  53. lightning_sdk/pipeline/printer.py +5 -3
  54. lightning_sdk/pipeline/schedule.py +844 -1
  55. lightning_sdk/pipeline/steps.py +19 -4
  56. lightning_sdk/sandbox.py +4 -1
  57. lightning_sdk/serve.py +2 -0
  58. lightning_sdk/studio.py +79 -39
  59. lightning_sdk/teamspace.py +14 -8
  60. lightning_sdk/utils/resolve.py +29 -2
  61. {lightning_sdk-2025.7.17.dist-info → lightning_sdk-2025.7.22.dist-info}/METADATA +1 -1
  62. {lightning_sdk-2025.7.17.dist-info → lightning_sdk-2025.7.22.dist-info}/RECORD +67 -59
  63. lightning_sdk/api/cluster_api.py +0 -119
  64. /lightning_sdk/cli/{inspect.py → inspection.py} +0 -0
  65. {lightning_sdk-2025.7.17.dist-info → lightning_sdk-2025.7.22.dist-info}/LICENSE +0 -0
  66. {lightning_sdk-2025.7.17.dist-info → lightning_sdk-2025.7.22.dist-info}/WHEEL +0 -0
  67. {lightning_sdk-2025.7.17.dist-info → lightning_sdk-2025.7.22.dist-info}/entry_points.txt +0 -0
  68. {lightning_sdk-2025.7.17.dist-info → lightning_sdk-2025.7.22.dist-info}/top_level.txt +0 -0
@@ -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 MessagesIdBody(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
+ 'like': 'V1LikeStatus'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'like': 'like'
49
+ }
50
+
51
+ def __init__(self, like: 'V1LikeStatus' =None): # noqa: E501
52
+ """MessagesIdBody - a model defined in Swagger""" # noqa: E501
53
+ self._like = None
54
+ self.discriminator = None
55
+ if like is not None:
56
+ self.like = like
57
+
58
+ @property
59
+ def like(self) -> 'V1LikeStatus':
60
+ """Gets the like of this MessagesIdBody. # noqa: E501
61
+
62
+
63
+ :return: The like of this MessagesIdBody. # noqa: E501
64
+ :rtype: V1LikeStatus
65
+ """
66
+ return self._like
67
+
68
+ @like.setter
69
+ def like(self, like: 'V1LikeStatus'):
70
+ """Sets the like of this MessagesIdBody.
71
+
72
+
73
+ :param like: The like of this MessagesIdBody. # noqa: E501
74
+ :type: V1LikeStatus
75
+ """
76
+
77
+ self._like = like
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(MessagesIdBody, 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: 'MessagesIdBody') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, MessagesIdBody):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'MessagesIdBody') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -46,7 +46,8 @@ class ProjectIdSchedulesBody(object):
46
46
  'display_name': 'str',
47
47
  'parent_resource_id': 'str',
48
48
  'resource_id': 'str',
49
- 'resource_type': 'V1ScheduleResourceType'
49
+ 'resource_type': 'V1ScheduleResourceType',
50
+ 'timezone': 'str'
50
51
  }
51
52
 
52
53
  attribute_map = {
@@ -55,10 +56,11 @@ class ProjectIdSchedulesBody(object):
55
56
  'display_name': 'displayName',
56
57
  'parent_resource_id': 'parentResourceId',
57
58
  'resource_id': 'resourceId',
58
- 'resource_type': 'resourceType'
59
+ 'resource_type': 'resourceType',
60
+ 'timezone': 'timezone'
59
61
  }
60
62
 
61
- def __init__(self, action_type: 'V1ScheduleActionType' =None, cron_expression: 'str' =None, display_name: 'str' =None, parent_resource_id: 'str' =None, resource_id: 'str' =None, resource_type: 'V1ScheduleResourceType' =None): # noqa: E501
63
+ def __init__(self, action_type: 'V1ScheduleActionType' =None, cron_expression: 'str' =None, display_name: 'str' =None, parent_resource_id: 'str' =None, resource_id: 'str' =None, resource_type: 'V1ScheduleResourceType' =None, timezone: 'str' =None): # noqa: E501
62
64
  """ProjectIdSchedulesBody - a model defined in Swagger""" # noqa: E501
63
65
  self._action_type = None
64
66
  self._cron_expression = None
@@ -66,6 +68,7 @@ class ProjectIdSchedulesBody(object):
66
68
  self._parent_resource_id = None
67
69
  self._resource_id = None
68
70
  self._resource_type = None
71
+ self._timezone = None
69
72
  self.discriminator = None
70
73
  if action_type is not None:
71
74
  self.action_type = action_type
@@ -79,6 +82,8 @@ class ProjectIdSchedulesBody(object):
79
82
  self.resource_id = resource_id
80
83
  if resource_type is not None:
81
84
  self.resource_type = resource_type
85
+ if timezone is not None:
86
+ self.timezone = timezone
82
87
 
83
88
  @property
84
89
  def action_type(self) -> 'V1ScheduleActionType':
@@ -206,6 +211,27 @@ class ProjectIdSchedulesBody(object):
206
211
 
207
212
  self._resource_type = resource_type
208
213
 
214
+ @property
215
+ def timezone(self) -> 'str':
216
+ """Gets the timezone of this ProjectIdSchedulesBody. # noqa: E501
217
+
218
+
219
+ :return: The timezone of this ProjectIdSchedulesBody. # noqa: E501
220
+ :rtype: str
221
+ """
222
+ return self._timezone
223
+
224
+ @timezone.setter
225
+ def timezone(self, timezone: 'str'):
226
+ """Sets the timezone of this ProjectIdSchedulesBody.
227
+
228
+
229
+ :param timezone: The timezone of this ProjectIdSchedulesBody. # noqa: E501
230
+ :type: str
231
+ """
232
+
233
+ self._timezone = timezone
234
+
209
235
  def to_dict(self) -> dict:
210
236
  """Returns the model properties as a dict"""
211
237
  result = {}
@@ -51,6 +51,7 @@ class SchedulesIdBody(object):
51
51
  'resource_id': 'str',
52
52
  'resource_type': 'V1ScheduleResourceType',
53
53
  'state': 'str',
54
+ 'timezone': 'str',
54
55
  'total': 'int',
55
56
  'updated_at': 'datetime',
56
57
  'user_id': 'str'
@@ -67,12 +68,13 @@ class SchedulesIdBody(object):
67
68
  'resource_id': 'resourceId',
68
69
  'resource_type': 'resourceType',
69
70
  'state': 'state',
71
+ 'timezone': 'timezone',
70
72
  'total': 'total',
71
73
  'updated_at': 'updatedAt',
72
74
  'user_id': 'userId'
73
75
  }
74
76
 
75
- def __init__(self, action_type: 'V1ScheduleActionType' =None, created_at: 'datetime' =None, cron_expression: 'str' =None, display_name: 'str' =None, name: 'str' =None, next: 'datetime' =None, parent_resource_id: 'str' =None, resource_id: 'str' =None, resource_type: 'V1ScheduleResourceType' =None, state: 'str' =None, total: 'int' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
77
+ def __init__(self, action_type: 'V1ScheduleActionType' =None, created_at: 'datetime' =None, cron_expression: 'str' =None, display_name: 'str' =None, name: 'str' =None, next: 'datetime' =None, parent_resource_id: 'str' =None, resource_id: 'str' =None, resource_type: 'V1ScheduleResourceType' =None, state: 'str' =None, timezone: 'str' =None, total: 'int' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
76
78
  """SchedulesIdBody - a model defined in Swagger""" # noqa: E501
77
79
  self._action_type = None
78
80
  self._created_at = None
@@ -84,6 +86,7 @@ class SchedulesIdBody(object):
84
86
  self._resource_id = None
85
87
  self._resource_type = None
86
88
  self._state = None
89
+ self._timezone = None
87
90
  self._total = None
88
91
  self._updated_at = None
89
92
  self._user_id = None
@@ -108,6 +111,8 @@ class SchedulesIdBody(object):
108
111
  self.resource_type = resource_type
109
112
  if state is not None:
110
113
  self.state = state
114
+ if timezone is not None:
115
+ self.timezone = timezone
111
116
  if total is not None:
112
117
  self.total = total
113
118
  if updated_at is not None:
@@ -325,6 +330,27 @@ class SchedulesIdBody(object):
325
330
 
326
331
  self._state = state
327
332
 
333
+ @property
334
+ def timezone(self) -> 'str':
335
+ """Gets the timezone of this SchedulesIdBody. # noqa: E501
336
+
337
+
338
+ :return: The timezone of this SchedulesIdBody. # noqa: E501
339
+ :rtype: str
340
+ """
341
+ return self._timezone
342
+
343
+ @timezone.setter
344
+ def timezone(self, timezone: 'str'):
345
+ """Sets the timezone of this SchedulesIdBody.
346
+
347
+
348
+ :param timezone: The timezone of this SchedulesIdBody. # noqa: E501
349
+ :type: str
350
+ """
351
+
352
+ self._timezone = timezone
353
+
328
354
  @property
329
355
  def total(self) -> 'int':
330
356
  """Gets the total of this SchedulesIdBody. # 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 UserIdUpgradetriggerBody(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
+ 'feature_key': 'str',
45
+ 'metadata': 'str',
46
+ 'org_id': 'str'
47
+ }
48
+
49
+ attribute_map = {
50
+ 'feature_key': 'featureKey',
51
+ 'metadata': 'metadata',
52
+ 'org_id': 'orgId'
53
+ }
54
+
55
+ def __init__(self, feature_key: 'str' =None, metadata: 'str' =None, org_id: 'str' =None): # noqa: E501
56
+ """UserIdUpgradetriggerBody - a model defined in Swagger""" # noqa: E501
57
+ self._feature_key = None
58
+ self._metadata = None
59
+ self._org_id = None
60
+ self.discriminator = None
61
+ if feature_key is not None:
62
+ self.feature_key = feature_key
63
+ if metadata is not None:
64
+ self.metadata = metadata
65
+ if org_id is not None:
66
+ self.org_id = org_id
67
+
68
+ @property
69
+ def feature_key(self) -> 'str':
70
+ """Gets the feature_key of this UserIdUpgradetriggerBody. # noqa: E501
71
+
72
+
73
+ :return: The feature_key of this UserIdUpgradetriggerBody. # noqa: E501
74
+ :rtype: str
75
+ """
76
+ return self._feature_key
77
+
78
+ @feature_key.setter
79
+ def feature_key(self, feature_key: 'str'):
80
+ """Sets the feature_key of this UserIdUpgradetriggerBody.
81
+
82
+
83
+ :param feature_key: The feature_key of this UserIdUpgradetriggerBody. # noqa: E501
84
+ :type: str
85
+ """
86
+
87
+ self._feature_key = feature_key
88
+
89
+ @property
90
+ def metadata(self) -> 'str':
91
+ """Gets the metadata of this UserIdUpgradetriggerBody. # noqa: E501
92
+
93
+
94
+ :return: The metadata of this UserIdUpgradetriggerBody. # noqa: E501
95
+ :rtype: str
96
+ """
97
+ return self._metadata
98
+
99
+ @metadata.setter
100
+ def metadata(self, metadata: 'str'):
101
+ """Sets the metadata of this UserIdUpgradetriggerBody.
102
+
103
+
104
+ :param metadata: The metadata of this UserIdUpgradetriggerBody. # noqa: E501
105
+ :type: str
106
+ """
107
+
108
+ self._metadata = metadata
109
+
110
+ @property
111
+ def org_id(self) -> 'str':
112
+ """Gets the org_id of this UserIdUpgradetriggerBody. # noqa: E501
113
+
114
+
115
+ :return: The org_id of this UserIdUpgradetriggerBody. # noqa: E501
116
+ :rtype: str
117
+ """
118
+ return self._org_id
119
+
120
+ @org_id.setter
121
+ def org_id(self, org_id: 'str'):
122
+ """Sets the org_id of this UserIdUpgradetriggerBody.
123
+
124
+
125
+ :param org_id: The org_id of this UserIdUpgradetriggerBody. # noqa: E501
126
+ :type: str
127
+ """
128
+
129
+ self._org_id = org_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(UserIdUpgradetriggerBody, 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: 'UserIdUpgradetriggerBody') -> bool:
167
+ """Returns true if both objects are equal"""
168
+ if not isinstance(other, UserIdUpgradetriggerBody):
169
+ return False
170
+
171
+ return self.__dict__ == other.__dict__
172
+
173
+ def __ne__(self, other: 'UserIdUpgradetriggerBody') -> bool:
174
+ """Returns true if both objects are not equal"""
175
+ return not self == other
@@ -45,6 +45,8 @@ class V1BlogPost(object):
45
45
  'author_id': 'str',
46
46
  'category': 'str',
47
47
  'created_at': 'datetime',
48
+ 'customer_logo_url': 'str',
49
+ 'customer_name': 'str',
48
50
  'description': 'str',
49
51
  'id': 'str',
50
52
  'image_url': 'str',
@@ -59,6 +61,8 @@ class V1BlogPost(object):
59
61
  'author_id': 'authorId',
60
62
  'category': 'category',
61
63
  'created_at': 'createdAt',
64
+ 'customer_logo_url': 'customerLogoUrl',
65
+ 'customer_name': 'customerName',
62
66
  'description': 'description',
63
67
  'id': 'id',
64
68
  'image_url': 'imageUrl',
@@ -68,12 +72,14 @@ class V1BlogPost(object):
68
72
  'updated_at': 'updatedAt'
69
73
  }
70
74
 
71
- def __init__(self, author: 'V1Author' =None, author_id: 'str' =None, category: 'str' =None, created_at: 'datetime' =None, description: 'str' =None, id: 'str' =None, image_url: 'str' =None, lit_page: 'V1LitPage' =None, lit_page_id: 'str' =None, title: 'str' =None, updated_at: 'datetime' =None): # noqa: E501
75
+ def __init__(self, author: 'V1Author' =None, author_id: 'str' =None, category: 'str' =None, created_at: 'datetime' =None, customer_logo_url: 'str' =None, customer_name: 'str' =None, description: 'str' =None, id: 'str' =None, image_url: 'str' =None, lit_page: 'V1LitPage' =None, lit_page_id: 'str' =None, title: 'str' =None, updated_at: 'datetime' =None): # noqa: E501
72
76
  """V1BlogPost - a model defined in Swagger""" # noqa: E501
73
77
  self._author = None
74
78
  self._author_id = None
75
79
  self._category = None
76
80
  self._created_at = None
81
+ self._customer_logo_url = None
82
+ self._customer_name = None
77
83
  self._description = None
78
84
  self._id = None
79
85
  self._image_url = None
@@ -90,6 +96,10 @@ class V1BlogPost(object):
90
96
  self.category = category
91
97
  if created_at is not None:
92
98
  self.created_at = created_at
99
+ if customer_logo_url is not None:
100
+ self.customer_logo_url = customer_logo_url
101
+ if customer_name is not None:
102
+ self.customer_name = customer_name
93
103
  if description is not None:
94
104
  self.description = description
95
105
  if id is not None:
@@ -189,6 +199,48 @@ class V1BlogPost(object):
189
199
 
190
200
  self._created_at = created_at
191
201
 
202
+ @property
203
+ def customer_logo_url(self) -> 'str':
204
+ """Gets the customer_logo_url of this V1BlogPost. # noqa: E501
205
+
206
+
207
+ :return: The customer_logo_url of this V1BlogPost. # noqa: E501
208
+ :rtype: str
209
+ """
210
+ return self._customer_logo_url
211
+
212
+ @customer_logo_url.setter
213
+ def customer_logo_url(self, customer_logo_url: 'str'):
214
+ """Sets the customer_logo_url of this V1BlogPost.
215
+
216
+
217
+ :param customer_logo_url: The customer_logo_url of this V1BlogPost. # noqa: E501
218
+ :type: str
219
+ """
220
+
221
+ self._customer_logo_url = customer_logo_url
222
+
223
+ @property
224
+ def customer_name(self) -> 'str':
225
+ """Gets the customer_name of this V1BlogPost. # noqa: E501
226
+
227
+
228
+ :return: The customer_name of this V1BlogPost. # noqa: E501
229
+ :rtype: str
230
+ """
231
+ return self._customer_name
232
+
233
+ @customer_name.setter
234
+ def customer_name(self, customer_name: 'str'):
235
+ """Sets the customer_name of this V1BlogPost.
236
+
237
+
238
+ :param customer_name: The customer_name of this V1BlogPost. # noqa: E501
239
+ :type: str
240
+ """
241
+
242
+ self._customer_name = customer_name
243
+
192
244
  @property
193
245
  def description(self) -> 'str':
194
246
  """Gets the description of this V1BlogPost. # noqa: E501
@@ -44,6 +44,7 @@ class V1Conversation(object):
44
44
  'assistant_id': 'str',
45
45
  'created_at': 'datetime',
46
46
  'id': 'str',
47
+ 'like': 'V1LikeStatus',
47
48
  'messages': 'list[V1Message]',
48
49
  'name': 'str',
49
50
  'project_id': 'str',
@@ -56,6 +57,7 @@ class V1Conversation(object):
56
57
  'assistant_id': 'assistantId',
57
58
  'created_at': 'createdAt',
58
59
  'id': 'id',
60
+ 'like': 'like',
59
61
  'messages': 'messages',
60
62
  'name': 'name',
61
63
  'project_id': 'projectId',
@@ -64,11 +66,12 @@ class V1Conversation(object):
64
66
  'user_id': 'userId'
65
67
  }
66
68
 
67
- def __init__(self, assistant_id: 'str' =None, created_at: 'datetime' =None, id: 'str' =None, messages: 'list[V1Message]' =None, name: 'str' =None, project_id: 'str' =None, title: 'str' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
69
+ def __init__(self, assistant_id: 'str' =None, created_at: 'datetime' =None, id: 'str' =None, like: 'V1LikeStatus' =None, messages: 'list[V1Message]' =None, name: 'str' =None, project_id: 'str' =None, title: 'str' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
68
70
  """V1Conversation - a model defined in Swagger""" # noqa: E501
69
71
  self._assistant_id = None
70
72
  self._created_at = None
71
73
  self._id = None
74
+ self._like = None
72
75
  self._messages = None
73
76
  self._name = None
74
77
  self._project_id = None
@@ -82,6 +85,8 @@ class V1Conversation(object):
82
85
  self.created_at = created_at
83
86
  if id is not None:
84
87
  self.id = id
88
+ if like is not None:
89
+ self.like = like
85
90
  if messages is not None:
86
91
  self.messages = messages
87
92
  if name is not None:
@@ -158,6 +163,27 @@ class V1Conversation(object):
158
163
 
159
164
  self._id = id
160
165
 
166
+ @property
167
+ def like(self) -> 'V1LikeStatus':
168
+ """Gets the like of this V1Conversation. # noqa: E501
169
+
170
+
171
+ :return: The like of this V1Conversation. # noqa: E501
172
+ :rtype: V1LikeStatus
173
+ """
174
+ return self._like
175
+
176
+ @like.setter
177
+ def like(self, like: 'V1LikeStatus'):
178
+ """Sets the like of this V1Conversation.
179
+
180
+
181
+ :param like: The like of this V1Conversation. # noqa: E501
182
+ :type: V1LikeStatus
183
+ """
184
+
185
+ self._like = like
186
+
161
187
  @property
162
188
  def messages(self) -> 'list[V1Message]':
163
189
  """Gets the messages of this V1Conversation. # noqa: E501
@@ -0,0 +1,97 @@
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 V1CreateBillingUpgradeTriggerRecordResponse(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
+ }
45
+
46
+ attribute_map = {
47
+ }
48
+
49
+ def __init__(self): # noqa: E501
50
+ """V1CreateBillingUpgradeTriggerRecordResponse - a model defined in Swagger""" # noqa: E501
51
+ self.discriminator = None
52
+
53
+ def to_dict(self) -> dict:
54
+ """Returns the model properties as a dict"""
55
+ result = {}
56
+
57
+ for attr, _ in six.iteritems(self.swagger_types):
58
+ value = getattr(self, attr)
59
+ if isinstance(value, list):
60
+ result[attr] = list(map(
61
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
62
+ value
63
+ ))
64
+ elif hasattr(value, "to_dict"):
65
+ result[attr] = value.to_dict()
66
+ elif isinstance(value, dict):
67
+ result[attr] = dict(map(
68
+ lambda item: (item[0], item[1].to_dict())
69
+ if hasattr(item[1], "to_dict") else item,
70
+ value.items()
71
+ ))
72
+ else:
73
+ result[attr] = value
74
+ if issubclass(V1CreateBillingUpgradeTriggerRecordResponse, dict):
75
+ for key, value in self.items():
76
+ result[key] = value
77
+
78
+ return result
79
+
80
+ def to_str(self) -> str:
81
+ """Returns the string representation of the model"""
82
+ return pprint.pformat(self.to_dict())
83
+
84
+ def __repr__(self) -> str:
85
+ """For `print` and `pprint`"""
86
+ return self.to_str()
87
+
88
+ def __eq__(self, other: 'V1CreateBillingUpgradeTriggerRecordResponse') -> bool:
89
+ """Returns true if both objects are equal"""
90
+ if not isinstance(other, V1CreateBillingUpgradeTriggerRecordResponse):
91
+ return False
92
+
93
+ return self.__dict__ == other.__dict__
94
+
95
+ def __ne__(self, other: 'V1CreateBillingUpgradeTriggerRecordResponse') -> bool:
96
+ """Returns true if both objects are not equal"""
97
+ return not self == other