lightning-sdk 2025.7.10__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 (93) 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/llm_api.py +11 -6
  6. lightning_sdk/api/mmt_api.py +9 -0
  7. lightning_sdk/api/pipeline_api.py +4 -3
  8. lightning_sdk/api/studio_api.py +19 -5
  9. lightning_sdk/cli/clusters_menu.py +3 -3
  10. lightning_sdk/cli/create.py +22 -10
  11. lightning_sdk/cli/deploy/_auth.py +19 -3
  12. lightning_sdk/cli/deploy/serve.py +18 -4
  13. lightning_sdk/cli/entrypoint.py +1 -1
  14. lightning_sdk/cli/start.py +37 -7
  15. lightning_sdk/deployment/deployment.py +8 -0
  16. lightning_sdk/job/base.py +37 -5
  17. lightning_sdk/job/job.py +28 -4
  18. lightning_sdk/job/v1.py +10 -1
  19. lightning_sdk/job/v2.py +15 -1
  20. lightning_sdk/lightning_cloud/openapi/__init__.py +15 -1
  21. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +335 -0
  22. lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +214 -0
  23. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +5 -1
  24. lightning_sdk/lightning_cloud/openapi/api/user_service_api.py +11 -11
  25. lightning_sdk/lightning_cloud/openapi/models/__init__.py +15 -1
  26. lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +29 -3
  27. lightning_sdk/lightning_cloud/openapi/models/blogposts_id_body.py +53 -1
  28. lightning_sdk/lightning_cloud/openapi/models/{v1_list_new_features_for_user_response.py → conversations_id_body1.py} +23 -23
  29. lightning_sdk/lightning_cloud/openapi/models/messages_id_body.py +123 -0
  30. lightning_sdk/lightning_cloud/openapi/models/project_id_schedules_body.py +29 -3
  31. lightning_sdk/lightning_cloud/openapi/models/project_id_storage_body.py +1 -27
  32. lightning_sdk/lightning_cloud/openapi/models/protobuf_null_value.py +102 -0
  33. lightning_sdk/lightning_cloud/openapi/models/schedules_id_body.py +27 -1
  34. lightning_sdk/lightning_cloud/openapi/models/storage_complete_body.py +1 -27
  35. lightning_sdk/lightning_cloud/openapi/models/uploads_upload_id_body1.py +3 -55
  36. lightning_sdk/lightning_cloud/openapi/models/user_id_upgradetrigger_body.py +175 -0
  37. lightning_sdk/lightning_cloud/openapi/models/v1_ai_pod_v1.py +123 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_artifact.py +27 -1
  39. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_session_daily_aggregated.py +357 -0
  40. lightning_sdk/lightning_cloud/openapi/models/v1_blog_post.py +53 -1
  41. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -0
  42. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
  43. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +1 -0
  44. lightning_sdk/lightning_cloud/openapi/models/v1_complete_upload.py +3 -55
  45. lightning_sdk/lightning_cloud/openapi/models/v1_conversation.py +27 -1
  46. lightning_sdk/lightning_cloud/openapi/models/v1_create_billing_upgrade_trigger_record_response.py +97 -0
  47. lightning_sdk/lightning_cloud/openapi/models/v1_create_blog_post_request.py +53 -1
  48. lightning_sdk/lightning_cloud/openapi/models/v1_create_checkout_session_request.py +27 -1
  49. lightning_sdk/lightning_cloud/openapi/models/v1_create_subscription_checkout_session_request.py +29 -3
  50. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -1
  51. lightning_sdk/lightning_cloud/openapi/models/v1_function_tool.py +175 -0
  52. lightning_sdk/lightning_cloud/openapi/models/v1_get_artifacts_page_response.py +29 -3
  53. lightning_sdk/lightning_cloud/openapi/models/v1_get_assistant_session_daily_aggregated_response.py +201 -0
  54. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +79 -1
  55. lightning_sdk/lightning_cloud/openapi/models/v1_lightningapp_instance_artifact.py +27 -1
  56. lightning_sdk/lightning_cloud/openapi/models/v1_like_status.py +104 -0
  57. lightning_sdk/lightning_cloud/openapi/models/v1_list_notification_dialogs_response.py +149 -0
  58. lightning_sdk/lightning_cloud/openapi/models/v1_list_published_managed_endpoint_models_response.py +123 -0
  59. lightning_sdk/lightning_cloud/openapi/models/v1_message.py +53 -1
  60. lightning_sdk/lightning_cloud/openapi/models/v1_presigned_url.py +1 -53
  61. lightning_sdk/lightning_cloud/openapi/models/v1_project.py +27 -1
  62. lightning_sdk/lightning_cloud/openapi/models/v1_quote_subscription_response.py +27 -1
  63. lightning_sdk/lightning_cloud/openapi/models/v1_schedule.py +27 -1
  64. lightning_sdk/lightning_cloud/openapi/models/v1_tool.py +149 -0
  65. lightning_sdk/lightning_cloud/openapi/models/v1_update_conversation_like_response.py +149 -0
  66. lightning_sdk/lightning_cloud/openapi/models/v1_update_conversation_message_like_response.py +149 -0
  67. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +105 -261
  68. lightning_sdk/lightning_cloud/openapi/models/v1_volume.py +27 -1
  69. lightning_sdk/llm/llm.py +32 -5
  70. lightning_sdk/llm/public_assistants.json +3 -1
  71. lightning_sdk/machine.py +24 -1
  72. lightning_sdk/mmt/base.py +20 -2
  73. lightning_sdk/mmt/mmt.py +25 -3
  74. lightning_sdk/mmt/v1.py +7 -1
  75. lightning_sdk/mmt/v2.py +21 -2
  76. lightning_sdk/organization.py +4 -0
  77. lightning_sdk/pipeline/pipeline.py +16 -5
  78. lightning_sdk/pipeline/printer.py +5 -3
  79. lightning_sdk/pipeline/schedule.py +844 -1
  80. lightning_sdk/pipeline/steps.py +19 -4
  81. lightning_sdk/sandbox.py +4 -1
  82. lightning_sdk/serve.py +2 -0
  83. lightning_sdk/studio.py +79 -39
  84. lightning_sdk/teamspace.py +14 -8
  85. lightning_sdk/utils/resolve.py +29 -2
  86. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.22.dist-info}/METADATA +1 -1
  87. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.22.dist-info}/RECORD +92 -78
  88. lightning_sdk/api/cluster_api.py +0 -119
  89. /lightning_sdk/cli/{inspect.py → inspection.py} +0 -0
  90. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.22.dist-info}/LICENSE +0 -0
  91. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.22.dist-info}/WHEEL +0 -0
  92. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.22.dist-info}/entry_points.txt +0 -0
  93. {lightning_sdk-2025.7.10.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 V1ListPublishedManagedEndpointModelsResponse(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
+ 'models': 'list[V1ManagedModel]'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'models': 'models'
49
+ }
50
+
51
+ def __init__(self, models: 'list[V1ManagedModel]' =None): # noqa: E501
52
+ """V1ListPublishedManagedEndpointModelsResponse - a model defined in Swagger""" # noqa: E501
53
+ self._models = None
54
+ self.discriminator = None
55
+ if models is not None:
56
+ self.models = models
57
+
58
+ @property
59
+ def models(self) -> 'list[V1ManagedModel]':
60
+ """Gets the models of this V1ListPublishedManagedEndpointModelsResponse. # noqa: E501
61
+
62
+
63
+ :return: The models of this V1ListPublishedManagedEndpointModelsResponse. # noqa: E501
64
+ :rtype: list[V1ManagedModel]
65
+ """
66
+ return self._models
67
+
68
+ @models.setter
69
+ def models(self, models: 'list[V1ManagedModel]'):
70
+ """Sets the models of this V1ListPublishedManagedEndpointModelsResponse.
71
+
72
+
73
+ :param models: The models of this V1ListPublishedManagedEndpointModelsResponse. # noqa: E501
74
+ :type: list[V1ManagedModel]
75
+ """
76
+
77
+ self._models = models
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(V1ListPublishedManagedEndpointModelsResponse, 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: 'V1ListPublishedManagedEndpointModelsResponse') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, V1ListPublishedManagedEndpointModelsResponse):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'V1ListPublishedManagedEndpointModelsResponse') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -41,6 +41,7 @@ class V1Message(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
+ 'account_id': 'str',
44
45
  'assistant_id': 'str',
45
46
  'author': 'V1MessageAuthor',
46
47
  'completion_tokens': 'str',
@@ -50,6 +51,7 @@ class V1Message(object):
50
51
  'executable': 'bool',
51
52
  'id': 'str',
52
53
  'internal_message': 'bool',
54
+ 'like': 'V1LikeStatus',
53
55
  'metadata': 'dict(str, str)',
54
56
  'model': 'str',
55
57
  'parent_message_id': 'str',
@@ -58,6 +60,7 @@ class V1Message(object):
58
60
  }
