241 lines
8.3 KiB
Python
241 lines
8.3 KiB
Python
# coding: utf-8
|
|
|
|
"""
|
|
mpijob
|
|
|
|
Python SDK for MPI-Operator # noqa: E501
|
|
|
|
The version of the OpenAPI document: v2beta1
|
|
Generated by: https://openapi-generator.tech
|
|
"""
|
|
|
|
|
|
import inspect
|
|
import pprint
|
|
import re # noqa: F401
|
|
import six
|
|
|
|
from mpijob.configuration import Configuration
|
|
|
|
|
|
class V1RunPolicy(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 = {
|
|
'active_deadline_seconds': 'int',
|
|
'backoff_limit': 'int',
|
|
'clean_pod_policy': 'str',
|
|
'scheduling_policy': 'V1SchedulingPolicy',
|
|
'ttl_seconds_after_finished': 'int'
|
|
}
|
|
|
|
attribute_map = {
|
|
'active_deadline_seconds': 'activeDeadlineSeconds',
|
|
'backoff_limit': 'backoffLimit',
|
|
'clean_pod_policy': 'cleanPodPolicy',
|
|
'scheduling_policy': 'schedulingPolicy',
|
|
'ttl_seconds_after_finished': 'ttlSecondsAfterFinished'
|
|
}
|
|
|
|
def __init__(self, active_deadline_seconds=None, backoff_limit=None, clean_pod_policy=None, scheduling_policy=None, ttl_seconds_after_finished=None, local_vars_configuration=None): # noqa: E501
|
|
"""V1RunPolicy - a model defined in OpenAPI""" # noqa: E501
|
|
if local_vars_configuration is None:
|
|
local_vars_configuration = Configuration.get_default_copy()
|
|
self.local_vars_configuration = local_vars_configuration
|
|
|
|
self._active_deadline_seconds = None
|
|
self._backoff_limit = None
|
|
self._clean_pod_policy = None
|
|
self._scheduling_policy = None
|
|
self._ttl_seconds_after_finished = None
|
|
self.discriminator = None
|
|
|
|
if active_deadline_seconds is not None:
|
|
self.active_deadline_seconds = active_deadline_seconds
|
|
if backoff_limit is not None:
|
|
self.backoff_limit = backoff_limit
|
|
if clean_pod_policy is not None:
|
|
self.clean_pod_policy = clean_pod_policy
|
|
if scheduling_policy is not None:
|
|
self.scheduling_policy = scheduling_policy
|
|
if ttl_seconds_after_finished is not None:
|
|
self.ttl_seconds_after_finished = ttl_seconds_after_finished
|
|
|
|
@property
|
|
def active_deadline_seconds(self):
|
|
"""Gets the active_deadline_seconds of this V1RunPolicy. # noqa: E501
|
|
|
|
Specifies the duration in seconds relative to the startTime that the job may be active before the system tries to terminate it; value must be positive integer. # noqa: E501
|
|
|
|
:return: The active_deadline_seconds of this V1RunPolicy. # noqa: E501
|
|
:rtype: int
|
|
"""
|
|
return self._active_deadline_seconds
|
|
|
|
@active_deadline_seconds.setter
|
|
def active_deadline_seconds(self, active_deadline_seconds):
|
|
"""Sets the active_deadline_seconds of this V1RunPolicy.
|
|
|
|
Specifies the duration in seconds relative to the startTime that the job may be active before the system tries to terminate it; value must be positive integer. # noqa: E501
|
|
|
|
:param active_deadline_seconds: The active_deadline_seconds of this V1RunPolicy. # noqa: E501
|
|
:type active_deadline_seconds: int
|
|
"""
|
|
|
|
self._active_deadline_seconds = active_deadline_seconds
|
|
|
|
@property
|
|
def backoff_limit(self):
|
|
"""Gets the backoff_limit of this V1RunPolicy. # noqa: E501
|
|
|
|
Optional number of retries before marking this job failed. # noqa: E501
|
|
|
|
:return: The backoff_limit of this V1RunPolicy. # noqa: E501
|
|
:rtype: int
|
|
"""
|
|
return self._backoff_limit
|
|
|
|
@backoff_limit.setter
|
|
def backoff_limit(self, backoff_limit):
|
|
"""Sets the backoff_limit of this V1RunPolicy.
|
|
|
|
Optional number of retries before marking this job failed. # noqa: E501
|
|
|
|
:param backoff_limit: The backoff_limit of this V1RunPolicy. # noqa: E501
|
|
:type backoff_limit: int
|
|
"""
|
|
|
|
self._backoff_limit = backoff_limit
|
|
|
|
@property
|
|
def clean_pod_policy(self):
|
|
"""Gets the clean_pod_policy of this V1RunPolicy. # noqa: E501
|
|
|
|
CleanPodPolicy defines the policy to kill pods after the job completes. Default to Running. # noqa: E501
|
|
|
|
:return: The clean_pod_policy of this V1RunPolicy. # noqa: E501
|
|
:rtype: str
|
|
"""
|
|
return self._clean_pod_policy
|
|
|
|
@clean_pod_policy.setter
|
|
def clean_pod_policy(self, clean_pod_policy):
|
|
"""Sets the clean_pod_policy of this V1RunPolicy.
|
|
|
|
CleanPodPolicy defines the policy to kill pods after the job completes. Default to Running. # noqa: E501
|
|
|
|
:param clean_pod_policy: The clean_pod_policy of this V1RunPolicy. # noqa: E501
|
|
:type clean_pod_policy: str
|
|
"""
|
|
|
|
self._clean_pod_policy = clean_pod_policy
|
|
|
|
@property
|
|
def scheduling_policy(self):
|
|
"""Gets the scheduling_policy of this V1RunPolicy. # noqa: E501
|
|
|
|
|
|
:return: The scheduling_policy of this V1RunPolicy. # noqa: E501
|
|
:rtype: V1SchedulingPolicy
|
|
"""
|
|
return self._scheduling_policy
|
|
|
|
@scheduling_policy.setter
|
|
def scheduling_policy(self, scheduling_policy):
|
|
"""Sets the scheduling_policy of this V1RunPolicy.
|
|
|
|
|
|
:param scheduling_policy: The scheduling_policy of this V1RunPolicy. # noqa: E501
|
|
:type scheduling_policy: V1SchedulingPolicy
|
|
"""
|
|
|
|
self._scheduling_policy = scheduling_policy
|
|
|
|
@property
|
|
def ttl_seconds_after_finished(self):
|
|
"""Gets the ttl_seconds_after_finished of this V1RunPolicy. # noqa: E501
|
|
|
|
TTLSecondsAfterFinished is the TTL to clean up jobs. It may take extra ReconcilePeriod seconds for the cleanup, since reconcile gets called periodically. Default to infinite. # noqa: E501
|
|
|
|
:return: The ttl_seconds_after_finished of this V1RunPolicy. # noqa: E501
|
|
:rtype: int
|
|
"""
|
|
return self._ttl_seconds_after_finished
|
|
|
|
@ttl_seconds_after_finished.setter
|
|
def ttl_seconds_after_finished(self, ttl_seconds_after_finished):
|
|
"""Sets the ttl_seconds_after_finished of this V1RunPolicy.
|
|
|
|
TTLSecondsAfterFinished is the TTL to clean up jobs. It may take extra ReconcilePeriod seconds for the cleanup, since reconcile gets called periodically. Default to infinite. # noqa: E501
|
|
|
|
:param ttl_seconds_after_finished: The ttl_seconds_after_finished of this V1RunPolicy. # noqa: E501
|
|
:type ttl_seconds_after_finished: int
|
|
"""
|
|
|
|
self._ttl_seconds_after_finished = ttl_seconds_after_finished
|
|
|
|
def to_dict(self, serialize=False):
|
|
"""Returns the model properties as a dict"""
|
|
result = {}
|
|
|
|
def convert(x):
|
|
if hasattr(x, "to_dict"):
|
|
args = inspect.getargspec(x.to_dict).args
|
|
if len(args) == 1:
|
|
return x.to_dict()
|
|
else:
|
|
return x.to_dict(serialize)
|
|
else:
|
|
return x
|
|
|
|
for attr, _ in six.iteritems(self.openapi_types):
|
|
value = getattr(self, attr)
|
|
attr = self.attribute_map.get(attr, attr) if serialize else attr
|
|
if isinstance(value, list):
|
|
result[attr] = list(map(
|
|
lambda x: convert(x),
|
|
value
|
|
))
|
|
elif isinstance(value, dict):
|
|
result[attr] = dict(map(
|
|
lambda item: (item[0], convert(item[1])),
|
|
value.items()
|
|
))
|
|
else:
|
|
result[attr] = convert(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, V1RunPolicy):
|
|
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, V1RunPolicy):
|
|
return True
|
|
|
|
return self.to_dict() != other.to_dict()
|