lightning-sdk 0.1.37__py3-none-any.whl → 0.1.39__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 (72) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/ai_hub.py +21 -23
  3. lightning_sdk/api/ai_hub_api.py +29 -4
  4. lightning_sdk/api/deployment_api.py +0 -2
  5. lightning_sdk/api/job_api.py +10 -2
  6. lightning_sdk/api/teamspace_api.py +22 -16
  7. lightning_sdk/api/utils.py +25 -3
  8. lightning_sdk/cli/ai_hub.py +1 -1
  9. lightning_sdk/cli/download.py +3 -5
  10. lightning_sdk/cli/run.py +24 -0
  11. lightning_sdk/cli/upload.py +3 -10
  12. lightning_sdk/job/base.py +35 -0
  13. lightning_sdk/job/job.py +18 -1
  14. lightning_sdk/job/v1.py +10 -1
  15. lightning_sdk/job/v2.py +16 -0
  16. lightning_sdk/lightning_cloud/openapi/__init__.py +13 -2
  17. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +5 -1
  18. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +6 -1
  19. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +680 -62
  20. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +118 -1
  21. lightning_sdk/lightning_cloud/openapi/models/__init__.py +13 -2
  22. lightning_sdk/lightning_cloud/openapi/models/create.py +6 -32
  23. lightning_sdk/lightning_cloud/openapi/models/deploymenttemplates_id_body.py +32 -6
  24. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  25. lightning_sdk/lightning_cloud/openapi/models/id_start_body.py +29 -3
  26. lightning_sdk/lightning_cloud/openapi/models/multimachinejobs_id_body.py +123 -0
  27. lightning_sdk/lightning_cloud/openapi/models/project_id_agents_body.py +53 -1
  28. lightning_sdk/lightning_cloud/openapi/models/project_id_cloudspaces_body.py +53 -1
  29. lightning_sdk/lightning_cloud/openapi/models/project_id_multimachinejobs_body.py +201 -0
  30. lightning_sdk/lightning_cloud/openapi/models/update.py +6 -32
  31. lightning_sdk/lightning_cloud/openapi/models/v1_api_pricing_spec.py +149 -0
  32. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
  33. lightning_sdk/lightning_cloud/openapi/models/v1_create_deployment_template_request.py +32 -6
  34. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +6 -32
  35. lightning_sdk/lightning_cloud/openapi/models/v1_data_path.py +29 -3
  36. lightning_sdk/lightning_cloud/openapi/models/v1_delete_multi_machine_job_response.py +97 -0
  37. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_metrics.py +43 -17
  38. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_performance.py +305 -0
  39. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template.py +32 -6
  40. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_parameter.py +27 -1
  41. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_parameter_type.py +1 -0
  42. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_summary.py +27 -1
  43. lightning_sdk/lightning_cloud/openapi/models/{v1_efs_data_connection.py → v1_efs_config.py} +22 -22
  44. lightning_sdk/lightning_cloud/openapi/models/v1_get_model_files_response.py +27 -1
  45. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +53 -1
  46. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +53 -53
  47. lightning_sdk/lightning_cloud/openapi/models/v1_lambda_labs_direct_v1.py +125 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_list_multi_machine_jobs_response.py +123 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_machines_selector.py +149 -0
  50. lightning_sdk/lightning_cloud/openapi/models/v1_message.py +6 -6
  51. lightning_sdk/lightning_cloud/openapi/models/v1_message_content.py +6 -6
  52. lightning_sdk/lightning_cloud/openapi/models/v1_message_content_type.py +103 -0
  53. lightning_sdk/lightning_cloud/openapi/models/v1_metrics_stream.py +53 -1
  54. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job.py +409 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job_state.py +106 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job_status.py +279 -0
  57. lightning_sdk/lightning_cloud/openapi/models/v1_rule_resource.py +2 -0
  58. lightning_sdk/lightning_cloud/openapi/models/v1_system_info.py +27 -1
  59. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +53 -1
  60. lightning_sdk/lightning_cloud/openapi/models/v1_user_requested_compute_config.py +27 -1
  61. lightning_sdk/lightning_cloud/openapi/models/v1_validate_data_connection_response.py +6 -32
  62. lightning_sdk/lightning_cloud/openapi/models/validate.py +6 -32
  63. lightning_sdk/models.py +132 -0
  64. lightning_sdk/teamspace.py +8 -2
  65. {lightning_sdk-0.1.37.dist-info → lightning_sdk-0.1.39.dist-info}/METADATA +1 -1
  66. {lightning_sdk-0.1.37.dist-info → lightning_sdk-0.1.39.dist-info}/RECORD +70 -59
  67. lightning_sdk/cli/models.py +0 -68
  68. lightning_sdk/lightning_cloud/openapi/models/v1_efs_folder_data_connection.py +0 -201
  69. {lightning_sdk-0.1.37.dist-info → lightning_sdk-0.1.39.dist-info}/LICENSE +0 -0
  70. {lightning_sdk-0.1.37.dist-info → lightning_sdk-0.1.39.dist-info}/WHEEL +0 -0
  71. {lightning_sdk-0.1.37.dist-info → lightning_sdk-0.1.39.dist-info}/entry_points.txt +0 -0
  72. {lightning_sdk-0.1.37.dist-info → lightning_sdk-0.1.39.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,123 @@
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 MultimachinejobsIdBody(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
+ 'desired_state': 'V1MultiMachineJobState'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'desired_state': 'desiredState'
49
+ }
50
+
51
+ def __init__(self, desired_state: 'V1MultiMachineJobState' =None): # noqa: E501
52
+ """MultimachinejobsIdBody - a model defined in Swagger""" # noqa: E501
53
+ self._desired_state = None
54
+ self.discriminator = None
55
+ if desired_state is not None:
56
+ self.desired_state = desired_state
57
+
58
+ @property
59
+ def desired_state(self) -> 'V1MultiMachineJobState':
60
+ """Gets the desired_state of this MultimachinejobsIdBody. # noqa: E501
61
+
62
+
63
+ :return: The desired_state of this MultimachinejobsIdBody. # noqa: E501
64
+ :rtype: V1MultiMachineJobState
65
+ """
66
+ return self._desired_state
67
+
68
+ @desired_state.setter
69
+ def desired_state(self, desired_state: 'V1MultiMachineJobState'):
70
+ """Sets the desired_state of this MultimachinejobsIdBody.
71
+
72
+
73
+ :param desired_state: The desired_state of this MultimachinejobsIdBody. # noqa: E501
74
+ :type: V1MultiMachineJobState
75
+ """
76
+
77
+ self._desired_state = desired_state
78
+
79
+ def to_dict(self) -> dict:
80
+ """Returns the model properties as a dict"""
81
+ result = {}
82
+
83
+ for attr, _ in six.iteritems(self.swagger_types):
84
+ value = getattr(self, attr)
85
+ if isinstance(value, list):
86
+ result[attr] = list(map(
87
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
88
+ value
89
+ ))
90
+ elif hasattr(value, "to_dict"):
91
+ result[attr] = value.to_dict()
92
+ elif isinstance(value, dict):
93
+ result[attr] = dict(map(
94
+ lambda item: (item[0], item[1].to_dict())
95
+ if hasattr(item[1], "to_dict") else item,
96
+ value.items()
97
+ ))
98
+ else:
99
+ result[attr] = value
100
+ if issubclass(MultimachinejobsIdBody, dict):
101
+ for key, value in self.items():
102
+ result[key] = value
103
+
104
+ return result
105
+
106
+ def to_str(self) -> str:
107
+ """Returns the string representation of the model"""
108
+ return pprint.pformat(self.to_dict())
109
+
110
+ def __repr__(self) -> str:
111
+ """For `print` and `pprint`"""
112
+ return self.to_str()
113
+
114
+ def __eq__(self, other: 'MultimachinejobsIdBody') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, MultimachinejobsIdBody):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'MultimachinejobsIdBody') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -50,10 +50,12 @@ class ProjectIdAgentsBody(object):
50
50
  'knowledge': 'str',
