lightning-sdk 0.1.36__py3-none-any.whl → 0.1.38__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 (71) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/ai_hub.py +38 -31
  3. lightning_sdk/api/ai_hub_api.py +29 -4
  4. lightning_sdk/api/job_api.py +6 -2
  5. lightning_sdk/api/teamspace_api.py +18 -14
  6. lightning_sdk/api/utils.py +19 -0
  7. lightning_sdk/cli/ai_hub.py +1 -1
  8. lightning_sdk/cli/entrypoint.py +2 -2
  9. lightning_sdk/cli/models.py +45 -15
  10. lightning_sdk/cli/run.py +80 -0
  11. lightning_sdk/job/base.py +61 -20
  12. lightning_sdk/job/job.py +29 -11
  13. lightning_sdk/job/v1.py +14 -10
  14. lightning_sdk/job/v2.py +10 -6
  15. lightning_sdk/lightning_cloud/openapi/__init__.py +13 -2
  16. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +5 -1
  17. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +680 -62
  18. lightning_sdk/lightning_cloud/openapi/models/__init__.py +13 -2
  19. lightning_sdk/lightning_cloud/openapi/models/create.py +6 -32
  20. lightning_sdk/lightning_cloud/openapi/models/create_deployment_request_defines_a_spec_for_the_job_that_allows_for_autoscaling_jobs.py +27 -1
  21. lightning_sdk/lightning_cloud/openapi/models/deployments_id_body.py +27 -1
  22. lightning_sdk/lightning_cloud/openapi/models/deploymenttemplates_id_body.py +32 -6
  23. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  24. lightning_sdk/lightning_cloud/openapi/models/multimachinejobs_id_body.py +123 -0
  25. lightning_sdk/lightning_cloud/openapi/models/project_id_agents_body.py +53 -1
  26. lightning_sdk/lightning_cloud/openapi/models/project_id_cloudspaces_body.py +27 -1
  27. lightning_sdk/lightning_cloud/openapi/models/project_id_multimachinejobs_body.py +201 -0
  28. lightning_sdk/lightning_cloud/openapi/models/update.py +6 -32
  29. lightning_sdk/lightning_cloud/openapi/models/v1_api_pricing_spec.py +149 -0
  30. lightning_sdk/lightning_cloud/openapi/models/v1_checkbox.py +29 -3
  31. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
  32. lightning_sdk/lightning_cloud/openapi/models/v1_create_deployment_template_request.py +32 -6
  33. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +6 -32
  34. lightning_sdk/lightning_cloud/openapi/models/v1_delete_multi_machine_job_response.py +97 -0
  35. lightning_sdk/lightning_cloud/openapi/models/v1_deployment.py +27 -1
  36. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_metrics.py +43 -17
  37. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_performance.py +305 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template.py +32 -6
  39. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_parameter.py +27 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_parameter_type.py +1 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_summary.py +27 -1
  42. lightning_sdk/lightning_cloud/openapi/models/{v1_efs_data_connection.py → v1_efs_config.py} +22 -22
  43. lightning_sdk/lightning_cloud/openapi/models/v1_get_model_files_response.py +27 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +53 -27
  45. lightning_sdk/lightning_cloud/openapi/models/v1_input.py +29 -3
  46. lightning_sdk/lightning_cloud/openapi/models/v1_job.py +27 -1
  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 +383 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job_state.py +108 -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_select.py +29 -3
  59. lightning_sdk/lightning_cloud/openapi/models/v1_system_info.py +27 -1
  60. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +131 -1
  61. lightning_sdk/lightning_cloud/openapi/models/v1_user_requested_compute_config.py +27 -1
  62. lightning_sdk/lightning_cloud/openapi/models/v1_validate_data_connection_response.py +6 -32
  63. lightning_sdk/lightning_cloud/openapi/models/validate.py +6 -32
  64. lightning_sdk/teamspace.py +5 -0
  65. {lightning_sdk-0.1.36.dist-info → lightning_sdk-0.1.38.dist-info}/METADATA +1 -1
  66. {lightning_sdk-0.1.36.dist-info → lightning_sdk-0.1.38.dist-info}/RECORD +70 -58
  67. lightning_sdk/lightning_cloud/openapi/models/v1_efs_folder_data_connection.py +0 -201
  68. {lightning_sdk-0.1.36.dist-info → lightning_sdk-0.1.38.dist-info}/LICENSE +0 -0
  69. {lightning_sdk-0.1.36.dist-info → lightning_sdk-0.1.38.dist-info}/WHEEL +0 -0
  70. {lightning_sdk-0.1.36.dist-info → lightning_sdk-0.1.38.dist-info}/entry_points.txt +0 -0
  71. {lightning_sdk-0.1.36.dist-info → lightning_sdk-0.1.38.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 V1ListMultiMachineJobsResponse(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
+ 'multi_machine_jobs': 'list[V1MultiMachineJob]'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'multi_machine_jobs': 'multiMachineJobs'
49
+ }
50
+
51
+ def __init__(self, multi_machine_jobs: 'list[V1MultiMachineJob]' =None): # noqa: E501
52
+ """V1ListMultiMachineJobsResponse - a model defined in Swagger""" # noqa: E501
53
+ self._multi_machine_jobs = None
54
+ self.discriminator = None
55
+ if multi_machine_jobs is not None:
56
+ self.multi_machine_jobs = multi_machine_jobs
57
+
58
+ @property
59
+ def multi_machine_jobs(self) -> 'list[V1MultiMachineJob]':
60
+ """Gets the multi_machine_jobs of this V1ListMultiMachineJobsResponse. # noqa: E501
61
+
62
+
63
+ :return: The multi_machine_jobs of this V1ListMultiMachineJobsResponse. # noqa: E501
64
+ :rtype: list[V1MultiMachineJob]
65
+ """
66
+ return self._multi_machine_jobs
67
+
68
+ @multi_machine_jobs.setter
69
+ def multi_machine_jobs(self, multi_machine_jobs: 'list[V1MultiMachineJob]'):
70
+ """Sets the multi_machine_jobs of this V1ListMultiMachineJobsResponse.
71
+
72
+
73
+ :param multi_machine_jobs: The multi_machine_jobs of this V1ListMultiMachineJobsResponse. # noqa: E501
74
+ :type: list[V1MultiMachineJob]
75
+ """
76
+
77
+ self._multi_machine_jobs = multi_machine_jobs
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(V1ListMultiMachineJobsResponse, 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: 'V1ListMultiMachineJobsResponse') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, V1ListMultiMachineJobsResponse):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'V1ListMultiMachineJobsResponse') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -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 V1MachinesSelector(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
+ 'options': 'list[str]',
45
+ 'value': 'str'
46
+ }
47
+
48
+ attribute_map = {
49
+ 'options': 'options',
50
+ 'value': 'value'
51
+ }
52
+
53
+ def __init__(self, options: 'list[str]' =None, value: 'str' =None): # noqa: E501
54
+ """V1MachinesSelector - a model defined in Swagger""" # noqa: E501
55
+ self._options = None
56
+ self._value = None
57
+ self.discriminator = None
58
+ if options is not None:
59
+ self.options = options
60
+ if value is not None:
61
+ self.value = value
62
+
63
+ @property
64
+ def options(self) -> 'list[str]':
65
+ """Gets the options of this V1MachinesSelector. # noqa: E501
66
+
67
+
68
+ :return: The options of this V1MachinesSelector. # noqa: E501
69
+ :rtype: list[str]
70
+ """
71
+ return self._options
72
+
73
+ @options.setter
74
+ def options(self, options: 'list[str]'):
75
+ """Sets the options of this V1MachinesSelector.
76
+
77
+
78
+ :param options: The options of this V1MachinesSelector. # noqa: E501
79
+ :type: list[str]
80
+ """
81
+
82
+ self._options = options
83
+
84
+ @property
85
+ def value(self) -> 'str':
86
+ """Gets the value of this V1MachinesSelector. # noqa: E501
87
+
88
+
89
+ :return: The value of this V1MachinesSelector. # noqa: E501
90
+ :rtype: str
91
+ """
92
+ return self._value
93
+
94
+ @value.setter
95
+ def value(self, value: 'str'):
96
+ """Sets the value of this V1MachinesSelector.
97
+
98
+
99
+ :param value: The value of this V1MachinesSelector. # noqa: E501
100
+ :type: str
101
+ """
102
+
103
+ self._value = value
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(V1MachinesSelector, 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: 'V1MachinesSelector') -> bool:
141
+ """Returns true if both objects are equal"""
142
+ if not isinstance(other, V1MachinesSelector):
143
+ return False
144
+
145
+ return self.__dict__ == other.__dict__
146
+
147
+ def __ne__(self, other: 'V1MachinesSelector') -> bool:
148
+ """Returns true if both objects are not equal"""
149
+ return not self == other
@@ -44,7 +44,7 @@ class V1Message(object):
44
44
  'assistant_id': 'str',