59
61
 
60
62
  attribute_map = {
63
+ 'account_id': 'accountId',
61
64
  'assistant_id': 'assistantId',
62
65
  'author': 'author',
63
66
  'completion_tokens': 'completionTokens',
@@ -67,6 +70,7 @@ class V1Message(object):
67
70
  'executable': 'executable',
68
71
  'id': 'id',
69
72
  'internal_message': 'internalMessage',
73
+ 'like': 'like',
70
74
  'metadata': 'metadata',
71
75
  'model': 'model',
72
76
  'parent_message_id': 'parentMessageId',
@@ -74,8 +78,9 @@ class V1Message(object):
74
78
  'throughput': 'throughput'
75
79
  }
76
80
 
77
- def __init__(self, assistant_id: 'str' =None, author: 'V1MessageAuthor' =None, completion_tokens: 'str' =None, content: 'list[V1MessageContent]' =None, conversation_id: 'str' =None, created_at: 'datetime' =None, executable: 'bool' =None, id: 'str' =None, internal_message: 'bool' =None, metadata: 'dict(str, str)' =None, model: 'str' =None, parent_message_id: 'str' =None, prompt_tokens: 'str' =None, throughput: 'float' =None): # noqa: E501
81
+ def __init__(self, account_id: 'str' =None, assistant_id: 'str' =None, author: 'V1MessageAuthor' =None, completion_tokens: 'str' =None, content: 'list[V1MessageContent]' =None, conversation_id: 'str' =None, created_at: 'datetime' =None, executable: 'bool' =None, id: 'str' =None, internal_message: 'bool' =None, like: 'V1LikeStatus' =None, metadata: 'dict(str, str)' =None, model: 'str' =None, parent_message_id: 'str' =None, prompt_tokens: 'str' =None, throughput: 'float' =None): # noqa: E501
78
82
  """V1Message - a model defined in Swagger""" # noqa: E501