51
51
  'knowledge_configuration': 'V1KnowledgeConfiguration',
52
52
  'model': 'str',
53
+ 'model_provider': 'str',
53
54
  'name': 'str',
54
55
  'org_id': 'str',
55
56
  'prompt_suggestions': 'list[V1PromptSuggestion]',
56
57
  'prompt_template': 'str',
58
+ 'publish_status': 'str',
57
59
  'thumbnail_url': 'str'
58
60
  }
59
61
 
@@ -67,14 +69,16 @@ class ProjectIdAgentsBody(object):
67
69
  'knowledge': 'knowledge',
68
70
  'knowledge_configuration': 'knowledgeConfiguration',
69
71
  'model': 'model',
72
+ 'model_provider': 'modelProvider',
70
73
  'name': 'name',
71
74
  'org_id': 'orgId',
72
75
  'prompt_suggestions': 'promptSuggestions',
73
76
  'prompt_template': 'promptTemplate',
77
+ 'publish_status': 'publishStatus',
74
78
  'thumbnail_url': 'thumbnailUrl'
75
79
  }
76
80
 
77
- def __init__(self, cloudspace_id: 'str' =None, cluster_id: 'str' =None, description: 'str' =None, endpoint: 'V1Endpoint' =None, file_uploads_enabled: 'bool' =None, internal_assistant_name: 'str' =None, knowledge: 'str' =None, knowledge_configuration: 'V1KnowledgeConfiguration' =None, model: 'str' =None, name: 'str' =None, org_id: 'str' =None, prompt_suggestions: 'list[V1PromptSuggestion]' =None, prompt_template: 'str' =None, thumbnail_url: 'str' =None): # noqa: E501
81
+ def __init__(self, cloudspace_id: 'str' =None, cluster_id: 'str' =None, description: 'str' =None, endpoint: 'V1Endpoint' =None, file_uploads_enabled: 'bool' =None, internal_assistant_name: 'str' =None, knowledge: 'str' =None, knowledge_configuration: 'V1KnowledgeConfiguration' =None, model: 'str' =None, model_provider: 'str' =None, name: 'str' =None, org_id: 'str' =None, prompt_suggestions: 'list[V1PromptSuggestion]' =None, prompt_template: 'str' =None, publish_status: 'str' =None, thumbnail_url: 'str' =None): # noqa: E501
78
82
  """ProjectIdAgentsBody - a model defined in Swagger""" # noqa: E501
