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
|
@@ -43,6 +43,7 @@ class V1CloudSpaceEnvironmentTemplate(object):
|
|
|
43
43
|
swagger_types = {
|
|
44
44
|
'config': 'V1CloudSpaceEnvironmentTemplateConfig',
|
|
45
45
|
'created_at': 'datetime',
|
|
46
|
+
'disabled': 'bool',
|
|
46
47
|
'id': 'str',
|
|
47
48
|
'name': 'str',
|
|
48
49
|
'org_id': 'str',
|
|
@@ -53,6 +54,7 @@ class V1CloudSpaceEnvironmentTemplate(object):
|
|
|
53
54
|
attribute_map = {
|
|
54
55
|
'config': 'config',
|
|
55
56
|
'created_at': 'createdAt',
|
|
57
|
+
'disabled': 'disabled',
|
|
56
58
|
'id': 'id',
|
|
57
59
|
'name': 'name',
|
|
58
60
|
'org_id': 'orgId',
|
|
@@ -60,10 +62,11 @@ class V1CloudSpaceEnvironmentTemplate(object):
|
|
|
60
62
|
'user_id': 'userId'
|
|
61
63
|
}
|
|
62
64
|
|
|
63
|
-
def __init__(self, config: 'V1CloudSpaceEnvironmentTemplateConfig' =None, created_at: 'datetime' =None, id: 'str' =None, name: 'str' =None, org_id: 'str' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
|
|
65
|
+
def __init__(self, config: 'V1CloudSpaceEnvironmentTemplateConfig' =None, created_at: 'datetime' =None, disabled: 'bool' =None, id: 'str' =None, name: 'str' =None, org_id: 'str' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501
|
|
64
66
|
"""V1CloudSpaceEnvironmentTemplate - a model defined in Swagger""" # noqa: E501
|
|
65
67
|
self._config = None
|
|
66
68
|
self._created_at = None
|
|
69
|
+
self._disabled = None
|
|
67
70
|
self._id = None
|
|
68
71
|
self._name = None
|
|
69
72
|
self._org_id = None
|
|
@@ -74,6 +77,8 @@ class V1CloudSpaceEnvironmentTemplate(object):
|
|
|
74
77
|
self.config = config
|
|
75
78
|
if created_at is not None:
|
|
76
79
|
self.created_at = created_at
|
|
80
|
+
if disabled is not None:
|
|
81
|
+
self.disabled = disabled
|
|
77
82
|
if id is not None:
|
|
78
83
|
self.id = id
|
|
79
84
|
if name is not None:
|
|
@@ -127,6 +132,27 @@ class V1CloudSpaceEnvironmentTemplate(object):
|
|
|
127
132
|
|
|
128
133
|
self._created_at = created_at
|
|
129
134
|
|
|
135
|
+
@property
|
|
136
|
+
def disabled(self) -> 'bool':
|
|
137
|
+
"""Gets the disabled of this V1CloudSpaceEnvironmentTemplate. # noqa: E501
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
:return: The disabled of this V1CloudSpaceEnvironmentTemplate. # noqa: E501
|
|
141
|
+
:rtype: bool
|
|
142
|
+
"""
|
|
143
|
+
return self._disabled
|
|
144
|
+
|
|
145
|
+
@disabled.setter
|
|
146
|
+
def disabled(self, disabled: 'bool'):
|
|
147
|
+
"""Sets the disabled of this V1CloudSpaceEnvironmentTemplate.
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
:param disabled: The disabled of this V1CloudSpaceEnvironmentTemplate. # noqa: E501
|
|
151
|
+
:type: bool
|
|
152
|
+
"""
|
|
153
|
+
|
|
154
|
+
self._disabled = disabled
|
|
155
|
+
|
|
130
156
|
@property
|
|
131
157
|
def id(self) -> 'str':
|
|
132
158
|
"""Gets the id of this V1CloudSpaceEnvironmentTemplate. # noqa: E501
|
|
@@ -68,6 +68,7 @@ class V1ClusterAccelerator(object):
|
|
|
68
68
|
'local_disks_count': 'str',
|
|
69
69
|
'max_available_quota': 'str',
|
|
70
70
|
'non_spot': 'bool',
|
|
71
|
+
'out_of_capacity': 'bool',
|
|
71
72
|
'provider': 'V1CloudProvider',
|
|
72
73
|
'quota_checked_at': 'datetime',
|
|
73
74
|
'quota_code': 'str',
|
|
@@ -119,6 +120,7 @@ class V1ClusterAccelerator(object):
|
|
|
119
120
|
'local_disks_count': 'localDisksCount',
|
|
120
121
|
'max_available_quota': 'maxAvailableQuota',
|
|
121
122
|
'non_spot': 'nonSpot',
|
|
123
|
+
'out_of_capacity': 'outOfCapacity',
|
|
122
124
|
'provider': 'provider',
|
|
123
125
|
'quota_checked_at': 'quotaCheckedAt',
|
|
124
126
|
'quota_code': 'quotaCode',
|
|
@@ -142,7 +144,7 @@ class V1ClusterAccelerator(object):
|
|
|
142
144
|
'spot_quota_page_url': 'spotQuotaPageUrl'
|
|
143
145
|
}
|
|
144
146
|
|
|
145
|
-
def __init__(self, accelerator_type: 'str' =None, allowed_resources: 'list[str]' =None, available_in_seconds: 'str' =None, available_in_seconds_spot: 'str' =None, available_zones: 'list[str]' =None, byoc_only: 'bool' =None, capacity_block_only: 'bool' =None, capacity_block_price: 'float' =None, capacity_blocks_available: 'list[V1ClusterCapacityReservation]' =None, cluster_id: 'str' =None, cost: 'float' =None, detailed_quotas_info: 'list[V1AcceleratorQuotaInfo]' =None, device_card: 'str' =None, device_info: 'str' =None, display_name: 'str' =None, dws_only: 'bool' =None, enabled: 'bool' =None, family: 'str' =None, instance_id: 'str' =None, is_custom: 'bool' =None, is_tier_restricted: 'bool' =None, local_disk_included: 'bool' =None, local_disk_size: 'str' =None, local_disk_supported: 'bool' =None, local_disks_count: 'str' =None, max_available_quota: 'str' =None, non_spot: 'bool' =None, provider: 'V1CloudProvider' =None, quota_checked_at: 'datetime' =None, quota_code: 'str' =None, quota_name: 'str' =None, quota_page_url: 'str' =None, quota_service_code: 'str' =None, quota_utilization: 'str' =None, quota_value: 'str' =None, reservable: 'bool' =None, reservation_available_zones: 'list[str]' =None, reservation_quota_code: 'str' =None, reservation_quota_name: 'str' =None, reservation_quota_page_url: 'str' =None, resources: 'V1Resources' =None, secondary_instance_id: 'str' =None, slug: 'str' =None, slug_multi_cloud: 'str' =None, spot_price: 'float' =None, spot_quota_code: 'str' =None, spot_quota_name: 'str' =None, spot_quota_page_url: 'str' =None): # noqa: E501
|
|
147
|
+
def __init__(self, accelerator_type: 'str' =None, allowed_resources: 'list[str]' =None, available_in_seconds: 'str' =None, available_in_seconds_spot: 'str' =None, available_zones: 'list[str]' =None, byoc_only: 'bool' =None, capacity_block_only: 'bool' =None, capacity_block_price: 'float' =None, capacity_blocks_available: 'list[V1ClusterCapacityReservation]' =None, cluster_id: 'str' =None, cost: 'float' =None, detailed_quotas_info: 'list[V1AcceleratorQuotaInfo]' =None, device_card: 'str' =None, device_info: 'str' =None, display_name: 'str' =None, dws_only: 'bool' =None, enabled: 'bool' =None, family: 'str' =None, instance_id: 'str' =None, is_custom: 'bool' =None, is_tier_restricted: 'bool' =None, local_disk_included: 'bool' =None, local_disk_size: 'str' =None, local_disk_supported: 'bool' =None, local_disks_count: 'str' =None, max_available_quota: 'str' =None, non_spot: 'bool' =None, out_of_capacity: 'bool' =None, provider: 'V1CloudProvider' =None, quota_checked_at: 'datetime' =None, quota_code: 'str' =None, quota_name: 'str' =None, quota_page_url: 'str' =None, quota_service_code: 'str' =None, quota_utilization: 'str' =None, quota_value: 'str' =None, reservable: 'bool' =None, reservation_available_zones: 'list[str]' =None, reservation_quota_code: 'str' =None, reservation_quota_name: 'str' =None, reservation_quota_page_url: 'str' =None, resources: 'V1Resources' =None, secondary_instance_id: 'str' =None, slug: 'str' =None, slug_multi_cloud: 'str' =None, spot_price: 'float' =None, spot_quota_code: 'str' =None, spot_quota_name: 'str' =None, spot_quota_page_url: 'str' =None): # noqa: E501
|
|
146
148
|
"""V1ClusterAccelerator - a model defined in Swagger""" # noqa: E501
|
|
147
149
|
self._accelerator_type = None
|
|
148
150
|
self._allowed_resources = None
|
|
@@ -171,6 +173,7 @@ class V1ClusterAccelerator(object):
|
|
|
171
173
|
self._local_disks_count = None
|
|
172
174
|
self._max_available_quota = None
|
|
173
175
|
self._non_spot = None
|
|
176
|
+
self._out_of_capacity = None
|
|
174
177
|
self._provider = None
|
|
175
178
|
self._quota_checked_at = None
|
|
176
179
|
self._quota_code = None
|
|
@@ -247,6 +250,8 @@ class V1ClusterAccelerator(object):
|
|
|
247
250
|
self.max_available_quota = max_available_quota
|
|
248
251
|
if non_spot is not None:
|
|
249
252
|
self.non_spot = non_spot
|
|
253
|
+
if out_of_capacity is not None:
|
|
254
|
+
self.out_of_capacity = out_of_capacity
|
|
250
255
|
if provider is not None:
|
|
251
256
|
self.provider = provider
|
|
252
257
|
if quota_checked_at is not None:
|
|
@@ -857,6 +862,27 @@ class V1ClusterAccelerator(object):
|
|
|
857
862
|
|
|
858
863
|
self._non_spot = non_spot
|
|
859
864
|
|
|
865
|
+
@property
|
|
866
|
+
def out_of_capacity(self) -> 'bool':
|
|
867
|
+
"""Gets the out_of_capacity of this V1ClusterAccelerator. # noqa: E501
|
|
868
|
+
|
|
869
|
+
|
|
870
|
+
:return: The out_of_capacity of this V1ClusterAccelerator. # noqa: E501
|
|
871
|
+
:rtype: bool
|
|
872
|
+
"""
|
|
873
|
+
return self._out_of_capacity
|
|
874
|
+
|
|
875
|
+
@out_of_capacity.setter
|
|
876
|
+
def out_of_capacity(self, out_of_capacity: 'bool'):
|
|
877
|
+
"""Sets the out_of_capacity of this V1ClusterAccelerator.
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
:param out_of_capacity: The out_of_capacity of this V1ClusterAccelerator. # noqa: E501
|
|
881
|
+
:type: bool
|
|
882
|
+
"""
|
|
883
|
+
|
|
884
|
+
self._out_of_capacity = out_of_capacity
|
|
885
|
+
|
|
860
886
|
@property
|
|
861
887
|
def provider(self) -> 'V1CloudProvider':
|
|
862
888
|
"""Gets the provider of this V1ClusterAccelerator. # noqa: E501
|
|
@@ -49,6 +49,7 @@ class V1ClusterSecurityOptions(object):
|
|
|
49
49
|
'disabled_services': 'list[str]',
|
|
50
50
|
'encrypt_cluster_bucket': 'bool',
|
|
51
51
|
'encrypt_instance_volumes': 'bool',
|
|
52
|
+
'exposed_ports': 'list[str]',
|
|
52
53
|
'extra_firewall_cidr_ranges': 'list[str]',
|
|
53
54
|
'extra_policy': 'str',
|
|
54
55
|
'kms_key_id': 'str',
|
|
@@ -67,6 +68,7 @@ class V1ClusterSecurityOptions(object):
|
|
|
67
68
|
'disabled_services': 'disabledServices',
|
|
68
69
|
'encrypt_cluster_bucket': 'encryptClusterBucket',
|
|
69
70
|
'encrypt_instance_volumes': 'encryptInstanceVolumes',
|
|
71
|
+
'exposed_ports': 'exposedPorts',
|
|
70
72
|
'extra_firewall_cidr_ranges': 'extraFirewallCidrRanges',
|
|
71
73
|
'extra_policy': 'extraPolicy',
|
|
72
74
|
'kms_key_id': 'kmsKeyId',
|
|
@@ -76,7 +78,7 @@ class V1ClusterSecurityOptions(object):
|
|
|
76
78
|
'ssh_disabled': 'sshDisabled'
|
|
77
79
|
}
|
|
78
80
|
|
|
79
|
-
def __init__(self, bucket_kms_key: 'str' =None, cloud_init_boot_cmds: 'list[str]' =None, cloud_init_run_cmds: 'list[str]' =None, containers_non_privileged: 'bool' =None, disable_public_ip: 'bool' =None, disabled_services: 'list[str]' =None, encrypt_cluster_bucket: 'bool' =None, encrypt_instance_volumes: 'bool' =None, extra_firewall_cidr_ranges: 'list[str]' =None, extra_policy: 'str' =None, kms_key_id: 'str' =None, protect_instance_metadata: 'bool' =None, rootless_docker: 'bool' =None, setup_network_load_balancer: 'bool' =None, ssh_disabled: 'bool' =None): # noqa: E501
|
|
81
|
+
def __init__(self, bucket_kms_key: 'str' =None, cloud_init_boot_cmds: 'list[str]' =None, cloud_init_run_cmds: 'list[str]' =None, containers_non_privileged: 'bool' =None, disable_public_ip: 'bool' =None, disabled_services: 'list[str]' =None, encrypt_cluster_bucket: 'bool' =None, encrypt_instance_volumes: 'bool' =None, exposed_ports: 'list[str]' =None, extra_firewall_cidr_ranges: 'list[str]' =None, extra_policy: 'str' =None, kms_key_id: 'str' =None, protect_instance_metadata: 'bool' =None, rootless_docker: 'bool' =None, setup_network_load_balancer: 'bool' =None, ssh_disabled: 'bool' =None): # noqa: E501
|
|
80
82
|
"""V1ClusterSecurityOptions - a model defined in Swagger""" # noqa: E501
|
|
81
83
|
self._bucket_kms_key = None
|
|
82
84
|
self._cloud_init_boot_cmds = None
|
|
@@ -86,6 +88,7 @@ class V1ClusterSecurityOptions(object):
|
|
|
86
88
|
self._disabled_services = None
|
|
87
89
|
self._encrypt_cluster_bucket = None
|
|
88
90
|
self._encrypt_instance_volumes = None
|
|
91
|
+
self._exposed_ports = None
|
|
89
92
|
self._extra_firewall_cidr_ranges = None
|
|
90
93
|
self._extra_policy = None
|
|
91
94
|
self._kms_key_id = None
|
|
@@ -110,6 +113,8 @@ class V1ClusterSecurityOptions(object):
|
|
|
110
113
|
self.encrypt_cluster_bucket = encrypt_cluster_bucket
|
|
111
114
|
if encrypt_instance_volumes is not None:
|
|
112
115
|
self.encrypt_instance_volumes = encrypt_instance_volumes
|
|
116
|
+
if exposed_ports is not None:
|
|
117
|
+
self.exposed_ports = exposed_ports
|
|
113
118
|
if extra_firewall_cidr_ranges is not None:
|
|
114
119
|
self.extra_firewall_cidr_ranges = extra_firewall_cidr_ranges
|
|
115
120
|
if extra_policy is not None:
|
|
@@ -293,6 +298,27 @@ class V1ClusterSecurityOptions(object):
|
|
|
293
298
|
|
|
294
299
|
self._encrypt_instance_volumes = encrypt_instance_volumes
|
|
295
300
|
|
|
301
|
+
@property
|
|
302
|
+
def exposed_ports(self) -> 'list[str]':
|
|
303
|
+
"""Gets the exposed_ports of this V1ClusterSecurityOptions. # noqa: E501
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
:return: The exposed_ports of this V1ClusterSecurityOptions. # noqa: E501
|
|
307
|
+
:rtype: list[str]
|
|
308
|
+
"""
|
|
309
|
+
return self._exposed_ports
|
|
310
|
+
|
|
311
|
+
@exposed_ports.setter
|
|
312
|
+
def exposed_ports(self, exposed_ports: 'list[str]'):
|
|
313
|
+
"""Sets the exposed_ports of this V1ClusterSecurityOptions.
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
:param exposed_ports: The exposed_ports of this V1ClusterSecurityOptions. # noqa: E501
|
|
317
|
+
:type: list[str]
|
|
318
|
+
"""
|
|
319
|
+
|
|
320
|
+
self._exposed_ports = exposed_ports
|
|
321
|
+
|
|
296
322
|
@property
|
|
297
323
|
def extra_firewall_cidr_ranges(self) -> 'list[str]':
|
|
298
324
|
"""Gets the extra_firewall_cidr_ranges of this V1ClusterSecurityOptions. # noqa: E501
|
|
@@ -55,11 +55,14 @@ class V1ClusterSpec(object):
|
|
|
55
55
|
'lambda_labs_v1': 'V1LambdaLabsDirectV1',
|
|
56
56
|
'locked_zones': 'list[str]',
|
|
57
57
|
'monitor_deletion_disabled': 'bool',
|
|
58
|
+
'nebius_v1': 'V1NebiusDirectV1',
|
|
58
59
|
'overprovisioning': 'list[V1InstanceOverprovisioningSpec]',
|
|
59
60
|
'parent_cluster_id': 'str',
|
|
61
|
+
'parent_cluster_type': 'str',
|
|
60
62
|
'pause_automation': 'bool',
|
|
61
63
|
'reservation_details': 'V1ReservationDetails',
|
|
62
64
|
'reserved_capacity_provider': 'bool',
|
|
65
|
+
'reserved_instances_only': 'bool',
|
|
63
66
|
'security_options': 'V1ClusterSecurityOptions',
|
|
64
67
|
'slurm_v1': 'V1SlurmV1',
|
|
65
68
|
'tagging_options': 'V1ClusterTaggingOptions',
|
|
@@ -83,11 +86,14 @@ class V1ClusterSpec(object):
|
|
|
83
86
|
'lambda_labs_v1': 'lambdaLabsV1',
|
|
84
87
|
'locked_zones': 'lockedZones',
|
|
85
88
|
'monitor_deletion_disabled': 'monitorDeletionDisabled',
|
|
89
|
+
'nebius_v1': 'nebiusV1',
|
|
86
90
|
'overprovisioning': 'overprovisioning',
|
|
87
91
|
'parent_cluster_id': 'parentClusterId',
|
|
92
|
+
'parent_cluster_type': 'parentClusterType',
|
|
88
93
|
'pause_automation': 'pauseAutomation',
|
|
89
94
|
'reservation_details': 'reservationDetails',
|
|
90
95
|
'reserved_capacity_provider': 'reservedCapacityProvider',
|
|
96
|
+
'reserved_instances_only': 'reservedInstancesOnly',
|
|
91
97
|
'security_options': 'securityOptions',
|
|
92
98
|
'slurm_v1': 'slurmV1',
|
|
93
99
|
'tagging_options': 'taggingOptions',
|
|
@@ -96,7 +102,7 @@ class V1ClusterSpec(object):
|
|
|
96
102
|
'vultr_v1': 'vultrV1'
|
|
97
103
|
}
|
|
98
104
|
|
|
99
|
-
def __init__(self, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, freeze_accelerators: 'bool' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, insurer_disabled: 'bool' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, locked_zones: 'list[str]' =None, monitor_deletion_disabled: 'bool' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: '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
|
|
105
|
+
def __init__(self, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, freeze_accelerators: 'bool' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, insurer_disabled: 'bool' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =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
|
|
100
106
|
"""V1ClusterSpec - a model defined in Swagger""" # noqa: E501
|
|
101
107
|
self._auth_token = None
|
|
102
108
|
self._available_accelerators = None
|
|
@@ -112,11 +118,14 @@ class V1ClusterSpec(object):
|
|
|
112
118
|
self._lambda_labs_v1 = None
|
|
113
119
|
self._locked_zones = None
|
|
114
120
|
self._monitor_deletion_disabled = None
|
|
121
|
+
self._nebius_v1 = None
|
|
115
122
|
self._overprovisioning = None
|
|
116
123
|
self._parent_cluster_id = None
|
|
124
|
+
self._parent_cluster_type = None
|
|
117
125
|
self._pause_automation = None
|
|
118
126
|
self._reservation_details = None
|
|
119
127
|
self._reserved_capacity_provider = None
|
|
128
|
+
self._reserved_instances_only = None
|
|
120
129
|
self._security_options = None
|
|
121
130
|
self._slurm_v1 = None
|
|
122
131
|
self._tagging_options = None
|
|
@@ -152,16 +161,22 @@ class V1ClusterSpec(object):
|
|
|
152
161
|
self.locked_zones = locked_zones
|
|
153
162
|
if monitor_deletion_disabled is not None:
|
|
154
163
|
self.monitor_deletion_disabled = monitor_deletion_disabled
|
|
164
|
+
if nebius_v1 is not None:
|
|
165
|
+
self.nebius_v1 = nebius_v1
|
|
155
166
|
if overprovisioning is not None:
|
|
156
167
|
self.overprovisioning = overprovisioning
|
|
157
168
|
if parent_cluster_id is not None:
|
|
158
169
|
self.parent_cluster_id = parent_cluster_id
|
|
170
|
+
if parent_cluster_type is not None:
|
|
171
|
+
self.parent_cluster_type = parent_cluster_type
|
|
159
172
|
if pause_automation is not None:
|
|
160
173
|
self.pause_automation = pause_automation
|
|
161
174
|
if reservation_details is not None:
|
|
162
175
|
self.reservation_details = reservation_details
|
|
163
176
|
if reserved_capacity_provider is not None:
|
|
164
177
|
self.reserved_capacity_provider = reserved_capacity_provider
|
|
178
|
+
if reserved_instances_only is not None:
|
|
179
|
+
self.reserved_instances_only = reserved_instances_only
|
|
165
180
|
if security_options is not None:
|
|
166
181
|
self.security_options = security_options
|
|
167
182
|
if slurm_v1 is not None:
|
|
@@ -471,6 +486,27 @@ class V1ClusterSpec(object):
|
|
|
471
486
|
|
|
472
487
|
self._monitor_deletion_disabled = monitor_deletion_disabled
|
|
473
488
|
|
|
489
|
+
@property
|
|
490
|
+
def nebius_v1(self) -> 'V1NebiusDirectV1':
|
|
491
|
+
"""Gets the nebius_v1 of this V1ClusterSpec. # noqa: E501
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
:return: The nebius_v1 of this V1ClusterSpec. # noqa: E501
|
|
495
|
+
:rtype: V1NebiusDirectV1
|
|
496
|
+
"""
|
|
497
|
+
return self._nebius_v1
|
|
498
|
+
|
|
499
|
+
@nebius_v1.setter
|
|
500
|
+
def nebius_v1(self, nebius_v1: 'V1NebiusDirectV1'):
|
|
501
|
+
"""Sets the nebius_v1 of this V1ClusterSpec.
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
:param nebius_v1: The nebius_v1 of this V1ClusterSpec. # noqa: E501
|
|
505
|
+
:type: V1NebiusDirectV1
|
|
506
|
+
"""
|
|
507
|
+
|
|
508
|
+
self._nebius_v1 = nebius_v1
|
|
509
|
+
|
|
474
510
|
@property
|
|
475
511
|
def overprovisioning(self) -> 'list[V1InstanceOverprovisioningSpec]':
|
|
476
512
|
"""Gets the overprovisioning of this V1ClusterSpec. # noqa: E501
|
|
@@ -513,6 +549,27 @@ class V1ClusterSpec(object):
|
|
|
513
549
|
|
|
514
550
|
self._parent_cluster_id = parent_cluster_id
|
|
515
551
|
|
|
552
|
+
@property
|
|
553
|
+
def parent_cluster_type(self) -> 'str':
|
|
554
|
+
"""Gets the parent_cluster_type of this V1ClusterSpec. # noqa: E501
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
:return: The parent_cluster_type of this V1ClusterSpec. # noqa: E501
|
|
558
|
+
:rtype: str
|
|
559
|
+
"""
|
|
560
|
+
return self._parent_cluster_type
|
|
561
|
+
|
|
562
|
+
@parent_cluster_type.setter
|
|
563
|
+
def parent_cluster_type(self, parent_cluster_type: 'str'):
|
|
564
|
+
"""Sets the parent_cluster_type of this V1ClusterSpec.
|
|
565
|
+
|
|
566
|
+
|
|
567
|
+
:param parent_cluster_type: The parent_cluster_type of this V1ClusterSpec. # noqa: E501
|
|
568
|
+
:type: str
|
|
569
|
+
"""
|
|
570
|
+
|
|
571
|
+
self._parent_cluster_type = parent_cluster_type
|
|
572
|
+
|
|
516
573
|
@property
|
|
517
574
|
def pause_automation(self) -> 'bool':
|
|
518
575
|
"""Gets the pause_automation of this V1ClusterSpec. # noqa: E501
|
|
@@ -576,6 +633,27 @@ class V1ClusterSpec(object):
|
|
|
576
633
|
|
|
577
634
|
self._reserved_capacity_provider = reserved_capacity_provider
|
|
578
635
|
|
|
636
|
+
@property
|
|
637
|
+
def reserved_instances_only(self) -> 'bool':
|
|
638
|
+
"""Gets the reserved_instances_only of this V1ClusterSpec. # noqa: E501
|
|
639
|
+
|
|
640
|
+
|
|
641
|
+
:return: The reserved_instances_only of this V1ClusterSpec. # noqa: E501
|
|
642
|
+
:rtype: bool
|
|
643
|
+
"""
|
|
644
|
+
return self._reserved_instances_only
|
|
645
|
+
|
|
646
|
+
@reserved_instances_only.setter
|
|
647
|
+
def reserved_instances_only(self, reserved_instances_only: 'bool'):
|
|
648
|
+
"""Sets the reserved_instances_only of this V1ClusterSpec.
|
|
649
|
+
|
|
650
|
+
|
|
651
|
+
:param reserved_instances_only: The reserved_instances_only of this V1ClusterSpec. # noqa: E501
|
|
652
|
+
:type: bool
|
|
653
|
+
"""
|
|
654
|
+
|
|
655
|
+
self._reserved_instances_only = reserved_instances_only
|
|
656
|
+
|
|
579
657
|
@property
|
|
580
658
|
def security_options(self) -> 'V1ClusterSecurityOptions':
|
|
581
659
|
"""Gets the security_options of this V1ClusterSpec. # noqa: E501
|
|
@@ -47,6 +47,7 @@ class V1CreateDeploymentRequest(object):
|
|
|
47
47
|
'cloudspace_id': 'str',
|
|
48
48
|
'cluster_id': 'str',
|
|
49
49
|
'endpoint': 'V1Endpoint',
|
|
50
|
+
'from_litserve': 'bool',
|
|
50
51
|
'from_onboarding': 'bool',
|
|
51
52
|
'name': 'str',
|
|
52
53
|
'parameter_spec': 'V1ParameterizationSpec',
|
|
@@ -64,6 +65,7 @@ class V1CreateDeploymentRequest(object):
|
|
|
64
65
|
'cloudspace_id': 'cloudspaceId',
|
|
65
66
|
'cluster_id': 'clusterId',
|
|
66
67
|
'endpoint': 'endpoint',
|
|
68
|
+
'from_litserve': 'fromLitserve',
|
|
67
69
|
'from_onboarding': 'fromOnboarding',
|
|
68
70
|
'name': 'name',
|
|
69
71
|
'parameter_spec': 'parameterSpec',
|
|
@@ -74,7 +76,7 @@ class V1CreateDeploymentRequest(object):
|
|
|
74
76
|
'strategy': 'strategy'
|
|
75
77
|
}
|
|
76
78
|
|
|
77
|
-
def __init__(self, api_standard: 'str' =None, apis: 'list[V1DeploymentAPI]' =None, autoscaling: 'V1AutoscalingSpec' =None, cloudspace_id: 'str' =None, cluster_id: 'str' =None, endpoint: 'V1Endpoint' =None, from_onboarding: 'bool' =None, name: 'str' =None, parameter_spec: 'V1ParameterizationSpec' =None, parent_template_id: 'str' =None, project_id: 'str' =None, replicas: 'int' =None, spec: 'V1JobSpec' =None, strategy: 'V1DeploymentStrategy' =None): # noqa: E501
|
|
79
|
+
def __init__(self, api_standard: 'str' =None, apis: 'list[V1DeploymentAPI]' =None, autoscaling: 'V1AutoscalingSpec' =None, cloudspace_id: 'str' =None, cluster_id: 'str' =None, endpoint: 'V1Endpoint' =None, from_litserve: 'bool' =None, from_onboarding: 'bool' =None, name: 'str' =None, parameter_spec: 'V1ParameterizationSpec' =None, parent_template_id: 'str' =None, project_id: 'str' =None, replicas: 'int' =None, spec: 'V1JobSpec' =None, strategy: 'V1DeploymentStrategy' =None): # noqa: E501
|
|
78
80
|
"""V1CreateDeploymentRequest - a model defined in Swagger""" # noqa: E501
|
|
79
81
|
self._api_standard = None
|
|
80
82
|
self._apis = None
|
|
@@ -82,6 +84,7 @@ class V1CreateDeploymentRequest(object):
|
|
|
82
84
|
self._cloudspace_id = None
|
|
83
85
|
self._cluster_id = None
|
|
84
86
|
self._endpoint = None
|
|
87
|
+
self._from_litserve = None
|
|
85
88
|
self._from_onboarding = None
|
|
86
89
|
self._name = None
|
|
87
90
|
self._parameter_spec = None
|
|
@@ -103,6 +106,8 @@ class V1CreateDeploymentRequest(object):
|
|
|
103
106
|
self.cluster_id = cluster_id
|
|
104
107
|
if endpoint is not None:
|
|
105
108
|
self.endpoint = endpoint
|
|
109
|
+
if from_litserve is not None:
|
|
110
|
+
self.from_litserve = from_litserve
|
|
106
111
|
if from_onboarding is not None:
|
|
107
112
|
self.from_onboarding = from_onboarding
|
|
108
113
|
if name is not None:
|
|
@@ -246,6 +251,27 @@ class V1CreateDeploymentRequest(object):
|
|
|
246
251
|
|
|
247
252
|
self._endpoint = endpoint
|
|
248
253
|
|
|
254
|
+
@property
|
|
255
|
+
def from_litserve(self) -> 'bool':
|
|
256
|
+
"""Gets the from_litserve of this V1CreateDeploymentRequest. # noqa: E501
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
:return: The from_litserve of this V1CreateDeploymentRequest. # noqa: E501
|
|
260
|
+
:rtype: bool
|
|
261
|
+
"""
|
|
262
|
+
return self._from_litserve
|
|
263
|
+
|
|
264
|
+
@from_litserve.setter
|
|
265
|
+
def from_litserve(self, from_litserve: 'bool'):
|
|
266
|
+
"""Sets the from_litserve of this V1CreateDeploymentRequest.
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
:param from_litserve: The from_litserve of this V1CreateDeploymentRequest. # noqa: E501
|
|
270
|
+
:type: bool
|
|
271
|
+
"""
|
|
272
|
+
|
|
273
|
+
self._from_litserve = from_litserve
|
|
274
|
+
|
|
249
275
|
@property
|
|
250
276
|
def from_onboarding(self) -> 'bool':
|
|
251
277
|
"""Gets the from_onboarding of this V1CreateDeploymentRequest. # 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 V1CreateGitCredentialsRequest(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
|
+
'git_username': 'str',
|
|
45
|
+
'password': 'str',
|
|
46
|
+
'registry_url': 'str'
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
attribute_map = {
|
|
50
|
+
'git_username': 'gitUsername',
|
|
51
|
+
'password': 'password',
|
|
52
|
+
'registry_url': 'registryUrl'
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
def __init__(self, git_username: 'str' =None, password: 'str' =None, registry_url: 'str' =None): # noqa: E501
|
|
56
|
+
"""V1CreateGitCredentialsRequest - a model defined in Swagger""" # noqa: E501
|
|
57
|
+
self._git_username = None
|
|
58
|
+
self._password = None
|
|
59
|
+
self._registry_url = None
|
|
60
|
+
self.discriminator = None
|
|
61
|
+
if git_username is not None:
|
|
62
|
+
self.git_username = git_username
|
|
63
|
+
if password is not None:
|
|
64
|
+
self.password = password
|
|
65
|
+
if registry_url is not None:
|
|
66
|
+
self.registry_url = registry_url
|
|
67
|
+
|
|
68
|
+
@property
|
|
69
|
+
def git_username(self) -> 'str':
|
|
70
|
+
"""Gets the git_username of this V1CreateGitCredentialsRequest. # noqa: E501
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:return: The git_username of this V1CreateGitCredentialsRequest. # noqa: E501
|
|
74
|
+
:rtype: str
|
|
75
|
+
"""
|
|
76
|
+
return self._git_username
|
|
77
|
+
|
|
78
|
+
@git_username.setter
|
|
79
|
+
def git_username(self, git_username: 'str'):
|
|
80
|
+
"""Sets the git_username of this V1CreateGitCredentialsRequest.
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
:param git_username: The git_username of this V1CreateGitCredentialsRequest. # noqa: E501
|
|
84
|
+
:type: str
|
|
85
|
+
"""
|
|
86
|
+
|
|
87
|
+
self._git_username = git_username
|
|
88
|
+
|
|
89
|
+
@property
|
|
90
|
+
def password(self) -> 'str':
|
|
91
|
+
"""Gets the password of this V1CreateGitCredentialsRequest. # noqa: E501
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
:return: The password of this V1CreateGitCredentialsRequest. # noqa: E501
|
|
95
|
+
:rtype: str
|
|
96
|
+
"""
|
|
97
|
+
return self._password
|
|
98
|
+
|
|
99
|
+
@password.setter
|
|
100
|
+
def password(self, password: 'str'):
|
|
101
|
+
"""Sets the password of this V1CreateGitCredentialsRequest.
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
:param password: The password of this V1CreateGitCredentialsRequest. # noqa: E501
|
|
105
|
+
:type: str
|
|
106
|
+
"""
|
|
107
|
+
|
|
108
|
+
self._password = password
|
|
109
|
+
|
|
110
|
+
@property
|
|
111
|
+
def registry_url(self) -> 'str':
|
|
112
|
+
"""Gets the registry_url of this V1CreateGitCredentialsRequest. # noqa: E501
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
:return: The registry_url of this V1CreateGitCredentialsRequest. # noqa: E501
|
|
116
|
+
:rtype: str
|
|
117
|
+
"""
|
|
118
|
+
return self._registry_url
|
|
119
|
+
|
|
120
|
+
@registry_url.setter
|
|
121
|
+
def registry_url(self, registry_url: 'str'):
|
|
122
|
+
"""Sets the registry_url of this V1CreateGitCredentialsRequest.
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
:param registry_url: The registry_url of this V1CreateGitCredentialsRequest. # noqa: E501
|
|
126
|
+
:type: str
|
|
127
|
+
"""
|
|
128
|
+
|
|
129
|
+
self._registry_url = registry_url
|
|
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(V1CreateGitCredentialsRequest, 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: 'V1CreateGitCredentialsRequest') -> bool:
|
|
167
|
+
"""Returns true if both objects are equal"""
|
|
168
|
+
if not isinstance(other, V1CreateGitCredentialsRequest):
|
|
169
|
+
return False
|
|
170
|
+
|
|
171
|
+
return self.__dict__ == other.__dict__
|
|
172
|
+
|
|
173
|
+
def __ne__(self, other: 'V1CreateGitCredentialsRequest') -> bool:
|
|
174
|
+
"""Returns true if both objects are not equal"""
|
|
175
|
+
return not self == other
|