83
+ self._account_id = None
79
84
  self._assistant_id = None
80
85
  self._author = None
81
86
  self._completion_tokens = None
@@ -85,12 +90,15 @@ class V1Message(object):
85
90
  self._executable = None
86
91
  self._id = None
87
92
  self._internal_message = None
93
+ self._like = None
88
94
  self._metadata = None
89
95
  self._model = None
90
96
  self._parent_message_id = None
91
97
  self._prompt_tokens = None
92
98
  self._throughput = None
93
99
  self.discriminator = None
100
+ if account_id is not None:
101
+ self.account_id = account_id
94
102
  if assistant_id is not None:
95
103
  self.assistant_id = assistant_id
96
104
  if author is not None:
@@ -109,6 +117,8 @@ class V1Message(object):
109
117
  self.id = id
110
118
  if internal_message is not None:
111
119
  self.internal_message = internal_message
120
+ if like is not None:
121
+ self.like = like
112
122
  if metadata is not None:
113
123
  self.metadata = metadata
114
124
  if model is not None:
@@ -120,6 +130,27 @@ class V1Message(object):
120
130
  if throughput is not None:
121
131
  self.throughput = throughput
122
132
 
133
+ @property
134
+ def account_id(self) -> 'str':
135
+ """Gets the account_id of this V1Message. # noqa: E501
136
+
137
+
138
+ :return: The account_id of this V1Message. # noqa: E501
139
+ :rtype: str
140
+ """
141
+ return self._account_id
142
+
143
+ @account_id.setter
144
+ def account_id(self, account_id: 'str'):
145
+ """Sets the account_id of this V1Message.
146
+
147
+
148
+ :param account_id: The account_id of this V1Message. # noqa: E501
149
+ :type: str
150
+ """
151
+
152
+ self._account_id = account_id
153
+
123
154
  @property
124
155
  def assistant_id(self) -> 'str':
