lightning-sdk 0.2.12__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/llm_api.py +17 -5
- lightning_sdk/api/studio_api.py +17 -0
- lightning_sdk/cli/entrypoint.py +1 -1
- lightning_sdk/cli/serve.py +149 -39
- lightning_sdk/deployment/deployment.py +2 -2
- lightning_sdk/lightning_cloud/openapi/__init__.py +6 -0
- lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
- lightning_sdk/lightning_cloud/openapi/api/git_credentials_service_api.py +497 -0
- lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +14 -5
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +5 -0
- lightning_sdk/lightning_cloud/openapi/models/deployments_id_body.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_git_credentials_request.py +175 -0
- 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_git_credentials.py +227 -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 +15 -15
- lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +53 -1
- lightning_sdk/llm/llm.py +92 -30
- lightning_sdk/plugin.py +19 -0
- lightning_sdk/studio.py +33 -0
- {lightning_sdk-0.2.12.dist-info → lightning_sdk-0.2.13.dist-info}/METADATA +1 -1
- {lightning_sdk-0.2.12.dist-info → lightning_sdk-0.2.13.dist-info}/RECORD +34 -28
- /lightning_sdk/cli/{docker.py → docker_cli.py} +0 -0
- {lightning_sdk-0.2.12.dist-info → lightning_sdk-0.2.13.dist-info}/LICENSE +0 -0
- {lightning_sdk-0.2.12.dist-info → lightning_sdk-0.2.13.dist-info}/WHEEL +0 -0
- {lightning_sdk-0.2.12.dist-info → lightning_sdk-0.2.13.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-0.2.12.dist-info → lightning_sdk-0.2.13.dist-info}/top_level.txt +0 -0
|
@@ -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
|
|
@@ -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
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
external/v1/auth_service.proto
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
|
|
7
|
+
|
|
8
|
+
OpenAPI spec version: version not set
|
|
9
|
+
|
|
10
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
11
|
+
|
|
12
|
+
NOTE
|
|
13
|
+
----
|
|
14
|
+
standard swagger-codegen-cli for this python client has been modified
|
|
15
|
+
by custom templates. The purpose of these templates is to include
|
|
16
|
+
typing information in the API and Model code. Please refer to the
|
|
17
|
+
main grid repository for more info
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
import pprint
|
|
21
|
+
import re # noqa: F401
|
|
22
|
+
|
|
23
|
+
from typing import TYPE_CHECKING
|
|
24
|
+
|
|
25
|
+
import six
|
|
26
|
+
|
|
27
|
+
if TYPE_CHECKING:
|
|
28
|
+
from datetime import datetime
|
|
29
|
+
from lightning_sdk.lightning_cloud.openapi.models import *
|
|
30
|
+
|
|
31
|
+
class V1DeleteGitCredentialsResponse(object):
|
|
32
|
+
"""NOTE: This class is auto generated by the swagger code generator program.
|
|
33
|
+
|
|
34
|
+
Do not edit the class manually.
|
|
35
|
+
"""
|
|
36
|
+
"""
|
|
37
|
+
Attributes:
|
|
38
|
+
swagger_types (dict): The key is attribute name
|
|
39
|
+
and the value is attribute type.
|
|
40
|
+
attribute_map (dict): The key is attribute name
|
|
41
|
+
and the value is json key in definition.
|
|
42
|
+
"""
|
|
43
|
+
swagger_types = {
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
attribute_map = {
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
def __init__(self): # noqa: E501
|
|
50
|
+
"""V1DeleteGitCredentialsResponse - a model defined in Swagger""" # noqa: E501
|
|
51
|
+
self.discriminator = None
|
|
52
|
+
|
|
53
|
+
def to_dict(self) -> dict:
|
|
54
|
+
"""Returns the model properties as a dict"""
|
|
55
|
+
result = {}
|
|
56
|
+
|
|
57
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
58
|
+
value = getattr(self, attr)
|
|
59
|
+
if isinstance(value, list):
|
|
60
|
+
result[attr] = list(map(
|
|
61
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
62
|
+
value
|
|
63
|
+
))
|
|
64
|
+
elif hasattr(value, "to_dict"):
|
|
65
|
+
result[attr] = value.to_dict()
|
|
66
|
+
elif isinstance(value, dict):
|
|
67
|
+
result[attr] = dict(map(
|
|
68
|
+
lambda item: (item[0], item[1].to_dict())
|
|
69
|
+
if hasattr(item[1], "to_dict") else item,
|
|
70
|
+
value.items()
|
|
71
|
+
))
|
|
72
|
+
else:
|
|
73
|
+
result[attr] = value
|
|
74
|
+
if issubclass(V1DeleteGitCredentialsResponse, dict):
|
|
75
|
+
for key, value in self.items():
|
|
76
|
+
result[key] = value
|
|
77
|
+
|
|
78
|
+
return result
|
|
79
|
+
|
|
80
|
+
def to_str(self) -> str:
|
|
81
|
+
"""Returns the string representation of the model"""
|
|
82
|
+
return pprint.pformat(self.to_dict())
|
|
83
|
+
|
|
84
|
+
def __repr__(self) -> str:
|
|
85
|
+
"""For `print` and `pprint`"""
|
|
86
|
+
return self.to_str()
|
|
87
|
+
|
|
88
|
+
def __eq__(self, other: 'V1DeleteGitCredentialsResponse') -> bool:
|
|
89
|
+
"""Returns true if both objects are equal"""
|
|
90
|
+
if not isinstance(other, V1DeleteGitCredentialsResponse):
|
|
91
|
+
return False
|
|
92
|
+
|
|
93
|
+
return self.__dict__ == other.__dict__
|
|
94
|
+
|
|
95
|
+
def __ne__(self, other: 'V1DeleteGitCredentialsResponse') -> bool:
|
|
96
|
+
"""Returns true if both objects are not equal"""
|
|
97
|
+
return not self == other
|
|
@@ -47,6 +47,7 @@ class V1Deployment(object):
|
|
|
47
47
|
'autoscaling': 'V1AutoscalingSpec',
|
|
48
48
|
'cloudspace_id': 'str',
|
|
49
49
|
'created_at': 'datetime',
|
|
50
|
+
'current_state': 'V1DeploymentState',
|
|
50
51
|
'debug': 'bool',
|
|
51
52
|
'desired_state': 'V1DeploymentState',
|
|
52
53
|
'endpoint': 'V1Endpoint',
|
|
@@ -76,6 +77,7 @@ class V1Deployment(object):
|
|
|
76
77
|
'autoscaling': 'autoscaling',
|
|
77
78
|
'cloudspace_id': 'cloudspaceId',
|
|
78
79
|
'created_at': 'createdAt',
|
|
80
|
+
'current_state': 'currentState',
|
|
79
81
|
'debug': 'debug',
|
|
80
82
|
'desired_state': 'desiredState',
|
|
81
83
|
'endpoint': 'endpoint',
|
|
@@ -98,7 +100,7 @@ class V1Deployment(object):
|
|
|
98
100
|
'visibility': 'visibility'
|
|
99
101
|
}
|
|
100
102
|
|
|
101
|
-
def __init__(self, api_standard: 'str' =None, apis: 'list[V1DeploymentAPI]' =None, assistant_id: 'str' =None, autoscaling: 'V1AutoscalingSpec' =None, cloudspace_id: 'str' =None, created_at: 'datetime' =None, debug: 'bool' =None, desired_state: 'V1DeploymentState' =None, endpoint: 'V1Endpoint' =None, id: 'str' =None, is_published: 'bool' =None, managed_endpoint_id: 'str' =None, name: 'str' =None, parameter_spec: 'V1ParameterizationSpec' =None, pipeline_id: 'str' =None, project_id: 'str' =None, release_id: 'str' =None, replicas: 'int' =None, spec: 'V1JobSpec' =None, status: 'V1DeploymentStatus' =None, strategy: 'V1DeploymentStrategy' =None, template_id: 'str' =None, total_cost: 'float' =None, updated_at: 'datetime' =None, user_id: 'str' =None, visibility: 'V1ResourceVisibility' =None): # noqa: E501
|
|
103
|
+
def __init__(self, api_standard: 'str' =None, apis: 'list[V1DeploymentAPI]' =None, assistant_id: 'str' =None, autoscaling: 'V1AutoscalingSpec' =None, cloudspace_id: 'str' =None, created_at: 'datetime' =None, current_state: 'V1DeploymentState' =None, debug: 'bool' =None, desired_state: 'V1DeploymentState' =None, endpoint: 'V1Endpoint' =None, id: 'str' =None, is_published: 'bool' =None, managed_endpoint_id: 'str' =None, name: 'str' =None, parameter_spec: 'V1ParameterizationSpec' =None, pipeline_id: 'str' =None, project_id: 'str' =None, release_id: 'str' =None, replicas: 'int' =None, spec: 'V1JobSpec' =None, status: 'V1DeploymentStatus' =None, strategy: 'V1DeploymentStrategy' =None, template_id: 'str' =None, total_cost: 'float' =None, updated_at: 'datetime' =None, user_id: 'str' =None, visibility: 'V1ResourceVisibility' =None): # noqa: E501
|
|
102
104
|
"""V1Deployment - a model defined in Swagger""" # noqa: E501
|
|
103
105
|
self._api_standard = None
|
|
104
106
|
self._apis = None
|
|
@@ -106,6 +108,7 @@ class V1Deployment(object):
|
|
|
106
108
|
self._autoscaling = None
|
|
107
109
|
self._cloudspace_id = None
|
|
108
110
|
self._created_at = None
|
|
111
|
+
self._current_state = None
|
|
109
112
|
self._debug = None
|
|
110
113
|
self._desired_state = None
|
|
111
114
|
self._endpoint = None
|
|
@@ -139,6 +142,8 @@ class V1Deployment(object):
|
|
|
139
142
|
self.cloudspace_id = cloudspace_id
|
|
140
143
|
if created_at is not None:
|
|
141
144
|
self.created_at = created_at
|
|
145
|
+
if current_state is not None:
|
|
146
|
+
self.current_state = current_state
|
|
142
147
|
if debug is not None:
|
|
143
148
|
self.debug = debug
|
|
144
149
|
if desired_state is not None:
|
|
@@ -306,6 +311,27 @@ class V1Deployment(object):
|
|
|
306
311
|
|
|
307
312
|
self._created_at = created_at
|
|
308
313
|
|
|
314
|
+
@property
|
|
315
|
+
def current_state(self) -> 'V1DeploymentState':
|
|
316
|
+
"""Gets the current_state of this V1Deployment. # noqa: E501
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
:return: The current_state of this V1Deployment. # noqa: E501
|
|
320
|
+
:rtype: V1DeploymentState
|
|
321
|
+
"""
|
|
322
|
+
return self._current_state
|
|
323
|
+
|
|
324
|
+
@current_state.setter
|
|
325
|
+
def current_state(self, current_state: 'V1DeploymentState'):
|
|
326
|
+
"""Sets the current_state of this V1Deployment.
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
:param current_state: The current_state of this V1Deployment. # noqa: E501
|
|
330
|
+
:type: V1DeploymentState
|
|
331
|
+
"""
|
|
332
|
+
|
|
333
|
+
self._current_state = current_state
|
|
334
|
+
|
|
309
335
|
@property
|
|
310
336
|
def debug(self) -> 'bool':
|
|
311
337
|
"""Gets the debug of this V1Deployment. # noqa: E501
|
|
@@ -40,8 +40,10 @@ class V1DeploymentState(object):
|
|
|
40
40
|
UNSPECIFIED = "DEPLOYMENT_STATE_UNSPECIFIED"
|
|
41
41
|
RUNNING = "DEPLOYMENT_STATE_RUNNING"
|
|
42
42
|
DELETED = "DEPLOYMENT_STATE_DELETED"
|
|
43
|
+
COMPLETED = "DEPLOYMENT_STATE_COMPLETED"
|
|
43
44
|
FAILED = "DEPLOYMENT_STATE_FAILED"
|
|
44
45
|
SUSPENDED = "DEPLOYMENT_STATE_SUSPENDED"
|
|
46
|
+
PENDING = "DEPLOYMENT_STATE_PENDING"
|
|
45
47
|
"""
|
|
46
48
|
Attributes:
|
|
47
49
|
swagger_types (dict): The key is attribute name
|