45
45
  'author': 'V1MessageAuthor',
46
46
  'completion_tokens': 'str',
47
- 'content': 'V1MessageContent',
47
+ 'content': 'list[V1MessageContent]',
48
48
  'conversation_id': 'str',
49
49
  'created_at': 'datetime',
50
50
  'executable': 'bool',
@@ -66,7 +66,7 @@ class V1Message(object):
66
66
  'prompt_tokens': 'promptTokens'
67
67
  }
68
68
 
69
- def __init__(self, assistant_id: 'str' =None, author: 'V1MessageAuthor' =None, completion_tokens: 'str' =None, content: 'V1MessageContent' =None, conversation_id: 'str' =None, created_at: 'datetime' =None, executable: 'bool' =None, id: 'str' =None, model: 'str' =None, prompt_tokens: 'str' =None): # noqa: E501
69
+ def __init__(self, assistant_id: 'str' =None, author: 'V1MessageAuthor' =None, completion_tokens: 'str' =None, content: 'list[V1MessageContent]' =None, conversation_id: 'str' =None, created_at: 'datetime' =None, executable: 'bool' =None, id: 'str' =None, model: 'str' =None, prompt_tokens: 'str' =None): # noqa: E501
70
70
  """V1Message - a model defined in Swagger""" # noqa: E501