125
156
  """Gets the assistant_id of this V1Message. # noqa: E501
@@ -309,6 +340,27 @@ class V1Message(object):
309
340
 
310
341
  self._internal_message = internal_message
311
342
 
343
+ @property
344
+ def like(self) -> 'V1LikeStatus':
345
+ """Gets the like of this V1Message. # noqa: E501
346
+
347
+
348
+ :return: The like of this V1Message. # noqa: E501
349
+ :rtype: V1LikeStatus
350
+ """
351
+ return self._like
352
+
353
+ @like.setter
354
+ def like(self, like: 'V1LikeStatus'):
355
+ """Sets the like of this V1Message.
356
+
357
+
358
+ :param like: The like of this V1Message. # noqa: E501
359
+ :type: V1LikeStatus
360
+ """
361
+
362
+ self._like = like
363
+
312
364
  @property
313
365
  def metadata(self) -> 'dict(str, str)':
314
366
  """Gets the metadata of this V1Message. # noqa: E501
@@ -41,56 +41,25 @@ class V1PresignedUrl(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'cluster_id': 'str',
45
44
  'part_number': 'str',
46
- 'upload_id': 'str',
47
45
  'url': 'str'
48
46
  }
49
47
 
50
48
  attribute_map = {
51
- 'cluster_id': 'clusterId',
52
49
  'part_number': 'partNumber',
53
- 'upload_id': 'uploadId',
54
50
  'url': 'url'
55
51
  }
56
52
 
57
- def __init__(self, cluster_id: 'str' =None, part_number: 'str' =None, upload_id: 'str' =None, url: 'str' =None): # noqa: E501
53
+ def __init__(self, part_number: 'str' =None, url: 'str' =None): # noqa: E501
58
54
  """V1PresignedUrl - a model defined in Swagger""" # noqa: E501
59
- self._cluster_id = None
60
55
  self._part_number = None
61
- self._upload_id = None
62
56
  self._url = None
63
57
  self.discriminator = None
64
- if cluster_id is not None:
65
- self.cluster_id = cluster_id
66
58
  if part_number is not None:
67
59
  self.part_number = part_number
68
- if upload_id is not None:
69
- self.upload_id = upload_id
70
60
  if url is not None:
71
61
  self.url = url
72
62
 
73
- @property
74
- def cluster_id(self) -> 'str':
75
- """Gets the cluster_id of this V1PresignedUrl. # noqa: E501
76
-
77
-
78
- :return: The cluster_id of this V1PresignedUrl. # noqa: E501
79
- :rtype: str
80
- """
81
- return self._cluster_id
82
-
83
- @cluster_id.setter
84
- def cluster_id(self, cluster_id: 'str'):
85
- """Sets the cluster_id of this V1PresignedUrl.
86
-
87
-
88
- :param cluster_id: The cluster_id of this V1PresignedUrl. # noqa: E501
89
- :type: str
90
- """
91
-
92
- self._cluster_id = cluster_id
93
-
94
63
  @property
95
64
  def part_number(self) -> 'str':
96
65
  """Gets the part_number of this V1PresignedUrl. # noqa: E501
@@ -112,27 +81,6 @@ class V1PresignedUrl(object):
112
81
 
113
82
  self._part_number = part_number
114
83
 
115
- @property
116
- def upload_id(self) -> 'str':
117
- """Gets the upload_id of this V1PresignedUrl. # noqa: E501
118
-
119
-
120
- :return: The upload_id of this V1PresignedUrl. # noqa: E501
121
- :rtype: str
122
- """
123
- return self._upload_id
124
-
125
- @upload_id.setter
126
- def upload_id(self, upload_id: 'str'):
127
- """Sets the upload_id of this V1PresignedUrl.
128
-
129
-
130
- :param upload_id: The upload_id of this V1PresignedUrl. # noqa: E501
131
- :type: str
132
- """
133
-
134
- self._upload_id = upload_id
135
-
136
84
  @property
137
85
  def url(self) -> 'str':
138
86
  """Gets the url of this V1PresignedUrl. # noqa: E501
@@ -58,6 +58,7 @@ class V1Project(object):
58
58
  'private': 'bool',
59
59
  'project_settings': 'V1ProjectSettings',
60
60
  'quotas': 'V1Quotas',