79
83
  self._cloudspace_id = None
80
84
  self._cluster_id = None
@@ -85,10 +89,12 @@ class ProjectIdAgentsBody(object):
85
89
  self._knowledge = None
86
90
  self._knowledge_configuration = None
87
91
  self._model = None
92
+ self._model_provider = None
88
93
  self._name = None
89
94
  self._org_id = None
90
95
  self._prompt_suggestions = None
91
96
  self._prompt_template = None
97
+ self._publish_status = None
92
98
  self._thumbnail_url = None
93
99
  self.discriminator = None
94
100
  if cloudspace_id is not None:
@@ -109,6 +115,8 @@ class ProjectIdAgentsBody(object):
109
115
  self.knowledge_configuration = knowledge_configuration
110
116
  if model is not None:
111
117
  self.model = model
118
+ if model_provider is not None:
119
+ self.model_provider = model_provider
112
120
  if name is not None:
113
121
  self.name = name
114
122
  if org_id is not None:
@@ -117,6 +125,8 @@ class ProjectIdAgentsBody(object):
117
125
  self.prompt_suggestions = prompt_suggestions
118
126
  if prompt_template is not None:
119
127
  self.prompt_template = prompt_template
128
+ if publish_status is not None:
129
+ self.publish_status = publish_status
120
130
  if thumbnail_url is not None:
121
131
  self.thumbnail_url = thumbnail_url
122
132
 
@@ -309,6 +319,27 @@ class ProjectIdAgentsBody(object):
309
319
 
310
320
  self._model = model
311
321
 
322
+ @property
323
+ def model_provider(self) -> 'str':
324
+ """Gets the model_provider of this ProjectIdAgentsBody. # noqa: E501
325
+
326
+
327
+ :return: The model_provider of this ProjectIdAgentsBody. # noqa: E501
328
+ :rtype: str
329
+ """
330
+ return self._model_provider
331
+
332
+ @model_provider.setter
333
+ def model_provider(self, model_provider: 'str'):
334
+ """Sets the model_provider of this ProjectIdAgentsBody.
335
+
336
+
337
+ :param model_provider: The model_provider of this ProjectIdAgentsBody. # noqa: E501
338
+ :type: str
339
+ """
340
+
341
+ self._model_provider = model_provider
342
+
312
343
  @property
