mpi-operator/sdk/python/v2beta1/mpijob/models/v1_run_policy.py

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()