71
71
  self._assistant_id = None
72
72
  self._author = None
@@ -164,22 +164,22 @@ class V1Message(object):
164
164
  self._completion_tokens = completion_tokens
165
165
 
166
166
  @property
167
- def content(self) -> 'V1MessageContent':
167
+ def content(self) -> 'list[V1MessageContent]':
168
168
  """Gets the content of this V1Message. # noqa: E501
169
169
 
170
170
 
171
171
  :return: The content of this V1Message. # noqa: E501
172
- :rtype: V1MessageContent
172
+ :rtype: list[V1MessageContent]
173
173
  """
174
174
  return self._content
175
175
 
176
176
  @content.setter
177
- def content(self, content: 'V1MessageContent'):
177
+ def content(self, content: 'list[V1MessageContent]'):
178
178
  """Sets the content of this V1Message.
179
179
 
180
180
 
181
181
  :param content: The content of this V1Message. # noqa: E501
182
- :type: V1MessageContent
182
+ :type: list[V1MessageContent]
183
183
  """
184
184
 
185
185
  self._content = content
@@ -41,7 +41,7 @@ class V1MessageContent(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'content_type': 'str',
44
+ 'content_type': 'V1MessageContentType',
45
45
  'parts': 'list[str]'
46
46
  }
47
47
 
@@ -50,7 +50,7 @@ class V1MessageContent(object):
50
50
  'parts': 'parts'
51
51
  }
52
52
 
53
- def __init__(self, content_type: 'str' =None, parts: 'list[str]' =None): # noqa: E501
53
+ def __init__(self, content_type: 'V1MessageContentType' =None, parts: 'list[str]' =None): # noqa: E501
54
54
  """V1MessageContent - a model defined in Swagger""" # noqa: E501
55
55
  self._content_type = None
56
56
  self._parts = None
@@ -61,22 +61,22 @@ class V1MessageContent(object):
61
61
  self.parts = parts
62
62
 
63
63
  @property
64
- def content_type(self) -> 'str':
64
+ def content_type(self) -> 'V1MessageContentType':
65
65
  """Gets the content_type of this V1MessageContent. # noqa: E501
66
66
 
67
67
 
68
68
  :return: The content_type of this V1MessageContent. # noqa: E501
69
- :rtype: str
69
+ :rtype: V1MessageContentType
70
70
  """
71
71
  return self._content_type
72
72
 
73
73
  @content_type.setter
74
- def content_type(self, content_type: 'str'):
74
+ def content_type(self, content_type: 'V1MessageContentType'):
75
75
  """Sets the content_type of this V1MessageContent.
76
76
 
77
77
 
78
78
  :param content_type: The content_type of this V1MessageContent. # noqa: E501
79
- :type: str
79
+ :type: V1MessageContentType
80
80
  """
81
81
 
82
82
  self._content_type = content_type