61
+ 'requires_uploads_sync': 'bool',
61
62
  'total_size_uploads_bytes': 'str',
62
63
  'updated_at': 'datetime'
63
64
  }
@@ -80,11 +81,12 @@ class V1Project(object):
80
81
  'private': 'private',
81
82
  'project_settings': 'projectSettings',
82
83
  'quotas': 'quotas',
84
+ 'requires_uploads_sync': 'requiresUploadsSync',
83
85
  'total_size_uploads_bytes': 'totalSizeUploadsBytes',
84
86
  'updated_at': 'updatedAt'
85
87
  }
86
88
 
87
- def __init__(self, abac_enabled: 'bool' =None, created_at: 'datetime' =None, creator_id: 'str' =None, current_storage_bytes: 'str' =None, description: 'str' =None, display_name: 'str' =None, free_storage_bytes: 'str' =None, id: 'str' =None, is_default: 'bool' =None, lock_out_uploads: 'bool' =None, name: 'str' =None, number_of_files_uploads: 'str' =None, owner_id: 'str' =None, owner_type: 'V1OwnerType' =None, private: 'bool' =None, project_settings: 'V1ProjectSettings' =None, quotas: 'V1Quotas' =None, total_size_uploads_bytes: 'str' =None, updated_at: 'datetime' =None): # noqa: E501
89
+ def __init__(self, abac_enabled: 'bool' =None, created_at: 'datetime' =None, creator_id: 'str' =None, current_storage_bytes: 'str' =None, description: 'str' =None, display_name: 'str' =None, free_storage_bytes: 'str' =None, id: 'str' =None, is_default: 'bool' =None, lock_out_uploads: 'bool' =None, name: 'str' =None, number_of_files_uploads: 'str' =None, owner_id: 'str' =None, owner_type: 'V1OwnerType' =None, private: 'bool' =None, project_settings: 'V1ProjectSettings' =None, quotas: 'V1Quotas' =None, requires_uploads_sync: 'bool' =None, total_size_uploads_bytes: 'str' =None, updated_at: 'datetime' =None): # noqa: E501
88
90
  """V1Project - a model defined in Swagger""" # noqa: E501
89
91
  self._abac_enabled = None
90
92
  self._created_at = None
@@ -103,6 +105,7 @@ class V1Project(object):
103
105
  self._private = None
104
106
  self._project_settings = None
105
107
  self._quotas = None
108
+ self._requires_uploads_sync = None
106
109
  self._total_size_uploads_bytes = None
107
110
  self._updated_at = None
108
111
  self.discriminator = None
@@ -140,6 +143,8 @@ class V1Project(object):
140
143
  self.project_settings = project_settings
141
144
  if quotas is not None:
142
145
  self.quotas = quotas
146
+ if requires_uploads_sync is not None:
147
+ self.requires_uploads_sync = requires_uploads_sync
143
148
  if total_size_uploads_bytes is not None:
144
149
  self.total_size_uploads_bytes = total_size_uploads_bytes
145
150
  if updated_at is not None:
@@ -502,6 +507,27 @@ class V1Project(object):
502
507
 
503
508
  self._quotas = quotas
504
509
 
510
+ @property
511
+ def requires_uploads_sync(self) -> 'bool':
512
+ """Gets the requires_uploads_sync of this V1Project. # noqa: E501
513
+
514
+
515
+ :return: The requires_uploads_sync of this V1Project. # noqa: E501
516
+ :rtype: bool
517
+ """
518
+ return self._requires_uploads_sync
519
+
520
+ @requires_uploads_sync.setter
521
+ def requires_uploads_sync(self, requires_uploads_sync: 'bool'):
522
+ """Sets the requires_uploads_sync of this V1Project.
523
+
524
+
525
+ :param requires_uploads_sync: The requires_uploads_sync of this V1Project. # noqa: E501
526
+ :type: bool
527
+ """
528
+
529
+ self._requires_uploads_sync = requires_uploads_sync
530
+
505
531
  @property
506
532
  def total_size_uploads_bytes(self) -> 'str':