313
344
  def name(self) -> 'str':
314
345
  """Gets the name of this ProjectIdAgentsBody. # noqa: E501
@@ -393,6 +424,27 @@ class ProjectIdAgentsBody(object):
393
424
 
394
425
  self._prompt_template = prompt_template
395
426
 
427
+ @property
428
+ def publish_status(self) -> 'str':
429
+ """Gets the publish_status of this ProjectIdAgentsBody. # noqa: E501
430
+
431
+
432
+ :return: The publish_status of this ProjectIdAgentsBody. # noqa: E501
433
+ :rtype: str
434
+ """
435
+ return self._publish_status
436
+
437
+ @publish_status.setter
438
+ def publish_status(self, publish_status: 'str'):
439
+ """Sets the publish_status of this ProjectIdAgentsBody.
440
+
441
+
442
+ :param publish_status: The publish_status of this ProjectIdAgentsBody. # noqa: E501
443
+ :type: str
444
+ """
445
+
446
+ self._publish_status = publish_status
447
+
396
448
  @property
397
449
  def thumbnail_url(self) -> 'str':
398
450
  """Gets the thumbnail_url of this ProjectIdAgentsBody. # noqa: E501
@@ -50,6 +50,8 @@ class ProjectIdCloudspacesBody(object):
50
50
  'disk_size': 'str',
51
51
  'display_name': 'str',
52
52
  'name': 'str',
53
+ 'plugins': 'list[str]',
54
+ 'requested_run_duration_seconds': 'str',
53
55
  'seed_files': 'list[V1CloudSpaceSeedFile]',
54
56
  'spot': 'bool'
55
57
  }
@@ -64,11 +66,13 @@ class ProjectIdCloudspacesBody(object):
64
66
  'disk_size': 'diskSize',
65
67
  'display_name': 'displayName',
66
68
  'name': 'name',
69
+ 'plugins': 'plugins',
70
+ 'requested_run_duration_seconds': 'requestedRunDurationSeconds',
67
71
  'seed_files': 'seedFiles',
68
72
  'spot': 'spot'
69
73
  }
70
74
 
71
- def __init__(self, can_download_source_code: 'bool' =None, cloud_space_instance_cpu_image_override: 'str' =None, cloud_space_instance_gpu_image_override: 'str' =None, cluster_id: 'str' =None, compute_name: 'str' =None, data_connection_mounts: 'list[V1DataConnectionMount]' =None, disk_size: 'str' =None, display_name: 'str' =None, name: 'str' =None, seed_files: 'list[V1CloudSpaceSeedFile]' =None, spot: 'bool' =None): # noqa: E501
75
+ def __init__(self, can_download_source_code: 'bool' =None, cloud_space_instance_cpu_image_override: 'str' =None, cloud_space_instance_gpu_image_override: 'str' =None, cluster_id: 'str' =None, compute_name: 'str' =None, data_connection_mounts: 'list[V1DataConnectionMount]' =None, disk_size: 'str' =None, display_name: 'str' =None, name: 'str' =None, plugins: 'list[str]' =None, requested_run_duration_seconds: 'str' =None, seed_files: 'list[V1CloudSpaceSeedFile]' =None, spot: 'bool' =None): # noqa: E501
72
76
  """ProjectIdCloudspacesBody - a model defined in Swagger""" # noqa: E501
73
77
  self._can_download_source_code = None
74
78
  self._cloud_space_instance_cpu_image_override = None
@@ -79,6 +83,8 @@ class ProjectIdCloudspacesBody(object):
79
83
  self._disk_size = None
80
84
  self._display_name = None
81
85
  self._name = None
86
+ self._plugins = None
87
+ self._requested_run_duration_seconds = None
82
88
  self._seed_files = None
83
89
  self._spot = None
84
90
  self.discriminator = None
@@ -100,6 +106,10 @@ class ProjectIdCloudspacesBody(object):
100
106
  self.display_name = display_name
101
107
  if name is not None:
102
108
  self.name = name
109
+ if plugins is not None:
110
+ self.plugins = plugins
111
+ if requested_run_duration_seconds is not None:
112
+ self.requested_run_duration_seconds = requested_run_duration_seconds
103
113
  if seed_files is not None:
104
114
  self.seed_files = seed_files
