anyscale 0.26.44__py3-none-any.whl → 0.26.46__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 (29) hide show
  1. anyscale/_private/anyscale_client/anyscale_client.py +4 -2
  2. anyscale/_private/anyscale_client/common.py +2 -0
  3. anyscale/_private/anyscale_client/fake_anyscale_client.py +4 -1
  4. anyscale/client/README.md +7 -0
  5. anyscale/client/openapi_client/__init__.py +4 -0
  6. anyscale/client/openapi_client/api/default_api.py +353 -5
  7. anyscale/client/openapi_client/models/__init__.py +4 -0
  8. anyscale/client/openapi_client/models/clouddeployment_response.py +121 -0
  9. anyscale/client/openapi_client/models/collaborator_type.py +101 -0
  10. anyscale/client/openapi_client/models/describe_machine_pool_requests_filters.py +150 -0
  11. anyscale/client/openapi_client/models/describe_machine_pool_requests_request.py +19 -19
  12. anyscale/client/openapi_client/models/plan_status.py +123 -0
  13. anyscale/client/openapi_client/models/task_table_row.py +29 -3
  14. anyscale/cloud_resource.py +120 -150
  15. anyscale/commands/cloud_commands.py +46 -3
  16. anyscale/commands/command_examples.py +8 -0
  17. anyscale/controllers/cloud_controller.py +361 -76
  18. anyscale/gcp_verification.py +51 -38
  19. anyscale/telemetry.py +36 -44
  20. anyscale/utils/s3.py +2 -2
  21. anyscale/utils/user_utils.py +2 -1
  22. anyscale/version.py +1 -1
  23. {anyscale-0.26.44.dist-info → anyscale-0.26.46.dist-info}/METADATA +11 -2
  24. {anyscale-0.26.44.dist-info → anyscale-0.26.46.dist-info}/RECORD +29 -25
  25. {anyscale-0.26.44.dist-info → anyscale-0.26.46.dist-info}/WHEEL +1 -1
  26. {anyscale-0.26.44.dist-info → anyscale-0.26.46.dist-info}/entry_points.txt +0 -0
  27. {anyscale-0.26.44.dist-info → anyscale-0.26.46.dist-info/licenses}/LICENSE +0 -0
  28. {anyscale-0.26.44.dist-info → anyscale-0.26.46.dist-info/licenses}/NOTICE +0 -0
  29. {anyscale-0.26.44.dist-info → anyscale-0.26.46.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,121 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Managed Ray API
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by: https://openapi-generator.tech
10
+ """
11
+
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+ from openapi_client.configuration import Configuration
19
+
20
+
21
+ class ClouddeploymentResponse(object):
22
+ """NOTE: This class is auto generated by OpenAPI Generator.
23
+ Ref: https://openapi-generator.tech
24
+
25
+ Do not edit the class manually.
26
+ """
27
+
28
+ """
29
+ Attributes:
30
+ openapi_types (dict): The key is attribute name
31
+ and the value is attribute type.
32
+ attribute_map (dict): The key is attribute name
33
+ and the value is json key in definition.
34
+ """
35
+ openapi_types = {
36
+ 'result': 'CloudDeployment'
37
+ }
38
+
39
+ attribute_map = {
40
+ 'result': 'result'
41
+ }
42
+
43
+ def __init__(self, result=None, local_vars_configuration=None): # noqa: E501
44
+ """ClouddeploymentResponse - a model defined in OpenAPI""" # noqa: E501
45
+ if local_vars_configuration is None:
46
+ local_vars_configuration = Configuration()
47
+ self.local_vars_configuration = local_vars_configuration
48
+
49
+ self._result = None
50
+ self.discriminator = None
51
+
52
+ self.result = result
53
+
54
+ @property
55
+ def result(self):
56
+ """Gets the result of this ClouddeploymentResponse. # noqa: E501
57
+
58
+
59
+ :return: The result of this ClouddeploymentResponse. # noqa: E501
60
+ :rtype: CloudDeployment
61
+ """
62
+ return self._result
63
+
64
+ @result.setter
65
+ def result(self, result):
66
+ """Sets the result of this ClouddeploymentResponse.
67
+
68
+
69
+ :param result: The result of this ClouddeploymentResponse. # noqa: E501
70
+ :type: CloudDeployment
71
+ """
72
+ if self.local_vars_configuration.client_side_validation and result is None: # noqa: E501
73
+ raise ValueError("Invalid value for `result`, must not be `None`") # noqa: E501
74
+
75
+ self._result = result
76
+
77
+ def to_dict(self):
78
+ """Returns the model properties as a dict"""
79
+ result = {}
80
+
81
+ for attr, _ in six.iteritems(self.openapi_types):
82
+ value = getattr(self, attr)
83
+ if isinstance(value, list):
84
+ result[attr] = list(map(
85
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
86
+ value
87
+ ))
88
+ elif hasattr(value, "to_dict"):
89
+ result[attr] = value.to_dict()
90
+ elif isinstance(value, dict):
91
+ result[attr] = dict(map(
92
+ lambda item: (item[0], item[1].to_dict())
93
+ if hasattr(item[1], "to_dict") else item,
94
+ value.items()
95
+ ))
96
+ else:
97
+ result[attr] = value
98
+
99
+ return result
100
+
101
+ def to_str(self):
102
+ """Returns the string representation of the model"""
103
+ return pprint.pformat(self.to_dict())
104
+
105
+ def __repr__(self):
106
+ """For `print` and `pprint`"""
107
+ return self.to_str()
108
+
109
+ def __eq__(self, other):
110
+ """Returns true if both objects are equal"""
111
+ if not isinstance(other, ClouddeploymentResponse):
112
+ return False
113
+
114
+ return self.to_dict() == other.to_dict()
115
+
116
+ def __ne__(self, other):
117
+ """Returns true if both objects are not equal"""
118
+ if not isinstance(other, ClouddeploymentResponse):
119
+ return True
120
+
121
+ return self.to_dict() != other.to_dict()
@@ -0,0 +1,101 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Managed Ray API
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by: https://openapi-generator.tech
10
+ """
11
+
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+ from openapi_client.configuration import Configuration
19
+
20
+
21
+ class CollaboratorType(object):
22
+ """NOTE: This class is auto generated by OpenAPI Generator.
23
+ Ref: https://openapi-generator.tech
24
+
25
+ Do not edit the class manually.
26
+ """
27
+
28
+ """
29
+ allowed enum values
30
+ """
31
+ ALL_ACCOUNTS = "all_accounts"
32
+ ONLY_SERVICE_ACCOUNTS = "only_service_accounts"
33
+ ONLY_USER_ACCOUNTS = "only_user_accounts"
34
+
35
+ allowable_values = [ALL_ACCOUNTS, ONLY_SERVICE_ACCOUNTS, ONLY_USER_ACCOUNTS] # noqa: E501
36
+
37
+ """
38
+ Attributes:
39
+ openapi_types (dict): The key is attribute name
40
+ and the value is attribute type.
41
+ attribute_map (dict): The key is attribute name
42
+ and the value is json key in definition.
43
+ """
44
+ openapi_types = {
45
+ }
46
+
47
+ attribute_map = {
48
+ }
49
+
50
+ def __init__(self, local_vars_configuration=None): # noqa: E501
51
+ """CollaboratorType - a model defined in OpenAPI""" # noqa: E501
52
+ if local_vars_configuration is None:
53
+ local_vars_configuration = Configuration()
54
+ self.local_vars_configuration = local_vars_configuration
55
+ self.discriminator = None
56
+
57
+ def to_dict(self):
58
+ """Returns the model properties as a dict"""
59
+ result = {}
60
+
61
+ for attr, _ in six.iteritems(self.openapi_types):
62
+ value = getattr(self, attr)
63
+ if isinstance(value, list):
64
+ result[attr] = list(map(
65
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
66
+ value
67
+ ))
68
+ elif hasattr(value, "to_dict"):
69
+ result[attr] = value.to_dict()
70
+ elif isinstance(value, dict):
71
+ result[attr] = dict(map(
72
+ lambda item: (item[0], item[1].to_dict())
73
+ if hasattr(item[1], "to_dict") else item,
74
+ value.items()
75
+ ))
76
+ else:
77
+ result[attr] = value
78
+
79
+ return result
80
+
81
+ def to_str(self):
82
+ """Returns the string representation of the model"""
83
+ return pprint.pformat(self.to_dict())
84
+
85
+ def __repr__(self):
86
+ """For `print` and `pprint`"""
87
+ return self.to_str()
88
+
89
+ def __eq__(self, other):
90
+ """Returns true if both objects are equal"""
91
+ if not isinstance(other, CollaboratorType):
92
+ return False
93
+
94
+ return self.to_dict() == other.to_dict()
95
+
96
+ def __ne__(self, other):
97
+ """Returns true if both objects are not equal"""
98
+ if not isinstance(other, CollaboratorType):
99
+ return True
100
+
101
+ return self.to_dict() != other.to_dict()
@@ -0,0 +1,150 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Managed Ray API
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by: https://openapi-generator.tech
10
+ """
11
+
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+ from openapi_client.configuration import Configuration
19
+
20
+
21
+ class DescribeMachinePoolRequestsFilters(object):
22
+ """NOTE: This class is auto generated by OpenAPI Generator.
23
+ Ref: https://openapi-generator.tech
24
+
25
+ Do not edit the class manually.
26
+ """
27
+
28
+ """
29
+ Attributes:
30
+ openapi_types (dict): The key is attribute name
31
+ and the value is attribute type.
32
+ attribute_map (dict): The key is attribute name
33
+ and the value is json key in definition.
34
+ """
35
+ openapi_types = {
36
+ 'partitions': 'list[str]',
37
+ 'workload_name': 'TextQuery'
38
+ }
39
+
40
+ attribute_map = {
41
+ 'partitions': 'partitions',
42
+ 'workload_name': 'workload_name'
43
+ }
44
+
45
+ def __init__(self, partitions=None, workload_name=None, local_vars_configuration=None): # noqa: E501
46
+ """DescribeMachinePoolRequestsFilters - a model defined in OpenAPI""" # noqa: E501
47
+ if local_vars_configuration is None:
48
+ local_vars_configuration = Configuration()
49
+ self.local_vars_configuration = local_vars_configuration
50
+
51
+ self._partitions = None
52
+ self._workload_name = None
53
+ self.discriminator = None
54
+
55
+ if partitions is not None:
56
+ self.partitions = partitions
57
+ if workload_name is not None:
58
+ self.workload_name = workload_name
59
+
60
+ @property
61
+ def partitions(self):
62
+ """Gets the partitions of this DescribeMachinePoolRequestsFilters. # noqa: E501
63
+
64
+ The partitions to filter by. # noqa: E501
65
+
66
+ :return: The partitions of this DescribeMachinePoolRequestsFilters. # noqa: E501
67
+ :rtype: list[str]
68
+ """
69
+ return self._partitions
70
+
71
+ @partitions.setter
72
+ def partitions(self, partitions):
73
+ """Sets the partitions of this DescribeMachinePoolRequestsFilters.
74
+
75
+ The partitions to filter by. # noqa: E501
76
+
77
+ :param partitions: The partitions of this DescribeMachinePoolRequestsFilters. # noqa: E501
78
+ :type: list[str]
79
+ """
80
+
81
+ self._partitions = partitions
82
+
83
+ @property
84
+ def workload_name(self):
85
+ """Gets the workload_name of this DescribeMachinePoolRequestsFilters. # noqa: E501
86
+
87
+ Filters requests by workload name. If this field is absent, no filtering is done. # noqa: E501
88
+
89
+ :return: The workload_name of this DescribeMachinePoolRequestsFilters. # noqa: E501
90
+ :rtype: TextQuery
91
+ """
92
+ return self._workload_name
93
+
94
+ @workload_name.setter
95
+ def workload_name(self, workload_name):
96
+ """Sets the workload_name of this DescribeMachinePoolRequestsFilters.
97
+
98
+ Filters requests by workload name. If this field is absent, no filtering is done. # noqa: E501
99
+
100
+ :param workload_name: The workload_name of this DescribeMachinePoolRequestsFilters. # noqa: E501
101
+ :type: TextQuery
102
+ """
103
+
104
+ self._workload_name = workload_name
105
+
106
+ def to_dict(self):
107
+ """Returns the model properties as a dict"""
108
+ result = {}
109
+
110
+ for attr, _ in six.iteritems(self.openapi_types):
111
+ value = getattr(self, attr)
112
+ if isinstance(value, list):
113
+ result[attr] = list(map(
114
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
115
+ value
116
+ ))
117
+ elif hasattr(value, "to_dict"):
118
+ result[attr] = value.to_dict()
119
+ elif isinstance(value, dict):
120
+ result[attr] = dict(map(
121
+ lambda item: (item[0], item[1].to_dict())
122
+ if hasattr(item[1], "to_dict") else item,
123
+ value.items()
124
+ ))
125
+ else:
126
+ result[attr] = value
127
+
128
+ return result
129
+
130
+ def to_str(self):
131
+ """Returns the string representation of the model"""
132
+ return pprint.pformat(self.to_dict())
133
+
134
+ def __repr__(self):
135
+ """For `print` and `pprint`"""
136
+ return self.to_str()
137
+
138
+ def __eq__(self, other):
139
+ """Returns true if both objects are equal"""
140
+ if not isinstance(other, DescribeMachinePoolRequestsFilters):
141
+ return False
142
+
143
+ return self.to_dict() == other.to_dict()
144
+
145
+ def __ne__(self, other):
146
+ """Returns true if both objects are not equal"""
147
+ if not isinstance(other, DescribeMachinePoolRequestsFilters):
148
+ return True
149
+
150
+ return self.to_dict() != other.to_dict()
@@ -34,27 +34,27 @@ class DescribeMachinePoolRequestsRequest(object):
34
34
  """
35
35
  openapi_types = {
36
36
  'machine_pool_name': 'str',
37
- 'workload_name': 'TextQuery'
37
+ 'filters': 'DescribeMachinePoolRequestsFilters'
38
38
  }
39
39
 
40
40
  attribute_map = {
41
41
  'machine_pool_name': 'machine_pool_name',
42
- 'workload_name': 'workload_name'
42
+ 'filters': 'filters'
43
43
  }
44
44
 
45
- def __init__(self, machine_pool_name=None, workload_name=None, local_vars_configuration=None): # noqa: E501
45
+ def __init__(self, machine_pool_name=None, filters=None, local_vars_configuration=None): # noqa: E501
46
46
  """DescribeMachinePoolRequestsRequest - a model defined in OpenAPI""" # noqa: E501
47
47
  if local_vars_configuration is None:
48
48
  local_vars_configuration = Configuration()
49
49
  self.local_vars_configuration = local_vars_configuration
50
50
 
51
51
  self._machine_pool_name = None
52
- self._workload_name = None
52
+ self._filters = None
53
53
  self.discriminator = None
54
54
 
55
55
  self.machine_pool_name = machine_pool_name
56
- if workload_name is not None:
57
- self.workload_name = workload_name
56
+ if filters is not None:
57
+ self.filters = filters
58
58
 
59
59
  @property
60
60
  def machine_pool_name(self):
@@ -82,27 +82,27 @@ class DescribeMachinePoolRequestsRequest(object):
82
82
  self._machine_pool_name = machine_pool_name
83
83
 
84
84
  @property
85
- def workload_name(self):
86
- """Gets the workload_name of this DescribeMachinePoolRequestsRequest. # noqa: E501
85
+ def filters(self):
86
+ """Gets the filters of this DescribeMachinePoolRequestsRequest. # noqa: E501
87
87
 
88
- Filters requests by workload name. If this field is absent, no filtering is done. # noqa: E501
88
+ Filters to apply to the requests. # noqa: E501
89
89
 
90
- :return: The workload_name of this DescribeMachinePoolRequestsRequest. # noqa: E501
91
- :rtype: TextQuery
90
+ :return: The filters of this DescribeMachinePoolRequestsRequest. # noqa: E501
91
+ :rtype: DescribeMachinePoolRequestsFilters
92
92
  """
93
- return self._workload_name
93
+ return self._filters
94
94
 
95
- @workload_name.setter
96
- def workload_name(self, workload_name):
97
- """Sets the workload_name of this DescribeMachinePoolRequestsRequest.
95
+ @filters.setter
96
+ def filters(self, filters):
97
+ """Sets the filters of this DescribeMachinePoolRequestsRequest.
98
98
 
99
- Filters requests by workload name. If this field is absent, no filtering is done. # noqa: E501
99
+ Filters to apply to the requests. # noqa: E501
100
100
 
101
- :param workload_name: The workload_name of this DescribeMachinePoolRequestsRequest. # noqa: E501
102
- :type: TextQuery
101
+ :param filters: The filters of this DescribeMachinePoolRequestsRequest. # noqa: E501
102
+ :type: DescribeMachinePoolRequestsFilters
103
103
  """
104
104
 
105
- self._workload_name = workload_name
105
+ self._filters = filters
106
106
 
107
107
  def to_dict(self):
108
108
  """Returns the model properties as a dict"""
@@ -0,0 +1,123 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Managed Ray API
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by: https://openapi-generator.tech
10
+ """
11
+
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+ from openapi_client.configuration import Configuration
19
+
20
+
21
+ class PlanStatus(object):
22
+ """NOTE: This class is auto generated by OpenAPI Generator.
23
+ Ref: https://openapi-generator.tech
24
+
25
+ Do not edit the class manually.
26
+ """
27
+
28
+ """
29
+ Attributes:
30
+ openapi_types (dict): The key is attribute name
31
+ and the value is attribute type.
32
+ attribute_map (dict): The key is attribute name
33
+ and the value is json key in definition.
34
+ """
35
+ openapi_types = {
36
+ 'has_ever_had_a_plan': 'bool'
37
+ }
38
+
39
+ attribute_map = {
40
+ 'has_ever_had_a_plan': 'has_ever_had_a_plan'
41
+ }
42
+
43
+ def __init__(self, has_ever_had_a_plan=None, local_vars_configuration=None): # noqa: E501
44
+ """PlanStatus - a model defined in OpenAPI""" # noqa: E501
45
+ if local_vars_configuration is None:
46
+ local_vars_configuration = Configuration()
47
+ self.local_vars_configuration = local_vars_configuration
48
+
49
+ self._has_ever_had_a_plan = None
50
+ self.discriminator = None
51
+
52
+ self.has_ever_had_a_plan = has_ever_had_a_plan
53
+
54
+ @property
55
+ def has_ever_had_a_plan(self):
56
+ """Gets the has_ever_had_a_plan of this PlanStatus. # noqa: E501
57
+
58
+ Whether the organization has ever had a plan. # noqa: E501
59
+
60
+ :return: The has_ever_had_a_plan of this PlanStatus. # noqa: E501
61
+ :rtype: bool
62
+ """
63
+ return self._has_ever_had_a_plan
64
+
65
+ @has_ever_had_a_plan.setter
66
+ def has_ever_had_a_plan(self, has_ever_had_a_plan):
67
+ """Sets the has_ever_had_a_plan of this PlanStatus.
68
+
69
+ Whether the organization has ever had a plan. # noqa: E501
70
+
71
+ :param has_ever_had_a_plan: The has_ever_had_a_plan of this PlanStatus. # noqa: E501
72
+ :type: bool
73
+ """
74
+ if self.local_vars_configuration.client_side_validation and has_ever_had_a_plan is None: # noqa: E501
75
+ raise ValueError("Invalid value for `has_ever_had_a_plan`, must not be `None`") # noqa: E501
76
+
77
+ self._has_ever_had_a_plan = has_ever_had_a_plan
78
+
79
+ def to_dict(self):
80
+ """Returns the model properties as a dict"""
81
+ result = {}
82
+
83
+ for attr, _ in six.iteritems(self.openapi_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
+
101
+ return result
102
+
103
+ def to_str(self):
104
+ """Returns the string representation of the model"""
105
+ return pprint.pformat(self.to_dict())
106
+
107
+ def __repr__(self):
108
+ """For `print` and `pprint`"""
109
+ return self.to_str()
110
+
111
+ def __eq__(self, other):
112
+ """Returns true if both objects are equal"""
113
+ if not isinstance(other, PlanStatus):
114
+ return False
115
+
116
+ return self.to_dict() == other.to_dict()
117
+
118
+ def __ne__(self, other):
119
+ """Returns true if both objects are not equal"""
120
+ if not isinstance(other, PlanStatus):
121
+ return True
122
+
123
+ return self.to_dict() != other.to_dict()
@@ -47,7 +47,8 @@ class TaskTableRow(object):
47
47
  'worker_id': 'str',
48
48
  'worker_pid': 'str',
49
49
  'parent_task_id': 'str',
50
- 'ray_session_name': 'str'
50
+ 'ray_session_name': 'str',
51
+ 'exception_type': 'str'
51
52
  }
52
53
 
53
54
  attribute_map = {
@@ -65,10 +66,11 @@ class TaskTableRow(object):
65
66
  'worker_id': 'worker_id',
66
67
  'worker_pid': 'worker_pid',
67
68
  'parent_task_id': 'parent_task_id',
68
- 'ray_session_name': 'ray_session_name'
69
+ 'ray_session_name': 'ray_session_name',
70
+ 'exception_type': 'exception_type'
69
71
  }
70
72
 
71
- def __init__(self, id=None, attempt_number=None, job_id=None, function_name=None, task_type=None, current_state=None, error_message=None, start_time_ns=None, end_time_ns=None, required_resources=None, node_id=None, worker_id=None, worker_pid=None, parent_task_id=None, ray_session_name=None, local_vars_configuration=None): # noqa: E501
73
+ def __init__(self, id=None, attempt_number=None, job_id=None, function_name=None, task_type=None, current_state=None, error_message=None, start_time_ns=None, end_time_ns=None, required_resources=None, node_id=None, worker_id=None, worker_pid=None, parent_task_id=None, ray_session_name=None, exception_type=None, local_vars_configuration=None): # noqa: E501
72
74
  """TaskTableRow - a model defined in OpenAPI""" # noqa: E501
73
75
  if local_vars_configuration is None:
74
76
  local_vars_configuration = Configuration()
@@ -89,6 +91,7 @@ class TaskTableRow(object):
89
91
  self._worker_pid = None
90
92
  self._parent_task_id = None
91
93
  self._ray_session_name = None
94
+ self._exception_type = None
92
95
  self.discriminator = None
93
96
 
94
97
  self.id = id
@@ -114,6 +117,8 @@ class TaskTableRow(object):
114
117
  if parent_task_id is not None:
115
118
  self.parent_task_id = parent_task_id
116
119
  self.ray_session_name = ray_session_name
120
+ if exception_type is not None:
121
+ self.exception_type = exception_type
117
122
 
118
123
  @property
119
124
  def id(self):
@@ -444,6 +449,27 @@ class TaskTableRow(object):
444
449
 
445
450
  self._ray_session_name = ray_session_name
446
451
 
452
+ @property
453
+ def exception_type(self):
454
+ """Gets the exception_type of this TaskTableRow. # noqa: E501
455
+
456
+
457
+ :return: The exception_type of this TaskTableRow. # noqa: E501
458
+ :rtype: str
459
+ """
460
+ return self._exception_type
461
+
462
+ @exception_type.setter
463
+ def exception_type(self, exception_type):
464
+ """Sets the exception_type of this TaskTableRow.
465
+
466
+
467
+ :param exception_type: The exception_type of this TaskTableRow. # noqa: E501
468
+ :type: str
469
+ """
470
+
471
+ self._exception_type = exception_type
472
+
447
473
  def to_dict(self):
448
474
  """Returns the model properties as a dict"""
449
475
  result = {}