507
533
  """Gets the total_size_uploads_bytes of this V1Project. # noqa: E501
@@ -43,6 +43,7 @@ class V1QuoteSubscriptionResponse(object):
43
43
  swagger_types = {
44
44
  'annual_amount': 'int',
45
45
  'annual_tax': 'int',
46
+ 'eligible': 'bool',
46
47
  'features': 'list[V1BillingFeature]',
47
48
  'monthly_amount': 'int',
48
49
  'monthly_tax': 'int',
@@ -54,6 +55,7 @@ class V1QuoteSubscriptionResponse(object):
54
55
  attribute_map = {
55
56
  'annual_amount': 'annualAmount',
56
57
  'annual_tax': 'annualTax',
58
+ 'eligible': 'eligible',
57
59
  'features': 'features',
58
60
  'monthly_amount': 'monthlyAmount',
59
61
  'monthly_tax': 'monthlyTax',
@@ -62,10 +64,11 @@ class V1QuoteSubscriptionResponse(object):
62
64
  'trial_days': 'trialDays'
63
65
  }
64
66
 
65
- def __init__(self, annual_amount: 'int' =None, annual_tax: 'int' =None, features: 'list[V1BillingFeature]' =None, monthly_amount: 'int' =None, monthly_tax: 'int' =None, prorated_amount: 'int' =None, prorated_tax: 'int' =None, trial_days: 'int' =None): # noqa: E501
67
+ def __init__(self, annual_amount: 'int' =None, annual_tax: 'int' =None, eligible: 'bool' =None, features: 'list[V1BillingFeature]' =None, monthly_amount: 'int' =None, monthly_tax: 'int' =None, prorated_amount: 'int' =None, prorated_tax: 'int' =None, trial_days: 'int' =None): # noqa: E501
66
68
  """V1QuoteSubscriptionResponse - a model defined in Swagger""" # noqa: E501
67
69
  self._annual_amount = None
68
70
  self._annual_tax = None
71
+ self._eligible = None
69
72
  self._features = None
70
73
  self._monthly_amount = None
71
74
  self._monthly_tax = None
@@ -77,6 +80,8 @@ class V1QuoteSubscriptionResponse(object):
77
80
  self.annual_amount = annual_amount
78
81
  if annual_tax is not None:
79
82
  self.annual_tax = annual_tax
83
+ if eligible is not None:
84
+ self.eligible = eligible
80
85
  if features is not None:
81
86
  self.features = features
82
87
  if monthly_amount is not None:
@@ -132,6 +137,27 @@ class V1QuoteSubscriptionResponse(object):
132
137
 
133
138
  self._annual_tax = annual_tax
134
139
 
140
+ @property
141
+ def eligible(self) -> 'bool':
142
+ """Gets the eligible of this V1QuoteSubscriptionResponse. # noqa: E501
143
+
144
+
145
+ :return: The eligible of this V1QuoteSubscriptionResponse. # noqa: E501
146
+ :rtype: bool
147
+ """
148
+ return self._eligible
149
+
150
+ @eligible.setter
151
+ def eligible(self, eligible: 'bool'):
152
+ """Sets the eligible of this V1QuoteSubscriptionResponse.
153
+
154
+
155
+ :param eligible: The eligible of this V1QuoteSubscriptionResponse. # noqa: E501
156
+ :type: bool
157
+ """
158
+
159
+ self._eligible = eligible
160
+
135
161
  @property
136
162
  def features(self) -> 'list[V1BillingFeature]':
137
163
  """Gets the features of this V1QuoteSubscriptionResponse. # noqa: E501
@@ -53,6 +53,7 @@ class V1Schedule(object):
53
53
  'resource_id': 'str',
54
54
  'resource_type': 'V1ScheduleResourceType',
55
55
  'state': 'str',
56
+ 'timezone': 'str',
56
57
  'total': 'int',
57
58
  'updated_at': 'datetime',
58
59
  'user_id': 'str'
@@ -71,12 +72,13 @@ class V1Schedule(object):
71
72
  'resource_id': 'resourceId',
72
73
  'resource_type': 'resourceType',
73
74
  'state': 'state',
75
+ 'timezone': 'timezone',
74
76
  'total': 'total',
75
77
  'updated_at': 'updatedAt',
76
78
  'user_id': 'userId'
77
79
  }
78
80
 