105
115
  if spot is not None:
@@ -294,6 +304,48 @@ class ProjectIdCloudspacesBody(object):
294
304
 
295
305
  self._name = name
296
306
 
307
+ @property
308
+ def plugins(self) -> 'list[str]':
309
+ """Gets the plugins of this ProjectIdCloudspacesBody. # noqa: E501
310
+
311
+
312
+ :return: The plugins of this ProjectIdCloudspacesBody. # noqa: E501
313
+ :rtype: list[str]
314
+ """
315
+ return self._plugins
316
+
317
+ @plugins.setter
318
+ def plugins(self, plugins: 'list[str]'):
319
+ """Sets the plugins of this ProjectIdCloudspacesBody.
320
+
321
+
322
+ :param plugins: The plugins of this ProjectIdCloudspacesBody. # noqa: E501
323
+ :type: list[str]
324
+ """
325
+
326
+ self._plugins = plugins
327
+
328
+ @property
329
+ def requested_run_duration_seconds(self) -> 'str':
330
+ """Gets the requested_run_duration_seconds of this ProjectIdCloudspacesBody. # noqa: E501
331
+
332
+
333
+ :return: The requested_run_duration_seconds of this ProjectIdCloudspacesBody. # noqa: E501
334
+ :rtype: str
335
+ """
336
+ return self._requested_run_duration_seconds
337
+
338
+ @requested_run_duration_seconds.setter
339
+ def requested_run_duration_seconds(self, requested_run_duration_seconds: 'str'):
340
+ """Sets the requested_run_duration_seconds of this ProjectIdCloudspacesBody.
341
+
342
+
343
+ :param requested_run_duration_seconds: The requested_run_duration_seconds of this ProjectIdCloudspacesBody. # noqa: E501
344
+ :type: str
345
+ """
346
+
347
+ self._requested_run_duration_seconds = requested_run_duration_seconds
348
+
297
349
  @property
298
350
  def seed_files(self) -> 'list[V1CloudSpaceSeedFile]':