@@ -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 V1MessageContentType(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
+ TEXT = "text"
41
+ IMAGE = "image"
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
+ """V1MessageContentType - 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(V1MessageContentType, 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: 'V1MessageContentType') -> bool:
95
+ """Returns true if both objects are equal"""
96
+ if not isinstance(other, V1MessageContentType):
97
+ return False
98
+
99
+ return self.__dict__ == other.__dict__
100
+
101
+ def __ne__(self, other: 'V1MessageContentType') -> bool:
102
+ """Returns true if both objects are not equal"""
103
+ return not self == other
@@ -61,6 +61,8 @@ class V1MetricsStream(object):
61
61
  'system_info': 'V1SystemInfo',
62
62
  'tags': 'list[V1MetricsTags]',
63
63
  'trackers': 'dict(str, V1MetricsTracker)',
64
+ 'updated_at': 'datetime',
65
+ 'updates_counter': 'int',
64
66
  'user_id': 'str',
65
67
  'version': 'datetime',
66
68
  'version_number': 'int',
@@ -88,13 +90,15 @@ class V1MetricsStream(object):
88
90
  'system_info': 'systemInfo',
89
91
  'tags': 'tags',
90
92
  'trackers': 'trackers',
93
+ 'updated_at': 'updatedAt',
94
+ 'updates_counter': 'updatesCounter',
91
95
  'user_id': 'userId',
92
96
  'version': 'version',
93
97
  'version_number': 'versionNumber',
94
98
  'work_id': 'workId'
95
99
  }
96
100
 
97
- def __init__(self, app_id: 'str' =None, cloudspace_id: 'str' =None, cluster_id: 'str' =None, created_at: 'datetime' =None, dark_color: 'str' =None, id: 'str' =None, job_name: 'str' =None, light_color: 'str' =None, name: 'str' =None, persisted: 'bool' =None, phase: 'V1PhaseType' =None, plugin_id: 'str' =None, project_id: 'str' =None, source_id: 'str' =None, stopped_at: 'datetime' =None, store_created_at: 'bool' =None, store_step: 'bool' =None, system_info: 'V1SystemInfo' =None, tags: 'list[V1MetricsTags]' =None, trackers: 'dict(str, V1MetricsTracker)' =None, user_id: 'str' =None, version: 'datetime' =None, version_number: 'int' =None, work_id: 'str' =None): # noqa: E501
101
+ def __init__(self, app_id: 'str' =None, cloudspace_id: 'str' =None, cluster_id: 'str' =None, created_at: 'datetime' =None, dark_color: 'str' =None, id: 'str' =None, job_name: 'str' =None, light_color: 'str' =None, name: 'str' =None, persisted: 'bool' =None, phase: 'V1PhaseType' =None, plugin_id: 'str' =None, project_id: 'str' =None, source_id: 'str' =None, stopped_at: 'datetime' =None, store_created_at: 'bool' =None, store_step: 'bool' =None, system_info: 'V1SystemInfo' =None, tags: 'list[V1MetricsTags]' =None, trackers: 'dict(str, V1MetricsTracker)' =None, updated_at: 'datetime' =None, updates_counter: 'int' =None, user_id: 'str' =None, version: 'datetime' =None, version_number: 'int' =None, work_id: 'str' =None): # noqa: E501
98
102
  """V1MetricsStream - a model defined in Swagger""" # noqa: E501
99
103
  self._app_id = None
100
104
  self._cloudspace_id = None
@@ -116,6 +120,8 @@ class V1MetricsStream(object):
116
120
  self._system_info = None
117
121
  self._tags = None
118
122
  self._trackers = None
123
+ self._updated_at = None
124
+ self._updates_counter = None
119
125
  self._user_id = None
120
126
  self._version = None
121
127
  self._version_number = None
@@ -161,6 +167,10 @@ class V1MetricsStream(object):
161
167
  self.tags = tags
162
168
  if trackers is not None:
163
169
  self.trackers = trackers
170
+ if updated_at is not None:
171
+ self.updated_at = updated_at
172
+ if updates_counter is not None:
173
+ self.updates_counter = updates_counter
164
174
  if user_id is not None:
165
175
  self.user_id = user_id
166
176
  if version is not None:
@@ -590,6 +600,48 @@ class V1MetricsStream(object):
590
600
 
591
601
  self._trackers = trackers
592
602
 
603
+ @property
604
+ def updated_at(self) -> 'datetime':
605
+ """Gets the updated_at of this V1MetricsStream. # noqa: E501
606
+
607
+
608
+ :return: The updated_at of this V1MetricsStream. # noqa: E501
609
+ :rtype: datetime
610
+ """
611
+ return self._updated_at
612
+
613
+ @updated_at.setter
614
+ def updated_at(self, updated_at: 'datetime'):
615
+ """Sets the updated_at of this V1MetricsStream.
616
+
617
+
618
+ :param updated_at: The updated_at of this V1MetricsStream. # noqa: E501
619
+ :type: datetime
620
+ """
621
+
622
+ self._updated_at = updated_at
623
+
624
+ @property
625
+ def updates_counter(self) -> 'int':
626
+ """Gets the updates_counter of this V1MetricsStream. # noqa: E501
627
+
628
+
629
+ :return: The updates_counter of this V1MetricsStream. # noqa: E501
630
+ :rtype: int
631
+ """
632
+ return self._updates_counter
633
+
634
+ @updates_counter.setter
635
+ def updates_counter(self, updates_counter: 'int'):
636
+ """Sets the updates_counter of this V1MetricsStream.
637
+
638
+
639
+ :param updates_counter: The updates_counter of this V1MetricsStream. # noqa: E501
640
+ :type: int
641
+ """
642
+
643
+ self._updates_counter = updates_counter
644
+
593
645
  @property
594
646
  def user_id(self) -> 'str':
595
647
  """Gets the user_id of this V1MetricsStream. # noqa: E501