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.
Files changed (61) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/deployment_api.py +35 -3
  3. lightning_sdk/api/lit_container_api.py +13 -7
  4. lightning_sdk/api/llm_api.py +46 -0
  5. lightning_sdk/api/studio_api.py +17 -0
  6. lightning_sdk/cli/entrypoint.py +1 -1
  7. lightning_sdk/cli/serve.py +221 -62
  8. lightning_sdk/deployment/deployment.py +53 -7
  9. lightning_sdk/lightning_cloud/openapi/__init__.py +11 -1
  10. lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
  11. lightning_sdk/lightning_cloud/openapi/api/cloud_space_environment_template_service_api.py +4 -4
  12. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +13 -1
  13. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +4 -4
  14. lightning_sdk/lightning_cloud/openapi/api/git_credentials_service_api.py +497 -0
  15. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +124 -0
  16. lightning_sdk/lightning_cloud/openapi/models/__init__.py +10 -1
  17. lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +27 -1
  18. lightning_sdk/lightning_cloud/openapi/models/create_deployment_request_defines_a_spec_for_the_job_that_allows_for_autoscaling_jobs.py +27 -1
  19. lightning_sdk/lightning_cloud/openapi/models/deployments_id_body.py +27 -1
  20. lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +27 -1
  21. lightning_sdk/lightning_cloud/openapi/models/projects_id_body.py +27 -1
  22. lightning_sdk/lightning_cloud/openapi/models/update.py +65 -195
  23. lightning_sdk/lightning_cloud/openapi/models/update1.py +357 -0
  24. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -0
  25. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template.py +27 -1
  26. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  27. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +27 -1
  28. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +79 -1
  29. lightning_sdk/lightning_cloud/openapi/models/v1_create_deployment_request.py +27 -1
  30. lightning_sdk/lightning_cloud/openapi/models/v1_create_git_credentials_request.py +175 -0
  31. lightning_sdk/lightning_cloud/openapi/models/v1_delete_cloud_space_environment_template_response.py +1 -53
  32. lightning_sdk/lightning_cloud/openapi/models/v1_delete_git_credentials_response.py +97 -0
  33. lightning_sdk/lightning_cloud/openapi/models/v1_deployment.py +27 -1
  34. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_state.py +2 -0
  35. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +1 -27
  36. lightning_sdk/lightning_cloud/openapi/models/v1_git_credentials.py +227 -0
  37. lightning_sdk/lightning_cloud/openapi/models/v1_job_resource.py +279 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_job_type.py +108 -0
  39. lightning_sdk/lightning_cloud/openapi/models/v1_list_git_credentials_response.py +123 -0
  40. lightning_sdk/lightning_cloud/openapi/models/v1_list_job_resources_response.py +123 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +149 -0
  42. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +55 -1
  43. lightning_sdk/lightning_cloud/openapi/models/v1_project_settings.py +29 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_reservation_billing_session.py +279 -0
  45. lightning_sdk/lightning_cloud/openapi/models/v1_resources.py +55 -3
  46. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +1 -27
  47. lightning_sdk/lightning_cloud/openapi/models/v1_usage.py +27 -1
  48. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +157 -1
  49. lightning_sdk/llm/__init__.py +3 -0
  50. lightning_sdk/llm/llm.py +118 -0
  51. lightning_sdk/plugin.py +19 -0
  52. lightning_sdk/serve.py +4 -6
  53. lightning_sdk/studio.py +33 -0
  54. {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/METADATA +1 -1
  55. {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/RECORD +60 -47
  56. lightning_sdk/lightning_cloud/openapi/models/environmenttemplates_id_body.py +0 -253
  57. /lightning_sdk/cli/{docker.py → docker_cli.py} +0 -0
  58. {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/LICENSE +0 -0
  59. {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/WHEEL +0 -0
  60. {lightning_sdk-0.2.11.dist-info → lightning_sdk-0.2.13.dist-info}/entry_points.txt +0 -0
  61. {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