-
Notifications
You must be signed in to change notification settings - Fork 3.3k
/
Copy pathv1_pod_failure_policy_rule.py
177 lines (132 loc) · 7.4 KB
/
v1_pod_failure_policy_rule.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
# coding: utf-8
"""
Kubernetes
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
The version of the OpenAPI document: release-1.32
Generated by: https://openapi-generator.tech
"""
import pprint
import re # noqa: F401
import six
from kubernetes.client.configuration import Configuration
class V1PodFailurePolicyRule(object):
"""NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
Do not edit the class manually.
"""
"""
Attributes:
openapi_types (dict): The key is attribute name
and the value is attribute type.
attribute_map (dict): The key is attribute name
and the value is json key in definition.
"""
openapi_types = {
'action': 'str',
'on_exit_codes': 'V1PodFailurePolicyOnExitCodesRequirement',
'on_pod_conditions': 'list[V1PodFailurePolicyOnPodConditionsPattern]'
}
attribute_map = {
'action': 'action',
'on_exit_codes': 'onExitCodes',
'on_pod_conditions': 'onPodConditions'
}
def __init__(self, action=None, on_exit_codes=None, on_pod_conditions=None, local_vars_configuration=None): # noqa: E501
"""V1PodFailurePolicyRule - a model defined in OpenAPI""" # noqa: E501
if local_vars_configuration is None:
local_vars_configuration = Configuration()
self.local_vars_configuration = local_vars_configuration
self._action = None
self._on_exit_codes = None
self._on_pod_conditions = None
self.discriminator = None
self.action = action
if on_exit_codes is not None:
self.on_exit_codes = on_exit_codes
if on_pod_conditions is not None:
self.on_pod_conditions = on_pod_conditions
@property
def action(self):
"""Gets the action of this V1PodFailurePolicyRule. # noqa: E501
Specifies the action taken on a pod failure when the requirements are satisfied. Possible values are: - FailJob: indicates that the pod's job is marked as Failed and all running pods are terminated. - FailIndex: indicates that the pod's index is marked as Failed and will not be restarted. This value is beta-level. It can be used when the `JobBackoffLimitPerIndex` feature gate is enabled (enabled by default). - Ignore: indicates that the counter towards the .backoffLimit is not incremented and a replacement pod is created. - Count: indicates that the pod is handled in the default way - the counter towards the .backoffLimit is incremented. Additional values are considered to be added in the future. Clients should react to an unknown action by skipping the rule. # noqa: E501
:return: The action of this V1PodFailurePolicyRule. # noqa: E501
:rtype: str
"""
return self._action
@action.setter
def action(self, action):
"""Sets the action of this V1PodFailurePolicyRule.
Specifies the action taken on a pod failure when the requirements are satisfied. Possible values are: - FailJob: indicates that the pod's job is marked as Failed and all running pods are terminated. - FailIndex: indicates that the pod's index is marked as Failed and will not be restarted. This value is beta-level. It can be used when the `JobBackoffLimitPerIndex` feature gate is enabled (enabled by default). - Ignore: indicates that the counter towards the .backoffLimit is not incremented and a replacement pod is created. - Count: indicates that the pod is handled in the default way - the counter towards the .backoffLimit is incremented. Additional values are considered to be added in the future. Clients should react to an unknown action by skipping the rule. # noqa: E501
:param action: The action of this V1PodFailurePolicyRule. # noqa: E501
:type: str
"""
if self.local_vars_configuration.client_side_validation and action is None: # noqa: E501
raise ValueError("Invalid value for `action`, must not be `None`") # noqa: E501
self._action = action
@property
def on_exit_codes(self):
"""Gets the on_exit_codes of this V1PodFailurePolicyRule. # noqa: E501
:return: The on_exit_codes of this V1PodFailurePolicyRule. # noqa: E501
:rtype: V1PodFailurePolicyOnExitCodesRequirement
"""
return self._on_exit_codes
@on_exit_codes.setter
def on_exit_codes(self, on_exit_codes):
"""Sets the on_exit_codes of this V1PodFailurePolicyRule.
:param on_exit_codes: The on_exit_codes of this V1PodFailurePolicyRule. # noqa: E501
:type: V1PodFailurePolicyOnExitCodesRequirement
"""
self._on_exit_codes = on_exit_codes
@property
def on_pod_conditions(self):
"""Gets the on_pod_conditions of this V1PodFailurePolicyRule. # noqa: E501
Represents the requirement on the pod conditions. The requirement is represented as a list of pod condition patterns. The requirement is satisfied if at least one pattern matches an actual pod condition. At most 20 elements are allowed. # noqa: E501
:return: The on_pod_conditions of this V1PodFailurePolicyRule. # noqa: E501
:rtype: list[V1PodFailurePolicyOnPodConditionsPattern]
"""
return self._on_pod_conditions
@on_pod_conditions.setter
def on_pod_conditions(self, on_pod_conditions):
"""Sets the on_pod_conditions of this V1PodFailurePolicyRule.
Represents the requirement on the pod conditions. The requirement is represented as a list of pod condition patterns. The requirement is satisfied if at least one pattern matches an actual pod condition. At most 20 elements are allowed. # noqa: E501
:param on_pod_conditions: The on_pod_conditions of this V1PodFailurePolicyRule. # noqa: E501
:type: list[V1PodFailurePolicyOnPodConditionsPattern]
"""
self._on_pod_conditions = on_pod_conditions
def to_dict(self):
"""Returns the model properties as a dict"""
result = {}
for attr, _ in six.iteritems(self.openapi_types):
value = getattr(self, attr)
if isinstance(value, list):
result[attr] = list(map(
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
value
))
elif hasattr(value, "to_dict"):
result[attr] = value.to_dict()
elif isinstance(value, dict):
result[attr] = dict(map(
lambda item: (item[0], item[1].to_dict())
if hasattr(item[1], "to_dict") else item,
value.items()
))
else:
result[attr] = value
return result
def to_str(self):
"""Returns the string representation of the model"""
return pprint.pformat(self.to_dict())
def __repr__(self):
"""For `print` and `pprint`"""
return self.to_str()
def __eq__(self, other):
"""Returns true if both objects are equal"""
if not isinstance(other, V1PodFailurePolicyRule):
return False
return self.to_dict() == other.to_dict()
def __ne__(self, other):
"""Returns true if both objects are not equal"""
if not isinstance(other, V1PodFailurePolicyRule):
return True
return self.to_dict() != other.to_dict()