lightning-sdk 0.1.50__py3-none-any.whl → 0.1.53__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 (69) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/ai_hub.py +16 -27
  3. lightning_sdk/api/ai_hub_api.py +7 -1
  4. lightning_sdk/api/job_api.py +12 -7
  5. lightning_sdk/api/lit_container_api.py +24 -7
  6. lightning_sdk/api/mmt_api.py +12 -7
  7. lightning_sdk/api/utils.py +52 -0
  8. lightning_sdk/cli/run.py +65 -18
  9. lightning_sdk/cli/serve.py +1 -5
  10. lightning_sdk/cli/upload.py +33 -15
  11. lightning_sdk/helpers.py +1 -1
  12. lightning_sdk/job/base.py +28 -1
  13. lightning_sdk/job/job.py +27 -25
  14. lightning_sdk/job/v1.py +6 -2
  15. lightning_sdk/job/v2.py +12 -12
  16. lightning_sdk/lightning_cloud/login.py +4 -1
  17. lightning_sdk/lightning_cloud/openapi/__init__.py +17 -0
  18. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +105 -0
  19. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +417 -1
  20. lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +105 -0
  21. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +5 -1
  22. lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +113 -0
  23. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +101 -0
  24. lightning_sdk/lightning_cloud/openapi/api/user_service_api.py +5 -1
  25. lightning_sdk/lightning_cloud/openapi/models/__init__.py +17 -0
  26. lightning_sdk/lightning_cloud/openapi/models/cluster_id_usagerestrictions_body.py +175 -0
  27. lightning_sdk/lightning_cloud/openapi/models/deployments_id_body.py +27 -1
  28. lightning_sdk/lightning_cloud/openapi/models/id_contactowner_body.py +149 -0
  29. lightning_sdk/lightning_cloud/openapi/models/litregistry_lit_repo_name_body.py +123 -0
  30. lightning_sdk/lightning_cloud/openapi/models/metricsstream_create_body.py +27 -1
  31. lightning_sdk/lightning_cloud/openapi/models/usagerestrictions_id_body.py +175 -0
  32. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_model_status.py +4 -0
  33. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +104 -0
  34. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_artifact_event.py +149 -0
  35. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_artifact_event_type.py +103 -0
  36. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +81 -3
  37. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
  38. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_tagging_options.py +29 -3
  39. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_usage_restriction.py +227 -0
  40. lightning_sdk/lightning_cloud/openapi/models/v1_contact_assistant_owner_reason.py +102 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_contact_assistant_owner_response.py +97 -0
  42. lightning_sdk/lightning_cloud/openapi/models/v1_delete_cluster_usage_restriction_response.py +97 -0
  43. lightning_sdk/lightning_cloud/openapi/models/v1_deployment.py +27 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_api.py +53 -1
  45. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_mmt.py +175 -0
  46. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
  47. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_usage_restrictions_response.py +123 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_list_filesystem_mm_ts_response.py +123 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_metrics_stream.py +27 -1
  50. lightning_sdk/lightning_cloud/openapi/models/v1_model.py +27 -1
  51. lightning_sdk/lightning_cloud/openapi/models/v1_path_mapping.py +175 -0
  52. lightning_sdk/lightning_cloud/openapi/models/v1_post_cloud_space_artifact_events_response.py +97 -0
  53. lightning_sdk/lightning_cloud/openapi/models/v1_resource_visibility.py +27 -1
  54. lightning_sdk/lightning_cloud/openapi/models/v1_update_lit_repository_response.py +97 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +128 -76
  56. lightning_sdk/lightning_cloud/utils/data_connection.py +75 -7
  57. lightning_sdk/mmt/base.py +36 -26
  58. lightning_sdk/mmt/mmt.py +28 -26
  59. lightning_sdk/mmt/v1.py +4 -1
  60. lightning_sdk/mmt/v2.py +14 -13
  61. lightning_sdk/models.py +5 -4
  62. lightning_sdk/studio.py +68 -1
  63. lightning_sdk/utils/resolve.py +7 -0
  64. {lightning_sdk-0.1.50.dist-info → lightning_sdk-0.1.53.dist-info}/METADATA +2 -2
  65. {lightning_sdk-0.1.50.dist-info → lightning_sdk-0.1.53.dist-info}/RECORD +69 -52
  66. {lightning_sdk-0.1.50.dist-info → lightning_sdk-0.1.53.dist-info}/LICENSE +0 -0
  67. {lightning_sdk-0.1.50.dist-info → lightning_sdk-0.1.53.dist-info}/WHEEL +0 -0
  68. {lightning_sdk-0.1.50.dist-info → lightning_sdk-0.1.53.dist-info}/entry_points.txt +0 -0
  69. {lightning_sdk-0.1.50.dist-info → lightning_sdk-0.1.53.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,149 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ external/v1/auth_service.proto
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: version not set
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+
12
+ NOTE
13
+ ----
14
+ standard swagger-codegen-cli for this python client has been modified
15
+ by custom templates. The purpose of these templates is to include
16
+ typing information in the API and Model code. Please refer to the
17
+ main grid repository for more info
18
+ """
19
+
20
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class V1CloudSpaceArtifactEvent(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
+ 'event_type': 'V1CloudSpaceArtifactEventType',
45
+ 'path': 'str'
46
+ }
47
+
48
+ attribute_map = {
49
+ 'event_type': 'eventType',
50
+ 'path': 'path'
51
+ }
52
+
53
+ def __init__(self, event_type: 'V1CloudSpaceArtifactEventType' =None, path: 'str' =None): # noqa: E501
54
+ """V1CloudSpaceArtifactEvent - a model defined in Swagger""" # noqa: E501
55
+ self._event_type = None
56
+ self._path = None
57
+ self.discriminator = None
58
+ if event_type is not None:
59
+ self.event_type = event_type
60
+ if path is not None:
61
+ self.path = path
62
+
63
+ @property
64
+ def event_type(self) -> 'V1CloudSpaceArtifactEventType':
65
+ """Gets the event_type of this V1CloudSpaceArtifactEvent. # noqa: E501
66
+
67
+
68
+ :return: The event_type of this V1CloudSpaceArtifactEvent. # noqa: E501
69
+ :rtype: V1CloudSpaceArtifactEventType
70
+ """
71
+ return self._event_type
72
+
73
+ @event_type.setter
74
+ def event_type(self, event_type: 'V1CloudSpaceArtifactEventType'):
75
+ """Sets the event_type of this V1CloudSpaceArtifactEvent.
76
+
77
+
78
+ :param event_type: The event_type of this V1CloudSpaceArtifactEvent. # noqa: E501
79
+ :type: V1CloudSpaceArtifactEventType
80
+ """
81
+
82
+ self._event_type = event_type
83
+
84
+ @property
85
+ def path(self) -> 'str':
86
+ """Gets the path of this V1CloudSpaceArtifactEvent. # noqa: E501
87
+
88
+
89
+ :return: The path of this V1CloudSpaceArtifactEvent. # noqa: E501
90
+ :rtype: str
91
+ """
92
+ return self._path
93
+
94
+ @path.setter
95
+ def path(self, path: 'str'):
96
+ """Sets the path of this V1CloudSpaceArtifactEvent.
97
+
98
+
99
+ :param path: The path of this V1CloudSpaceArtifactEvent. # noqa: E501
100
+ :type: str
101
+ """
102
+
103
+ self._path = path
104
+
105
+ def to_dict(self) -> dict:
106
+ """Returns the model properties as a dict"""
107
+ result = {}
108
+
109
+ for attr, _ in six.iteritems(self.swagger_types):
110
+ value = getattr(self, attr)
111
+ if isinstance(value, list):
112
+ result[attr] = list(map(
113
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
114
+ value
115
+ ))
116
+ elif hasattr(value, "to_dict"):
117
+ result[attr] = value.to_dict()
118
+ elif isinstance(value, dict):
119
+ result[attr] = dict(map(
120
+ lambda item: (item[0], item[1].to_dict())
121
+ if hasattr(item[1], "to_dict") else item,
122
+ value.items()
123
+ ))
124
+ else:
125
+ result[attr] = value
126
+ if issubclass(V1CloudSpaceArtifactEvent, dict):
127
+ for key, value in self.items():
128
+ result[key] = value
129
+
130
+ return result
131
+
132
+ def to_str(self) -> str:
133
+ """Returns the string representation of the model"""
134
+ return pprint.pformat(self.to_dict())
135
+
136
+ def __repr__(self) -> str:
137
+ """For `print` and `pprint`"""
138
+ return self.to_str()
139
+
140
+ def __eq__(self, other: 'V1CloudSpaceArtifactEvent') -> bool:
141
+ """Returns true if both objects are equal"""
142
+ if not isinstance(other, V1CloudSpaceArtifactEvent):
143
+ return False
144
+
145
+ return self.__dict__ == other.__dict__
146
+
147
+ def __ne__(self, other: 'V1CloudSpaceArtifactEvent') -> bool:
148
+ """Returns true if both objects are not equal"""
149
+ return not self == other
@@ -0,0 +1,103 @@
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 V1CloudSpaceArtifactEventType(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
+ """
38
+ allowed enum values
39
+ """
40
+ CREATED = "CLOUD_SPACE_ARTIFACT_EVENT_TYPE_CREATED"
41
+ DELETED = "CLOUD_SPACE_ARTIFACT_EVENT_TYPE_DELETED"
42
+ """
43
+ Attributes:
44
+ swagger_types (dict): The key is attribute name
45
+ and the value is attribute type.
46
+ attribute_map (dict): The key is attribute name
47
+ and the value is json key in definition.
48
+ """
49
+ swagger_types = {
50
+ }
51
+
52
+ attribute_map = {
53
+ }
54
+
55
+ def __init__(self): # noqa: E501
56
+ """V1CloudSpaceArtifactEventType - a model defined in Swagger""" # noqa: E501
57
+ self.discriminator = None
58
+
59
+ def to_dict(self) -> dict:
60
+ """Returns the model properties as a dict"""
61
+ result = {}
62
+
63
+ for attr, _ in six.iteritems(self.swagger_types):
64
+ value = getattr(self, attr)
65
+ if isinstance(value, list):
66
+ result[attr] = list(map(
67
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
68
+ value
69
+ ))
70
+ elif hasattr(value, "to_dict"):
71
+ result[attr] = value.to_dict()
72
+ elif isinstance(value, dict):
73
+ result[attr] = dict(map(
74
+ lambda item: (item[0], item[1].to_dict())
75
+ if hasattr(item[1], "to_dict") else item,
76
+ value.items()
77
+ ))
78
+ else:
79
+ result[attr] = value
80
+ if issubclass(V1CloudSpaceArtifactEventType, dict):
81
+ for key, value in self.items():
82
+ result[key] = value
83
+
84
+ return result
85
+
86
+ def to_str(self) -> str:
87
+ """Returns the string representation of the model"""
88
+ return pprint.pformat(self.to_dict())
89
+
90
+ def __repr__(self) -> str:
91
+ """For `print` and `pprint`"""
92
+ return self.to_str()
93
+
94
+ def __eq__(self, other: 'V1CloudSpaceArtifactEventType') -> bool:
95
+ """Returns true if both objects are equal"""
96
+ if not isinstance(other, V1CloudSpaceArtifactEventType):
97
+ return False
98
+
99
+ return self.__dict__ == other.__dict__
100
+
101
+ def __ne__(self, other: 'V1CloudSpaceArtifactEventType') -> bool:
102
+ """Returns true if both objects are not equal"""
103
+ return not self == other
@@ -77,7 +77,10 @@ class V1ClusterAccelerator(object):
77
77
  'reservation_available_zones': 'list[str]',
78
78
  'resources': 'V1Resources',
79
79
  'slug': 'str',
80
- 'spot_price': 'float'
80
+ 'spot_price': 'float',
81
+ 'spot_quota_code': 'str',
82
+ 'spot_quota_name': 'str',
83
+ 'spot_quota_page_url': 'str'
81
84
  }
82
85
 
83
86
  attribute_map = {
@@ -117,10 +120,13 @@ class V1ClusterAccelerator(object):
117
120
  'reservation_available_zones': 'reservationAvailableZones',
118
121
  'resources': 'resources',
119
122
  'slug': 'slug',
120
- 'spot_price': 'spotPrice'
123
+ 'spot_price': 'spotPrice',
124
+ 'spot_quota_code': 'spotQuotaCode',
125
+ 'spot_quota_name': 'spotQuotaName',
126
+ 'spot_quota_page_url': 'spotQuotaPageUrl'
121
127
  }
122
128
 
123
- 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_size: 'str' =None, local_disk_supported: 'bool' =None, max_available_quota: 'str' =None, non_spot: 'bool' =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, resources: 'V1Resources' =None, slug: 'str' =None, spot_price: 'float' =None): # noqa: E501
129
+ 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_size: 'str' =None, local_disk_supported: 'bool' =None, max_available_quota: 'str' =None, non_spot: 'bool' =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, resources: 'V1Resources' =None, slug: 'str' =None, spot_price: 'float' =None, spot_quota_code: 'str' =None, spot_quota_name: 'str' =None, spot_quota_page_url: 'str' =None): # noqa: E501
124
130
  """V1ClusterAccelerator - a model defined in Swagger""" # noqa: E501
125
131
  self._accelerator_type = None
126
132
  self._allowed_resources = None
@@ -159,6 +165,9 @@ class V1ClusterAccelerator(object):
159
165
  self._resources = None
160
166
  self._slug = None
161
167
  self._spot_price = None
168
+ self._spot_quota_code = None
169
+ self._spot_quota_name = None
170
+ self._spot_quota_page_url = None
162
171
  self.discriminator = None
163
172
  if accelerator_type is not None:
164
173
  self.accelerator_type = accelerator_type
@@ -234,6 +243,12 @@ class V1ClusterAccelerator(object):
234
243
  self.slug = slug
235
244
  if spot_price is not None:
236
245
  self.spot_price = spot_price
246
+ if spot_quota_code is not None:
247
+ self.spot_quota_code = spot_quota_code
248
+ if spot_quota_name is not None:
249
+ self.spot_quota_name = spot_quota_name
250
+ if spot_quota_page_url is not None:
251
+ self.spot_quota_page_url = spot_quota_page_url
237
252
 
238
253
  @property
239
254
  def accelerator_type(self) -> 'str':
@@ -1012,6 +1027,69 @@ class V1ClusterAccelerator(object):
1012
1027
 
1013
1028
  self._spot_price = spot_price
1014
1029
 
1030
+ @property
1031
+ def spot_quota_code(self) -> 'str':
1032
+ """Gets the spot_quota_code of this V1ClusterAccelerator. # noqa: E501
1033
+
1034
+
1035
+ :return: The spot_quota_code of this V1ClusterAccelerator. # noqa: E501
1036
+ :rtype: str
1037
+ """
1038
+ return self._spot_quota_code
1039
+
1040
+ @spot_quota_code.setter
1041
+ def spot_quota_code(self, spot_quota_code: 'str'):
1042
+ """Sets the spot_quota_code of this V1ClusterAccelerator.
1043
+
1044
+
1045
+ :param spot_quota_code: The spot_quota_code of this V1ClusterAccelerator. # noqa: E501
1046
+ :type: str
1047
+ """
1048
+
1049
+ self._spot_quota_code = spot_quota_code
1050
+
1051
+ @property
1052
+ def spot_quota_name(self) -> 'str':
1053
+ """Gets the spot_quota_name of this V1ClusterAccelerator. # noqa: E501
1054
+
1055
+
1056
+ :return: The spot_quota_name of this V1ClusterAccelerator. # noqa: E501
1057
+ :rtype: str
1058
+ """
1059
+ return self._spot_quota_name
1060
+
1061
+ @spot_quota_name.setter
1062
+ def spot_quota_name(self, spot_quota_name: 'str'):
1063
+ """Sets the spot_quota_name of this V1ClusterAccelerator.
1064
+
1065
+
1066
+ :param spot_quota_name: The spot_quota_name of this V1ClusterAccelerator. # noqa: E501
1067
+ :type: str
1068
+ """
1069
+
1070
+ self._spot_quota_name = spot_quota_name
1071
+
1072
+ @property
1073
+ def spot_quota_page_url(self) -> 'str':
1074
+ """Gets the spot_quota_page_url of this V1ClusterAccelerator. # noqa: E501
1075
+
1076
+
1077
+ :return: The spot_quota_page_url of this V1ClusterAccelerator. # noqa: E501
1078
+ :rtype: str
1079
+ """
1080
+ return self._spot_quota_page_url
1081
+
1082
+ @spot_quota_page_url.setter
1083
+ def spot_quota_page_url(self, spot_quota_page_url: 'str'):
1084
+ """Sets the spot_quota_page_url of this V1ClusterAccelerator.
1085
+
1086
+
1087
+ :param spot_quota_page_url: The spot_quota_page_url of this V1ClusterAccelerator. # noqa: E501
1088
+ :type: str
1089
+ """
1090
+
1091
+ self._spot_quota_page_url = spot_quota_page_url
1092
+
1015
1093
  def to_dict(self) -> dict:
1016
1094
  """Returns the model properties as a dict"""
1017
1095
  result = {}
@@ -51,6 +51,7 @@ class V1ClusterSpec(object):
51
51
  'google_cloud_v1': 'V1GoogleCloudDirectV1',
52
52
  'insurer_disabled': 'bool',
53
53
  'lambda_labs_v1': 'V1LambdaLabsDirectV1',
54
+ 'monitor_deletion_disabled': 'bool',
54
55
  'overprovisioning': 'list[V1InstanceOverprovisioningSpec]',
55
56
  'pause_automation': 'bool',
56
57
  'security_options': 'V1ClusterSecurityOptions',
@@ -71,6 +72,7 @@ class V1ClusterSpec(object):
71
72
  'google_cloud_v1': 'googleCloudV1',
72
73
  'insurer_disabled': 'insurerDisabled',
73
74
  'lambda_labs_v1': 'lambdaLabsV1',
75
+ 'monitor_deletion_disabled': 'monitorDeletionDisabled',
74
76
  'overprovisioning': 'overprovisioning',
75
77
  'pause_automation': 'pauseAutomation',
76
78
  'security_options': 'securityOptions',
@@ -80,7 +82,7 @@ class V1ClusterSpec(object):
80
82
  'vultr_v1': 'vultrV1'
81
83
  }
82
84
 
83
- def __init__(self, auth_token: 'str' =None, aws_v1: 'V1AWSDirectV1' =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, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, pause_automation: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
85
+ def __init__(self, auth_token: 'str' =None, aws_v1: 'V1AWSDirectV1' =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, monitor_deletion_disabled: 'bool' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, pause_automation: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
84
86
  """V1ClusterSpec - a model defined in Swagger""" # noqa: E501
85
87
  self._auth_token = None
86
88
  self._aws_v1 = None
@@ -92,6 +94,7 @@ class V1ClusterSpec(object):
92
94
  self._google_cloud_v1 = None
93
95
  self._insurer_disabled = None
94
96
  self._lambda_labs_v1 = None
97
+ self._monitor_deletion_disabled = None
95
98
  self._overprovisioning = None
96
99
  self._pause_automation = None
97
100
  self._security_options = None
@@ -120,6 +123,8 @@ class V1ClusterSpec(object):
120
123
  self.insurer_disabled = insurer_disabled
121
124
  if lambda_labs_v1 is not None:
122
125
  self.lambda_labs_v1 = lambda_labs_v1
126
+ if monitor_deletion_disabled is not None:
127
+ self.monitor_deletion_disabled = monitor_deletion_disabled
123
128
  if overprovisioning is not None:
124
129
  self.overprovisioning = overprovisioning
125
130
  if pause_automation is not None:
@@ -347,6 +352,27 @@ class V1ClusterSpec(object):
347
352
 
348
353
  self._lambda_labs_v1 = lambda_labs_v1
349
354
 
355
+ @property
356
+ def monitor_deletion_disabled(self) -> 'bool':
357
+ """Gets the monitor_deletion_disabled of this V1ClusterSpec. # noqa: E501
358
+
359
+
360
+ :return: The monitor_deletion_disabled of this V1ClusterSpec. # noqa: E501
361
+ :rtype: bool
362
+ """
363
+ return self._monitor_deletion_disabled
364
+
365
+ @monitor_deletion_disabled.setter
366
+ def monitor_deletion_disabled(self, monitor_deletion_disabled: 'bool'):
367
+ """Sets the monitor_deletion_disabled of this V1ClusterSpec.
368
+
369
+
370
+ :param monitor_deletion_disabled: The monitor_deletion_disabled of this V1ClusterSpec. # noqa: E501
371
+ :type: bool
372
+ """
373
+
374
+ self._monitor_deletion_disabled = monitor_deletion_disabled
375
+
350
376
  @property
351
377
  def overprovisioning(self) -> 'list[V1InstanceOverprovisioningSpec]':
352
378
  """Gets the overprovisioning of this V1ClusterSpec. # noqa: E501
@@ -43,20 +43,23 @@ class V1ClusterTaggingOptions(object):
43
43
  swagger_types = {
44
44
  'custom_tags': 'list[V1ClusterResourceTag]',
45
45
  'tag_instances_with_teamspace_name': 'bool',
46
- 'tag_instances_with_username': 'bool'
46
+ 'tag_instances_with_username': 'bool',
47
+ 'tag_instances_with_workload_name': 'bool'
47
48
  }
48
49
 
49
50
  attribute_map = {
50
51
  'custom_tags': 'customTags',
51
52
  'tag_instances_with_teamspace_name': 'tagInstancesWithTeamspaceName',
52
- 'tag_instances_with_username': 'tagInstancesWithUsername'
53
+ 'tag_instances_with_username': 'tagInstancesWithUsername',
54
+ 'tag_instances_with_workload_name': 'tagInstancesWithWorkloadName'
53
55
  }
54
56
 
55
- def __init__(self, custom_tags: 'list[V1ClusterResourceTag]' =None, tag_instances_with_teamspace_name: 'bool' =None, tag_instances_with_username: 'bool' =None): # noqa: E501
57
+ def __init__(self, custom_tags: 'list[V1ClusterResourceTag]' =None, tag_instances_with_teamspace_name: 'bool' =None, tag_instances_with_username: 'bool' =None, tag_instances_with_workload_name: 'bool' =None): # noqa: E501
56
58
  """V1ClusterTaggingOptions - a model defined in Swagger""" # noqa: E501
57
59
  self._custom_tags = None
58
60
  self._tag_instances_with_teamspace_name = None
59
61
  self._tag_instances_with_username = None
62
+ self._tag_instances_with_workload_name = None
60
63
  self.discriminator = None
61
64
  if custom_tags is not None:
62
65
  self.custom_tags = custom_tags
@@ -64,6 +67,8 @@ class V1ClusterTaggingOptions(object):
64
67
  self.tag_instances_with_teamspace_name = tag_instances_with_teamspace_name
65
68
  if tag_instances_with_username is not None:
66
69
  self.tag_instances_with_username = tag_instances_with_username
70
+ if tag_instances_with_workload_name is not None:
71
+ self.tag_instances_with_workload_name = tag_instances_with_workload_name
67
72
 
68
73
  @property
69
74
  def custom_tags(self) -> 'list[V1ClusterResourceTag]':
@@ -128,6 +133,27 @@ class V1ClusterTaggingOptions(object):
128
133
 
129
134
  self._tag_instances_with_username = tag_instances_with_username
130
135
 
136
+ @property
137
+ def tag_instances_with_workload_name(self) -> 'bool':
138
+ """Gets the tag_instances_with_workload_name of this V1ClusterTaggingOptions. # noqa: E501
139
+
140
+
141
+ :return: The tag_instances_with_workload_name of this V1ClusterTaggingOptions. # noqa: E501
142
+ :rtype: bool
143
+ """
144
+ return self._tag_instances_with_workload_name
145
+
146
+ @tag_instances_with_workload_name.setter
147
+ def tag_instances_with_workload_name(self, tag_instances_with_workload_name: 'bool'):
148
+ """Sets the tag_instances_with_workload_name of this V1ClusterTaggingOptions.
149
+
150
+
151
+ :param tag_instances_with_workload_name: The tag_instances_with_workload_name of this V1ClusterTaggingOptions. # noqa: E501
152
+ :type: bool
153
+ """
154
+
155
+ self._tag_instances_with_workload_name = tag_instances_with_workload_name
156
+
131
157
  def to_dict(self) -> dict:
132
158
  """Returns the model properties as a dict"""
133
159
  result = {}