299
351
  """Gets the seed_files of this ProjectIdCloudspacesBody. # noqa: E501
@@ -0,0 +1,201 @@
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 ProjectIdMultimachinejobsBody(object):
32
+ """NOTE: This class is auto generated by the swagger code generator program.
33
+
34
+ Do not edit the class manually.
35
+ """
36
+ """
37
+ Attributes:
38
+ swagger_types (dict): The key is attribute name
39
+ and the value is attribute type.
40
+ attribute_map (dict): The key is attribute name
41
+ and the value is json key in definition.
42
+ """
43
+ swagger_types = {
44
+ 'cluster_id': 'str',
45
+ 'machines': 'int',
46
+ 'name': 'str',
47
+ 'spec': 'V1JobSpec'
48
+ }
49
+
50
+ attribute_map = {
51
+ 'cluster_id': 'clusterId',
52
+ 'machines': 'machines',
53
+ 'name': 'name',
54
+ 'spec': 'spec'
55
+ }
56
+
57
+ def __init__(self, cluster_id: 'str' =None, machines: 'int' =None, name: 'str' =None, spec: 'V1JobSpec' =None): # noqa: E501
58
+ """ProjectIdMultimachinejobsBody - a model defined in Swagger""" # noqa: E501
59
+ self._cluster_id = None
60
+ self._machines = None
61
+ self._name = None
62
+ self._spec = None
63
+ self.discriminator = None
64
+ if cluster_id is not None:
65
+ self.cluster_id = cluster_id
66
+ if machines is not None:
67
+ self.machines = machines
68
+ if name is not None:
69
+ self.name = name
70
+ if spec is not None:
71
+ self.spec = spec
72
+
73
+ @property
74
+ def cluster_id(self) -> 'str':
75
+ """Gets the cluster_id of this ProjectIdMultimachinejobsBody. # noqa: E501
76
+
77
+
78
+ :return: The cluster_id of this ProjectIdMultimachinejobsBody. # noqa: E501
79
+ :rtype: str
80
+ """
81
+ return self._cluster_id
82
+
83
+ @cluster_id.setter
84
+ def cluster_id(self, cluster_id: 'str'):
85
+ """Sets the cluster_id of this ProjectIdMultimachinejobsBody.
86
+
87
+
88
+ :param cluster_id: The cluster_id of this ProjectIdMultimachinejobsBody. # noqa: E501
89
+ :type: str
90
+ """
91
+
92
+ self._cluster_id = cluster_id
93
+
94
+ @property
95
+ def machines(self) -> 'int':
96
+ """Gets the machines of this ProjectIdMultimachinejobsBody. # noqa: E501
97
+
98
+
99
+ :return: The machines of this ProjectIdMultimachinejobsBody. # noqa: E501
100
+ :rtype: int
101
+ """
102
+ return self._machines
103
+
104
+ @machines.setter
105
+ def machines(self, machines: 'int'):
106
+ """Sets the machines of this ProjectIdMultimachinejobsBody.
107
+
108
+
109
+ :param machines: The machines of this ProjectIdMultimachinejobsBody. # noqa: E501
110
+ :type: int
111
+ """
112
+
113
+ self._machines = machines
114
+
115
+ @property
116
+ def name(self) -> 'str':
117
+ """Gets the name of this ProjectIdMultimachinejobsBody. # noqa: E501
118
+
119
+
120
+ :return: The name of this ProjectIdMultimachinejobsBody. # noqa: E501
121
+ :rtype: str
122
+ """
123
+ return self._name
124
+
125
+ @name.setter
126
+ def name(self, name: 'str'):
127
+ """Sets the name of this ProjectIdMultimachinejobsBody.
128
+
129
+
130
+ :param name: The name of this ProjectIdMultimachinejobsBody. # noqa: E501
131
+ :type: str
132
+ """
133
+
134
+ self._name = name
135
+
136
+ @property
137
+ def spec(self) -> 'V1JobSpec':
138
+ """Gets the spec of this ProjectIdMultimachinejobsBody. # noqa: E501
139
+
140
+
141
+ :return: The spec of this ProjectIdMultimachinejobsBody. # noqa: E501
142
+ :rtype: V1JobSpec
143
+ """
144
+ return self._spec
145
+
146
+ @spec.setter
147
+ def spec(self, spec: 'V1JobSpec'):
148
+ """Sets the spec of this ProjectIdMultimachinejobsBody.
149
+
150
+
151
+ :param spec: The spec of this ProjectIdMultimachinejobsBody. # noqa: E501
152
+ :type: V1JobSpec
153
+ """
154
+
155
+ self._spec = spec
156
+
157
+ def to_dict(self) -> dict:
158
+ """Returns the model properties as a dict"""
159
+ result = {}
160
+
161
+ for attr, _ in six.iteritems(self.swagger_types):
162
+ value = getattr(self, attr)
163
+ if isinstance(value, list):
164
+ result[attr] = list(map(
165
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
166
+ value
167
+ ))
168
+ elif hasattr(value, "to_dict"):
169
+ result[attr] = value.to_dict()
170
+ elif isinstance(value, dict):
171
+ result[attr] = dict(map(
172
+ lambda item: (item[0], item[1].to_dict())
173
+ if hasattr(item[1], "to_dict") else item,
174
+ value.items()
175
+ ))
176
+ else:
177
+ result[attr] = value
178
+ if issubclass(ProjectIdMultimachinejobsBody, dict):
179
+ for key, value in self.items():
180
+ result[key] = value
181
+
182
+ return result
183
+
184
+ def to_str(self) -> str:
185
+ """Returns the string representation of the model"""
186
+ return pprint.pformat(self.to_dict())
187
+
188
+ def __repr__(self) -> str:
189
+ """For `print` and `pprint`"""
190
+ return self.to_str()
191
+
192
+ def __eq__(self, other: 'ProjectIdMultimachinejobsBody') -> bool:
193
+ """Returns true if both objects are equal"""
194
+ if not isinstance(other, ProjectIdMultimachinejobsBody):
195
+ return False
196
+
197
+ return self.__dict__ == other.__dict__
198
+
199
+ def __ne__(self, other: 'ProjectIdMultimachinejobsBody') -> bool:
200
+ """Returns true if both objects are not equal"""
201
+ return not self == other
@@ -42,8 +42,7 @@ class Update(object):
42
42
  """
