lightning-sdk 0.2.11__py3-none-any.whl → 0.2.13__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.
- lightning_sdk/__init__.py +1 -1
- lightning_sdk/api/deployment_api.py +35 -3
- lightning_sdk/api/lit_container_api.py +13 -7
- lightning_sdk/api/llm_api.py +46 -0
- lightning_sdk/api/studio_api.py +17 -0
- lightning_sdk/cli/entrypoint.py +1 -1
- lightning_sdk/cli/serve.py +221 -62
- lightning_sdk/deployment/deployment.py +53 -7
- lightning_sdk/lightning_cloud/openapi/__init__.py +11 -1
- lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
- lightning_sdk/lightning_cloud/openapi/api/cloud_space_environment_template_service_api.py +4 -4
- lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +13 -1
- lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +4 -4
- lightning_sdk/lightning_cloud/openapi/api/git_credentials_service_api.py +497 -0
- lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +124 -0
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +10 -1
- lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/create_deployment_request_defines_a_spec_for_the_job_that_allows_for_autoscaling_jobs.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/deployments_id_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/projects_id_body.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/update.py +65 -195
- lightning_sdk/lightning_cloud/openapi/models/update1.py +357 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_create_deployment_request.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_create_git_credentials_request.py +175 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_delete_cloud_space_environment_template_response.py +1 -53
- lightning_sdk/lightning_cloud/openapi/models/v1_delete_git_credentials_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment_state.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +1 -27
- lightning_sdk/lightning_cloud/openapi/models/v1_git_credentials.py +227 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_job_resource.py +279 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_job_type.py +108 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_list_git_credentials_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_list_job_resources_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +55 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_project_settings.py +29 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_reservation_billing_session.py +279 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_resources.py +55 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +1 -27
- lightning_sdk/lightning_cloud/openapi/models/v1_usage.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +157 -1
- lightning_sdk/llm/__init__.py +3 -0
- lightning_sdk/llm/llm.py +118 -0
- lightning_sdk/plugin.py +19 -0
- lightning_sdk/serve.py +4 -6
- lightning_sdk/studio.py +33 -0
- {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/METADATA +1 -1
- {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/RECORD +60 -47
- lightning_sdk/lightning_cloud/openapi/models/environmenttemplates_id_body.py +0 -253
- /lightning_sdk/cli/{docker.py → docker_cli.py} +0 -0
- {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/LICENSE +0 -0
- {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/WHEEL +0 -0
- {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/top_level.txt +0 -0
|
@@ -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 V1NebiusDirectV1(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
|
+
'primary_region': 'str',
|
|
45
|
+
'regions': 'list[str]'
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
attribute_map = {
|
|
49
|
+
'primary_region': 'primaryRegion',
|
|
50
|
+
'regions': 'regions'
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
def __init__(self, primary_region: 'str' =None, regions: 'list[str]' =None): # noqa: E501
|
|
54
|
+
"""V1NebiusDirectV1 - a model defined in Swagger""" # noqa: E501
|
|
55
|
+
self._primary_region = None
|
|
56
|
+
self._regions = None
|
|
57
|
+
self.discriminator = None
|
|
58
|
+
if primary_region is not None:
|
|
59
|
+
self.primary_region = primary_region
|
|
60
|
+
if regions is not None:
|
|
61
|
+
self.regions = regions
|
|
62
|
+
|
|
63
|
+
@property
|
|
64
|
+
def primary_region(self) -> 'str':
|
|
65
|
+
"""Gets the primary_region of this V1NebiusDirectV1. # noqa: E501
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
:return: The primary_region of this V1NebiusDirectV1. # noqa: E501
|
|
69
|
+
:rtype: str
|
|
70
|
+
"""
|
|
71
|
+
return self._primary_region
|
|
72
|
+
|
|
73
|
+
@primary_region.setter
|
|
74
|
+
def primary_region(self, primary_region: 'str'):
|
|
75
|
+
"""Sets the primary_region of this V1NebiusDirectV1.
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
:param primary_region: The primary_region of this V1NebiusDirectV1. # noqa: E501
|
|
79
|
+
:type: str
|
|
80
|
+
"""
|
|
81
|
+
|
|
82
|
+
self._primary_region = primary_region
|
|
83
|
+
|
|
84
|
+
@property
|
|
85
|
+
def regions(self) -> 'list[str]':
|
|
86
|
+
"""Gets the regions of this V1NebiusDirectV1. # noqa: E501
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
:return: The regions of this V1NebiusDirectV1. # noqa: E501
|
|
90
|
+
:rtype: list[str]
|
|
91
|
+
"""
|
|
92
|
+
return self._regions
|
|
93
|
+
|
|
94
|
+
@regions.setter
|
|
95
|
+
def regions(self, regions: 'list[str]'):
|
|
96
|
+
"""Sets the regions of this V1NebiusDirectV1.
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
:param regions: The regions of this V1NebiusDirectV1. # noqa: E501
|
|
100
|
+
:type: list[str]
|
|
101
|
+
"""
|
|
102
|
+
|
|
103
|
+
self._regions = regions
|
|
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(V1NebiusDirectV1, 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: 'V1NebiusDirectV1') -> bool:
|
|
141
|
+
"""Returns true if both objects are equal"""
|
|
142
|
+
if not isinstance(other, V1NebiusDirectV1):
|
|
143
|
+
return False
|
|
144
|
+
|
|
145
|
+
return self.__dict__ == other.__dict__
|
|
146
|
+
|
|
147
|
+
def __ne__(self, other: 'V1NebiusDirectV1') -> bool:
|
|
148
|
+
"""Returns true if both objects are not equal"""
|
|
149
|
+
return not self == other
|
|
@@ -44,6 +44,7 @@ class V1Organization(object):
|
|
|
44
44
|
'alerts_config': 'V1AlertsConfig',
|
|
45
45
|
'allow_aws_saas': 'bool',
|
|
46
46
|
'allow_budgeting': 'bool',
|
|
47
|
+
'allow_external_project_duplication': 'bool',
|
|
47
48
|
'allow_gcp_saas': 'bool',
|
|
48
49
|
'allow_guest': 'bool',
|
|
49
50
|
'allow_lambda_saas': 'bool',
|
|
@@ -64,6 +65,7 @@ class V1Organization(object):
|
|
|
64
65
|
'featured_gallery': 'bool',
|
|
65
66
|
'full_story_end_date': 'datetime',
|
|
66
67
|
'full_story_start_date': 'datetime',
|
|
68
|
+
'general_teamspace': 'bool',
|
|
67
69
|
'id': 'str',
|
|
68
70
|
'location': 'str',
|
|
69
71
|
'name': 'str',
|
|
@@ -81,6 +83,7 @@ class V1Organization(object):
|
|
|
81
83
|
'alerts_config': 'alertsConfig',
|
|
82
84
|
'allow_aws_saas': 'allowAwsSaas',
|
|
83
85
|
'allow_budgeting': 'allowBudgeting',
|
|
86
|
+
'allow_external_project_duplication': 'allowExternalProjectDuplication',
|
|
84
87
|
'allow_gcp_saas': 'allowGcpSaas',
|
|
85
88
|
'allow_guest': 'allowGuest',
|
|
86
89
|
'allow_lambda_saas': 'allowLambdaSaas',
|
|
@@ -101,6 +104,7 @@ class V1Organization(object):
|
|
|
101
104
|
'featured_gallery': 'featuredGallery',
|
|
102
105
|
'full_story_end_date': 'fullStoryEndDate',
|
|
103
106
|
'full_story_start_date': 'fullStoryStartDate',
|
|
107
|
+
'general_teamspace': 'generalTeamspace',
|
|
104
108
|
'id': 'id',
|
|
105
109
|
'location': 'location',
|
|
106
110
|
'name': 'name',
|
|
@@ -114,11 +118,12 @@ class V1Organization(object):
|
|
|
114
118
|
'workload_max_run_duration': 'workloadMaxRunDuration'
|
|
115
119
|
}
|
|
116
120
|
|
|
117
|
-
def __init__(self, alerts_config: 'V1AlertsConfig' =None, allow_aws_saas: 'bool' =None, allow_budgeting: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_guest: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_marketplace: 'bool' =None, allow_member_invitations: 'bool' =None, allow_member_teamspace_creation: 'bool' =None, allow_vultr_saas: 'bool' =None, auto_invite_by_domain: 'bool' =None, auto_join_domain_validations: 'dict(str, V1AutoJoinDomainValidation)' =None, auto_join_domains: 'list[str]' =None, created_at: 'datetime' =None, default_machine_image_version: 'str' =None, default_machine_type: 'str' =None, description: 'str' =None, display_name: 'str' =None, domain: 'str' =None, email: 'str' =None, featured_gallery: 'bool' =None, full_story_end_date: 'datetime' =None, full_story_start_date: 'datetime' =None, id: 'str' =None, location: 'str' =None, name: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, start_studios_on_spot_instance: 'bool' =None, teamspace_default_credits: 'float' =None, twitter_username: 'str' =None, updated_at: 'datetime' =None, workload_max_run_duration: 'str' =None): # noqa: E501
|
|
121
|
+
def __init__(self, alerts_config: 'V1AlertsConfig' =None, allow_aws_saas: 'bool' =None, allow_budgeting: 'bool' =None, allow_external_project_duplication: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_guest: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_marketplace: 'bool' =None, allow_member_invitations: 'bool' =None, allow_member_teamspace_creation: 'bool' =None, allow_vultr_saas: 'bool' =None, auto_invite_by_domain: 'bool' =None, auto_join_domain_validations: 'dict(str, V1AutoJoinDomainValidation)' =None, auto_join_domains: 'list[str]' =None, created_at: 'datetime' =None, default_machine_image_version: 'str' =None, default_machine_type: 'str' =None, description: 'str' =None, display_name: 'str' =None, domain: 'str' =None, email: 'str' =None, featured_gallery: 'bool' =None, full_story_end_date: 'datetime' =None, full_story_start_date: 'datetime' =None, general_teamspace: 'bool' =None, id: 'str' =None, location: 'str' =None, name: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, start_studios_on_spot_instance: 'bool' =None, teamspace_default_credits: 'float' =None, twitter_username: 'str' =None, updated_at: 'datetime' =None, workload_max_run_duration: 'str' =None): # noqa: E501
|
|
118
122
|
"""V1Organization - a model defined in Swagger""" # noqa: E501
|
|
119
123
|
self._alerts_config = None
|
|
120
124
|
self._allow_aws_saas = None
|
|
121
125
|
self._allow_budgeting = None
|
|
126
|
+
self._allow_external_project_duplication = None
|
|
122
127
|
self._allow_gcp_saas = None
|
|
123
128
|
self._allow_guest = None
|
|
124
129
|
self._allow_lambda_saas = None
|
|
@@ -139,6 +144,7 @@ class V1Organization(object):
|
|
|
139
144
|
self._featured_gallery = None
|
|
140
145
|
self._full_story_end_date = None
|
|
141
146
|
self._full_story_start_date = None
|
|
147
|
+
self._general_teamspace = None
|
|
142
148
|
self._id = None
|
|
143
149
|
self._location = None
|
|
144
150
|
self._name = None
|
|
@@ -157,6 +163,8 @@ class V1Organization(object):
|
|
|
157
163
|
self.allow_aws_saas = allow_aws_saas
|
|
158
164
|
if allow_budgeting is not None:
|
|
159
165
|
self.allow_budgeting = allow_budgeting
|
|
166
|
+
if allow_external_project_duplication is not None:
|
|
167
|
+
self.allow_external_project_duplication = allow_external_project_duplication
|
|
160
168
|
if allow_gcp_saas is not None:
|
|
161
169
|
self.allow_gcp_saas = allow_gcp_saas
|
|
162
170
|
if allow_guest is not None:
|
|
@@ -197,6 +205,8 @@ class V1Organization(object):
|
|
|
197
205
|
self.full_story_end_date = full_story_end_date
|
|
198
206
|
if full_story_start_date is not None:
|
|
199
207
|
self.full_story_start_date = full_story_start_date
|
|
208
|
+
if general_teamspace is not None:
|
|
209
|
+
self.general_teamspace = general_teamspace
|
|
200
210
|
if id is not None:
|
|
201
211
|
self.id = id
|
|
202
212
|
if location is not None:
|
|
@@ -283,6 +293,29 @@ class V1Organization(object):
|
|
|
283
293
|
|
|
284
294
|
self._allow_budgeting = allow_budgeting
|
|
285
295
|
|
|
296
|
+
@property
|
|
297
|
+
def allow_external_project_duplication(self) -> 'bool':
|
|
298
|
+
"""Gets the allow_external_project_duplication of this V1Organization. # noqa: E501
|
|
299
|
+
|
|
300
|
+
This is an org level setting which will allow whether or not studios in a teamspace can be duplicated outside of teamspaces. Enabling this will allow teamspaces in an org to configure their own individual settings. # noqa: E501
|
|
301
|
+
|
|
302
|
+
:return: The allow_external_project_duplication of this V1Organization. # noqa: E501
|
|
303
|
+
:rtype: bool
|
|
304
|
+
"""
|
|
305
|
+
return self._allow_external_project_duplication
|
|
306
|
+
|
|
307
|
+
@allow_external_project_duplication.setter
|
|
308
|
+
def allow_external_project_duplication(self, allow_external_project_duplication: 'bool'):
|
|
309
|
+
"""Sets the allow_external_project_duplication of this V1Organization.
|
|
310
|
+
|
|
311
|
+
This is an org level setting which will allow whether or not studios in a teamspace can be duplicated outside of teamspaces. Enabling this will allow teamspaces in an org to configure their own individual settings. # noqa: E501
|
|
312
|
+
|
|
313
|
+
:param allow_external_project_duplication: The allow_external_project_duplication of this V1Organization. # noqa: E501
|
|
314
|
+
:type: bool
|
|
315
|
+
"""
|
|
316
|
+
|
|
317
|
+
self._allow_external_project_duplication = allow_external_project_duplication
|
|
318
|
+
|
|
286
319
|
@property
|
|
287
320
|
def allow_gcp_saas(self) -> 'bool':
|
|
288
321
|
"""Gets the allow_gcp_saas of this V1Organization. # noqa: E501
|
|
@@ -703,6 +736,27 @@ class V1Organization(object):
|
|
|
703
736
|
|
|
704
737
|
self._full_story_start_date = full_story_start_date
|
|
705
738
|
|
|
739
|
+
@property
|
|
740
|
+
def general_teamspace(self) -> 'bool':
|
|
741
|
+
"""Gets the general_teamspace of this V1Organization. # noqa: E501
|
|
742
|
+
|
|
743
|
+
|
|
744
|
+
:return: The general_teamspace of this V1Organization. # noqa: E501
|
|
745
|
+
:rtype: bool
|
|
746
|
+
"""
|
|
747
|
+
return self._general_teamspace
|
|
748
|
+
|
|
749
|
+
@general_teamspace.setter
|
|
750
|
+
def general_teamspace(self, general_teamspace: 'bool'):
|
|
751
|
+
"""Sets the general_teamspace of this V1Organization.
|
|
752
|
+
|
|
753
|
+
|
|
754
|
+
:param general_teamspace: The general_teamspace of this V1Organization. # noqa: E501
|
|
755
|
+
:type: bool
|
|
756
|
+
"""
|
|
757
|
+
|
|
758
|
+
self._general_teamspace = general_teamspace
|
|
759
|
+
|
|
706
760
|
@property
|
|
707
761
|
def id(self) -> 'str':
|
|
708
762
|
"""Gets the id of this V1Organization. # noqa: E501
|
|
@@ -42,6 +42,7 @@ class V1ProjectSettings(object):
|
|
|
42
42
|
"""
|
|
43
43
|
swagger_types = {
|
|
44
44
|
'allow_aws_saas': 'bool',
|
|
45
|
+
'allow_external_project_duplication': 'bool',
|
|
45
46
|
'allow_gcp_saas': 'bool',
|
|
46
47
|
'allow_lambda_saas': 'bool',
|
|
47
48
|
'allow_vultr_saas': 'bool',
|
|
@@ -56,6 +57,7 @@ class V1ProjectSettings(object):
|
|
|
56
57
|
|
|
57
58
|
attribute_map = {
|
|
58
59
|
'allow_aws_saas': 'allowAwsSaas',
|
|
60
|
+
'allow_external_project_duplication': 'allowExternalProjectDuplication',
|
|
59
61
|
'allow_gcp_saas': 'allowGcpSaas',
|
|
60
62
|
'allow_lambda_saas': 'allowLambdaSaas',
|
|
61
63
|
'allow_vultr_saas': 'allowVultrSaas',
|
|
@@ -68,9 +70,10 @@ class V1ProjectSettings(object):
|
|
|
68
70
|
'start_studio_on_spot_instance': 'startStudioOnSpotInstance'
|
|
69
71
|
}
|
|
70
72
|
|
|
71
|
-
def __init__(self, allow_aws_saas: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_vultr_saas: 'bool' =None, default_machine_image_version: 'str' =None, default_machine_type: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, same_compute_on_resume: 'bool' =None, start_studio_on_spot_instance: 'bool' =None): # noqa: E501
|
|
73
|
+
def __init__(self, allow_aws_saas: 'bool' =None, allow_external_project_duplication: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_vultr_saas: 'bool' =None, default_machine_image_version: 'str' =None, default_machine_type: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, same_compute_on_resume: 'bool' =None, start_studio_on_spot_instance: 'bool' =None): # noqa: E501
|
|
72
74
|
"""V1ProjectSettings - a model defined in Swagger""" # noqa: E501
|
|
73
75
|
self._allow_aws_saas = None
|
|
76
|
+
self._allow_external_project_duplication = None
|
|
74
77
|
self._allow_gcp_saas = None
|
|
75
78
|
self._allow_lambda_saas = None
|
|
76
79
|
self._allow_vultr_saas = None
|
|
@@ -84,6 +87,8 @@ class V1ProjectSettings(object):
|
|
|
84
87
|
self.discriminator = None
|
|
85
88
|
if allow_aws_saas is not None:
|
|
86
89
|
self.allow_aws_saas = allow_aws_saas
|
|
90
|
+
if allow_external_project_duplication is not None:
|
|
91
|
+
self.allow_external_project_duplication = allow_external_project_duplication
|
|
87
92
|
if allow_gcp_saas is not None:
|
|
88
93
|
self.allow_gcp_saas = allow_gcp_saas
|
|
89
94
|
if allow_lambda_saas is not None:
|
|
@@ -126,6 +131,29 @@ class V1ProjectSettings(object):
|
|
|
126
131
|
|
|
127
132
|
self._allow_aws_saas = allow_aws_saas
|
|
128
133
|
|
|
134
|
+
@property
|
|
135
|
+
def allow_external_project_duplication(self) -> 'bool':
|
|
136
|
+
"""Gets the allow_external_project_duplication of this V1ProjectSettings. # noqa: E501
|
|
137
|
+
|
|
138
|
+
Allows teamspace admins to configure whether or not they want members to be able to duplicate studios without admin intervention. # noqa: E501
|
|
139
|
+
|
|
140
|
+
:return: The allow_external_project_duplication of this V1ProjectSettings. # noqa: E501
|
|
141
|
+
:rtype: bool
|
|
142
|
+
"""
|
|
143
|
+
return self._allow_external_project_duplication
|
|
144
|
+
|
|
145
|
+
@allow_external_project_duplication.setter
|
|
146
|
+
def allow_external_project_duplication(self, allow_external_project_duplication: 'bool'):
|
|
147
|
+
"""Sets the allow_external_project_duplication of this V1ProjectSettings.
|
|
148
|
+
|
|
149
|
+
Allows teamspace admins to configure whether or not they want members to be able to duplicate studios without admin intervention. # noqa: E501
|
|
150
|
+
|
|
151
|
+
:param allow_external_project_duplication: The allow_external_project_duplication of this V1ProjectSettings. # noqa: E501
|
|
152
|
+
:type: bool
|
|
153
|
+
"""
|
|
154
|
+
|
|
155
|
+
self._allow_external_project_duplication = allow_external_project_duplication
|
|
156
|
+
|
|
129
157
|
@property
|
|
130
158
|
def allow_gcp_saas(self) -> 'bool':
|
|
131
159
|
"""Gets the allow_gcp_saas of this V1ProjectSettings. # noqa: E501
|
|
@@ -0,0 +1,279 @@
|
|
|
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 V1ReservationBillingSession(object):
|
|
32
|
+
"""NOTE: This class is auto generated by the swagger code generator program.
|
|
33
|
+
|
|
34
|
+
Do not edit the class manually.
|
|
35
|
+
"""
|
|
36
|
+
"""
|
|
37
|
+
Attributes:
|
|
38
|
+
swagger_types (dict): The key is attribute name
|
|
39
|
+
and the value is attribute type.
|
|
40
|
+
attribute_map (dict): The key is attribute name
|
|
41
|
+
and the value is json key in definition.
|
|
42
|
+
"""
|
|
43
|
+
swagger_types = {
|
|
44
|
+
'cluster_id': 'str',
|
|
45
|
+
'cost': 'float',
|
|
46
|
+
'end_time': 'datetime',
|
|
47
|
+
'machine_type': 'str',
|
|
48
|
+
'num_instances': 'str',
|
|
49
|
+
'project_id': 'str',
|
|
50
|
+
'start_time': 'datetime'
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
attribute_map = {
|
|
54
|
+
'cluster_id': 'clusterId',
|
|
55
|
+
'cost': 'cost',
|
|
56
|
+
'end_time': 'endTime',
|
|
57
|
+
'machine_type': 'machineType',
|
|
58
|
+
'num_instances': 'numInstances',
|
|
59
|
+
'project_id': 'projectId',
|
|
60
|
+
'start_time': 'startTime'
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
def __init__(self, cluster_id: 'str' =None, cost: 'float' =None, end_time: 'datetime' =None, machine_type: 'str' =None, num_instances: 'str' =None, project_id: 'str' =None, start_time: 'datetime' =None): # noqa: E501
|
|
64
|
+
"""V1ReservationBillingSession - a model defined in Swagger""" # noqa: E501
|
|
65
|
+
self._cluster_id = None
|
|
66
|
+
self._cost = None
|
|
67
|
+
self._end_time = None
|
|
68
|
+
self._machine_type = None
|
|
69
|
+
self._num_instances = None
|
|
70
|
+
self._project_id = None
|
|
71
|
+
self._start_time = None
|
|
72
|
+
self.discriminator = None
|
|
73
|
+
if cluster_id is not None:
|
|
74
|
+
self.cluster_id = cluster_id
|
|
75
|
+
if cost is not None:
|
|
76
|
+
self.cost = cost
|
|
77
|
+
if end_time is not None:
|
|
78
|
+
self.end_time = end_time
|
|
79
|
+
if machine_type is not None:
|
|
80
|
+
self.machine_type = machine_type
|
|
81
|
+
if num_instances is not None:
|
|
82
|
+
self.num_instances = num_instances
|
|
83
|
+
if project_id is not None:
|
|
84
|
+
self.project_id = project_id
|
|
85
|
+
if start_time is not None:
|
|
86
|
+
self.start_time = start_time
|
|
87
|
+
|
|
88
|
+
@property
|
|
89
|
+
def cluster_id(self) -> 'str':
|
|
90
|
+
"""Gets the cluster_id of this V1ReservationBillingSession. # noqa: E501
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
:return: The cluster_id of this V1ReservationBillingSession. # noqa: E501
|
|
94
|
+
:rtype: str
|
|
95
|
+
"""
|
|
96
|
+
return self._cluster_id
|
|
97
|
+
|
|
98
|
+
@cluster_id.setter
|
|
99
|
+
def cluster_id(self, cluster_id: 'str'):
|
|
100
|
+
"""Sets the cluster_id of this V1ReservationBillingSession.
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
:param cluster_id: The cluster_id of this V1ReservationBillingSession. # noqa: E501
|
|
104
|
+
:type: str
|
|
105
|
+
"""
|
|
106
|
+
|
|
107
|
+
self._cluster_id = cluster_id
|
|
108
|
+
|
|
109
|
+
@property
|
|
110
|
+
def cost(self) -> 'float':
|
|
111
|
+
"""Gets the cost of this V1ReservationBillingSession. # noqa: E501
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
:return: The cost of this V1ReservationBillingSession. # noqa: E501
|
|
115
|
+
:rtype: float
|
|
116
|
+
"""
|
|
117
|
+
return self._cost
|
|
118
|
+
|
|
119
|
+
@cost.setter
|
|
120
|
+
def cost(self, cost: 'float'):
|
|
121
|
+
"""Sets the cost of this V1ReservationBillingSession.
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
:param cost: The cost of this V1ReservationBillingSession. # noqa: E501
|
|
125
|
+
:type: float
|
|
126
|
+
"""
|
|
127
|
+
|
|
128
|
+
self._cost = cost
|
|
129
|
+
|
|
130
|
+
@property
|
|
131
|
+
def end_time(self) -> 'datetime':
|
|
132
|
+
"""Gets the end_time of this V1ReservationBillingSession. # noqa: E501
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
:return: The end_time of this V1ReservationBillingSession. # noqa: E501
|
|
136
|
+
:rtype: datetime
|
|
137
|
+
"""
|
|
138
|
+
return self._end_time
|
|
139
|
+
|
|
140
|
+
@end_time.setter
|
|
141
|
+
def end_time(self, end_time: 'datetime'):
|
|
142
|
+
"""Sets the end_time of this V1ReservationBillingSession.
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
:param end_time: The end_time of this V1ReservationBillingSession. # noqa: E501
|
|
146
|
+
:type: datetime
|
|
147
|
+
"""
|
|
148
|
+
|
|
149
|
+
self._end_time = end_time
|
|
150
|
+
|
|
151
|
+
@property
|
|
152
|
+
def machine_type(self) -> 'str':
|
|
153
|
+
"""Gets the machine_type of this V1ReservationBillingSession. # noqa: E501
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
:return: The machine_type of this V1ReservationBillingSession. # noqa: E501
|
|
157
|
+
:rtype: str
|
|
158
|
+
"""
|
|
159
|
+
return self._machine_type
|
|
160
|
+
|
|
161
|
+
@machine_type.setter
|
|
162
|
+
def machine_type(self, machine_type: 'str'):
|
|
163
|
+
"""Sets the machine_type of this V1ReservationBillingSession.
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
:param machine_type: The machine_type of this V1ReservationBillingSession. # noqa: E501
|
|
167
|
+
:type: str
|
|
168
|
+
"""
|
|
169
|
+
|
|
170
|
+
self._machine_type = machine_type
|
|
171
|
+
|
|
172
|
+
@property
|
|
173
|
+
def num_instances(self) -> 'str':
|
|
174
|
+
"""Gets the num_instances of this V1ReservationBillingSession. # noqa: E501
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
:return: The num_instances of this V1ReservationBillingSession. # noqa: E501
|
|
178
|
+
:rtype: str
|
|
179
|
+
"""
|
|
180
|
+
return self._num_instances
|
|
181
|
+
|
|
182
|
+
@num_instances.setter
|
|
183
|
+
def num_instances(self, num_instances: 'str'):
|
|
184
|
+
"""Sets the num_instances of this V1ReservationBillingSession.
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
:param num_instances: The num_instances of this V1ReservationBillingSession. # noqa: E501
|
|
188
|
+
:type: str
|
|
189
|
+
"""
|
|
190
|
+
|
|
191
|
+
self._num_instances = num_instances
|
|
192
|
+
|
|
193
|
+
@property
|
|
194
|
+
def project_id(self) -> 'str':
|
|
195
|
+
"""Gets the project_id of this V1ReservationBillingSession. # noqa: E501
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
:return: The project_id of this V1ReservationBillingSession. # noqa: E501
|
|
199
|
+
:rtype: str
|
|
200
|
+
"""
|
|
201
|
+
return self._project_id
|
|
202
|
+
|
|
203
|
+
@project_id.setter
|
|
204
|
+
def project_id(self, project_id: 'str'):
|
|
205
|
+
"""Sets the project_id of this V1ReservationBillingSession.
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
:param project_id: The project_id of this V1ReservationBillingSession. # noqa: E501
|
|
209
|
+
:type: str
|
|
210
|
+
"""
|
|
211
|
+
|
|
212
|
+
self._project_id = project_id
|
|
213
|
+
|
|
214
|
+
@property
|
|
215
|
+
def start_time(self) -> 'datetime':
|
|
216
|
+
"""Gets the start_time of this V1ReservationBillingSession. # noqa: E501
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
:return: The start_time of this V1ReservationBillingSession. # noqa: E501
|
|
220
|
+
:rtype: datetime
|
|
221
|
+
"""
|
|
222
|
+
return self._start_time
|
|
223
|
+
|
|
224
|
+
@start_time.setter
|
|
225
|
+
def start_time(self, start_time: 'datetime'):
|
|
226
|
+
"""Sets the start_time of this V1ReservationBillingSession.
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
:param start_time: The start_time of this V1ReservationBillingSession. # noqa: E501
|
|
230
|
+
:type: datetime
|
|
231
|
+
"""
|
|
232
|
+
|
|
233
|
+
self._start_time = start_time
|
|
234
|
+
|
|
235
|
+
def to_dict(self) -> dict:
|
|
236
|
+
"""Returns the model properties as a dict"""
|
|
237
|
+
result = {}
|
|
238
|
+
|
|
239
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
240
|
+
value = getattr(self, attr)
|
|
241
|
+
if isinstance(value, list):
|
|
242
|
+
result[attr] = list(map(
|
|
243
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
244
|
+
value
|
|
245
|
+
))
|
|
246
|
+
elif hasattr(value, "to_dict"):
|
|
247
|
+
result[attr] = value.to_dict()
|
|
248
|
+
elif isinstance(value, dict):
|
|
249
|
+
result[attr] = dict(map(
|
|
250
|
+
lambda item: (item[0], item[1].to_dict())
|
|
251
|
+
if hasattr(item[1], "to_dict") else item,
|
|
252
|
+
value.items()
|
|
253
|
+
))
|
|
254
|
+
else:
|
|
255
|
+
result[attr] = value
|
|
256
|
+
if issubclass(V1ReservationBillingSession, dict):
|
|
257
|
+
for key, value in self.items():
|
|
258
|
+
result[key] = value
|
|
259
|
+
|
|
260
|
+
return result
|
|
261
|
+
|
|
262
|
+
def to_str(self) -> str:
|
|
263
|
+
"""Returns the string representation of the model"""
|
|
264
|
+
return pprint.pformat(self.to_dict())
|
|
265
|
+
|
|
266
|
+
def __repr__(self) -> str:
|
|
267
|
+
"""For `print` and `pprint`"""
|
|
268
|
+
return self.to_str()
|
|
269
|
+
|
|
270
|
+
def __eq__(self, other: 'V1ReservationBillingSession') -> bool:
|
|
271
|
+
"""Returns true if both objects are equal"""
|
|
272
|
+
if not isinstance(other, V1ReservationBillingSession):
|
|
273
|
+
return False
|
|
274
|
+
|
|
275
|
+
return self.__dict__ == other.__dict__
|
|
276
|
+
|
|
277
|
+
def __ne__(self, other: 'V1ReservationBillingSession') -> bool:
|
|
278
|
+
"""Returns true if both objects are not equal"""
|
|
279
|
+
return not self == other
|