79
- def __init__(self, action_type: 'V1ScheduleActionType' =None, created_at: 'datetime' =None, cron_expression: 'str' =None, display_name: 'str' =None, id: 'str' =None, name: 'str' =None, next: 'datetime' =None, parent_resource_id: 'str' =None, project_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
81
+ def __init__(self, action_type: 'V1ScheduleActionType' =None, created_at: 'datetime' =None, cron_expression: 'str' =None, display_name: 'str' =None, id: 'str' =None, name: 'str' =None, next: 'datetime' =None, parent_resource_id: 'str' =None, project_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
80
82
  """V1Schedule - a model defined in Swagger""" # noqa: E501
81
83
  self._action_type = None
82
84
  self._created_at = None
@@ -90,6 +92,7 @@ class V1Schedule(object):
90
92
  self._resource_id = None
91
93
  self._resource_type = None
92
94
  self._state = None
95
+ self._timezone = None
93
96
  self._total = None
94
97
  self._updated_at = None
95
98
  self._user_id = None
@@ -118,6 +121,8 @@ class V1Schedule(object):
118
121
  self.resource_type = resource_type
119
122
  if state is not None:
120
123
  self.state = state
124
+ if timezone is not None:
125
+ self.timezone = timezone
121
126
  if total is not None:
122
127
  self.total = total
123
128
  if updated_at is not None:
@@ -377,6 +382,27 @@ class V1Schedule(object):
377
382
 
378
383
  self._state = state
379
384
 
385
+ @property
386
+ def timezone(self) -> 'str':
387
+ """Gets the timezone of this V1Schedule. # noqa: E501
388
+
389
+
390
+ :return: The timezone of this V1Schedule. # noqa: E501
391
+ :rtype: str
392
+ """
393
+ return self._timezone
394
+
395
+ @timezone.setter
396
+ def timezone(self, timezone: 'str'):
397
+ """Sets the timezone of this V1Schedule.
398
+
399
+
400
+ :param timezone: The timezone of this V1Schedule. # noqa: E501
401
+ :type: str
402
+ """
403
+
404
+ self._timezone = timezone
405
+
380
406
  @property
381
407
  def total(self) -> 'int':
382
408
  """Gets the total of this V1Schedule. # 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 V1Tool(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
+ 'function': 'V1FunctionTool',
45
+ 'type': 'str'
46
+ }
47
+
48
+ attribute_map = {
49
+ 'function': 'function',
50
+ 'type': 'type'
51
+ }
52
+
53
+ def __init__(self, function: 'V1FunctionTool' =None, type: 'str' =None): # noqa: E501
54
+ """V1Tool - a model defined in Swagger""" # noqa: E501
55
+ self._function = None
56
+ self._type = None
57
+ self.discriminator = None
58
+ if function is not None:
59
+ self.function = function
60
+ if type is not None:
61
+ self.type = type
62
+
63
+ @property
64
+ def function(self) -> 'V1FunctionTool':
65
+ """Gets the function of this V1Tool. # noqa: E501
66
+
67
+
68
+ :return: The function of this V1Tool. # noqa: E501
69
+ :rtype: V1FunctionTool
70
+ """
71
+ return self._function
72
+
73
+ @function.setter
74
+ def function(self, function: 'V1FunctionTool'):
75
+ """Sets the function of this V1Tool.
76
+
77
+
78
+ :param function: The function of this V1Tool. # noqa: E501
79
+ :type: V1FunctionTool
80
+ """
81
+
82
+ self._function = function
83
+
84
+ @property
85
+ def type(self) -> 'str':
86
+ """Gets the type of this V1Tool. # noqa: E501
87
+
88
+
89
+ :return: The type of this V1Tool. # noqa: E501
90
+ :rtype: str
91
+ """
92
+ return self._type
93
+
94
+ @type.setter
95
+ def type(self, type: 'str'):
96
+ """Sets the type of this V1Tool.
97
+
98
+
99
+ :param type: The type of this V1Tool. # noqa: E501
100
+ :type: str
101
+ """
102
+
103
+ self._type = type
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(V1Tool, 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: 'V1Tool') -> bool:
141
+ """Returns true if both objects are equal"""
142
+ if not isinstance(other, V1Tool):
143
+ return False
144
+
145
+ return self.__dict__ == other.__dict__
146
+
147
+ def __ne__(self, other: 'V1Tool') -> bool:
148
+ """Returns true if both objects are not equal"""
149
+ return not self == other