43
43
  swagger_types = {
44
44
  'aws': 'V1AwsDataConnection',
45
- 'efs': 'V1EfsDataConnection',
46
- 'efs_folder': 'V1EFSFolderDataConnection',
45
+ 'efs': 'V1EfsConfig',
47
46
  'gcp': 'V1GcpDataConnection',
48
47
  'gcs_folder': 'V1GCSFolderDataConnection',
49
48
  'name': 'str',
@@ -56,7 +55,6 @@ class Update(object):
56
55
  attribute_map = {
57
56
  'aws': 'aws',
58
57
  'efs': 'efs',
59
- 'efs_folder': 'efsFolder',
60
58
  'gcp': 'gcp',
61
59
  'gcs_folder': 'gcsFolder',
62
60
  'name': 'name',
@@ -66,11 +64,10 @@ class Update(object):
66
64
  'writable': 'writable'
67
65
  }
68
66
 
69
- def __init__(self, aws: 'V1AwsDataConnection' =None, efs: 'V1EfsDataConnection' =None, efs_folder: 'V1EFSFolderDataConnection' =None, gcp: 'V1GcpDataConnection' =None, gcs_folder: 'V1GCSFolderDataConnection' =None, name: 'str' =None, run_cmds: 'list[str]' =None, s3_folder: 'V1S3FolderDataConnection' =None, snowflake: 'V1SnowflakeDataConnection' =None, writable: 'bool' =None): # noqa: E501
67
+ def __init__(self, aws: 'V1AwsDataConnection' =None, efs: 'V1EfsConfig' =None, gcp: 'V1GcpDataConnection' =None, gcs_folder: 'V1GCSFolderDataConnection' =None, name: 'str' =None, run_cmds: 'list[str]' =None, s3_folder: 'V1S3FolderDataConnection' =None, snowflake: 'V1SnowflakeDataConnection' =None, writable: 'bool' =None): # noqa: E501
70
68
  """Update - a model defined in Swagger""" # noqa: E501
71
69
  self._aws = None
72
70
  self._efs = None
73
- self._efs_folder = None
74
71
  self._gcp = None
75
72
  self._gcs_folder = None
76
73
  self._name = None
@@ -83,8 +80,6 @@ class Update(object):
83
80
  self.aws = aws
84
81
  if efs is not None:
85
82
  self.efs = efs
86
- if efs_folder is not None:
87
- self.efs_folder = efs_folder
88
83
  if gcp is not None:
89
84
  self.gcp = gcp
90
85
  if gcs_folder is not None:
@@ -122,47 +117,26 @@ class Update(object):
122
117
  self._aws = aws
123
118
 
124
119
  @property
125
- def efs(self) -> 'V1EfsDataConnection':
120
+ def efs(self) -> 'V1EfsConfig':
126
121
  """Gets the efs of this Update. # noqa: E501
127
122
 
128
123
 
129
124
  :return: The efs of this Update. # noqa: E501
130
- :rtype: V1EfsDataConnection
125
+ :rtype: V1EfsConfig
131
126
  """
132
127
  return self._efs
133
128
 
134
129
  @efs.setter
135
- def efs(self, efs: 'V1EfsDataConnection'):
130
+ def efs(self, efs: 'V1EfsConfig'):
136
131
  """Sets the efs of this Update.
137
132
 
138
133
 
139
134
  :param efs: The efs of this Update. # noqa: E501
140
- :type: V1EfsDataConnection
135
+ :type: V1EfsConfig
141
136
  """
142
137
 
143
138
  self._efs = efs
144
139
 
145
- @property
146
- def efs_folder(self) -> 'V1EFSFolderDataConnection':
147
- """Gets the efs_folder of this Update. # noqa: E501
148
-
149
-
150
- :return: The efs_folder of this Update. # noqa: E501
151
- :rtype: V1EFSFolderDataConnection
152
- """
153
- return self._efs_folder
154
-
155
- @efs_folder.setter
156
- def efs_folder(self, efs_folder: 'V1EFSFolderDataConnection'):
157
- """Sets the efs_folder of this Update.
158
-
159
-
160
- :param efs_folder: The efs_folder of this Update. # noqa: E501
161
- :type: V1EFSFolderDataConnection
162
- """
163
-
164
- self._efs_folder = efs_folder
165
-
166
140
  @property
167
141
  def gcp(self) -> 'V1GcpDataConnection':
168
142
  """Gets the gcp of this Update. # noqa: E501