# coding: utf-8
"""
IGNORE:
Nutanix Clustermgmt Versioned APIs
Manage Hosts, Clusters and other Infrastructure. # noqa: E501
OpenAPI spec version: 4.0.2-alpha-2
Generated by: https://github.com/swagger-api/swagger-codegen.git
IGNORE
"""
import pprint
import json
import ast
import re # noqa: F401
import six
from ntnx_clustermgmt_py_client.models.clustermgmt.v4.config.NodeRemovalExtraParam import NodeRemovalExtraParam # noqa: F401,E501
[docs]class NodeRemovalParams(object):
"""Parameters to remove nodes from cluster
:param skip_prechecks: (:attr:`skip_prechecks`) Indicates if prechecks can be skipped for node removal
:type skip_prechecks:
:param skip_remove: (:attr:`skip_remove`) Indicates if node removal can be skipped
:type skip_remove:
:param node_uuids: (:attr:`node_uuids`) List of node UUIDs to remove
:type node_uuids:
:param extra_params: (:attr:`extra_params`)
:type extra_params:
"""
"""
IGNORE:
Attributes:
swagger_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.
IGNORE
""" # noqa: E501
swagger_types = {
'skip_prechecks': 'bool',
'skip_remove': 'bool',
'node_uuids': 'list[str]',
'extra_params': 'clustermgmt.v4.config.NodeRemovalExtraParam',
'_reserved': 'dict(str, object)',
'_object_type': 'str',
'_unknown_fields': 'dict(str, object)',
}
attribute_map = {
'skip_prechecks': 'skipPrechecks',
'skip_remove': 'skipRemove',
'node_uuids': 'nodeUuids',
'extra_params': 'extraParams',
'_reserved': '$reserved',
'_object_type': '$objectType',
'_unknown_fields': '$unknownFields',
}
def __init__(self, skip_prechecks=None, skip_remove=None, node_uuids=None, extra_params=None, *args, **kwargs): # noqa: E501
self.__skip_prechecks = None
self.__skip_remove = None
self.__node_uuids = None
self.__extra_params = None
self.discriminator = None
if skip_prechecks is not None:
self.__skip_prechecks = skip_prechecks
if skip_remove is not None:
self.__skip_remove = skip_remove
if node_uuids is not None:
self.__node_uuids = node_uuids
if extra_params is not None:
self.__extra_params = extra_params
# populate hidden vars if not empty
self._populate_hidden_vars(kwargs)
def _initialize_object_type(self):
return 'clustermgmt.v4.config.NodeRemovalParams'
def _initialize_fq_object_type(self):
return 'clustermgmt.v4.r0.a2.config.NodeRemovalParams'
def _populate_hidden_vars(self, kwargs):
if "_reserved" in kwargs and kwargs["_reserved"] is not None:
self.__dollar_reserved = kwargs["_reserved"]
elif "_reserved" in self.attribute_map and self.attribute_map["_reserved"] in kwargs and kwargs[self.attribute_map["_reserved"]] is not None:
self.__dollar_reserved = kwargs[self.attribute_map["_reserved"]]
else :
self.__dollar_reserved = {"$fqObjectType": self._initialize_fq_object_type()}
if "_unknown_fields" in kwargs and kwargs["_unknown_fields"] is not None:
self.__dollar_unknown_fields = kwargs["_unknown_fields"]
elif "_unknown_fields" in self.attribute_map and self.attribute_map["_unknown_fields"] in kwargs and kwargs[self.attribute_map["_unknown_fields"]] is not None:
self.__dollar_unknown_fields = kwargs[self.attribute_map["_unknown_fields"]]
else :
self.__dollar_unknown_fields = {}
if "_object_type" in kwargs and kwargs["_object_type"] is not None:
self.__dollar_object_type = kwargs["_object_type"]
elif "_object_type" in self.attribute_map and self.attribute_map["_object_type"] in kwargs and kwargs[self.attribute_map["_object_type"]] is not None:
self.__dollar_object_type = kwargs[self.attribute_map["_object_type"]]
else:
self.__dollar_object_type = self._initialize_object_type()
def get_object_type(self):
return self.__dollar_object_type
def get_reserved(self):
return self.__dollar_reserved
def get_unknown_fields(self):
return self.__dollar_unknown_fields
@property
def skip_prechecks(self):
"""
Indicates if prechecks can be skipped for node removal
:type:
:class:`~bool`
""" # noqa: E501
return self.__skip_prechecks
@skip_prechecks.setter
def skip_prechecks(self, skip_prechecks):
self.__skip_prechecks = skip_prechecks
@property
def skip_remove(self):
"""
Indicates if node removal can be skipped
:type:
:class:`~bool`
""" # noqa: E501
return self.__skip_remove
@skip_remove.setter
def skip_remove(self, skip_remove):
self.__skip_remove = skip_remove
@property
def node_uuids(self):
"""
List of node UUIDs to remove
:type:
list[ :class:`~str` ]
""" # noqa: E501
return self.__node_uuids
@node_uuids.setter
def node_uuids(self, node_uuids):
self.__node_uuids = node_uuids
@property
def extra_params(self):
"""
:type:
:class:`~ntnx_clustermgmt_py_client.models.clustermgmt.v4.config.NodeRemovalExtraParam`
""" # noqa: E501
return self.__extra_params
@extra_params.setter
def extra_params(self, extra_params):
self.__extra_params = extra_params
@property
def _reserved(self):
"""
:type:
dict(str, :class:`~object`)
""" # noqa: E501
return self.__dollar_reserved
@property
def _object_type(self):
"""
:type:
:class:`~str`
""" # noqa: E501
return self.__dollar_object_type
@property
def _unknown_fields(self):
"""
:type:
dict(str, :class:`~object`)
""" # noqa: E501
return self.__dollar_unknown_fields
def _to_dict(self, sanitize):
"""Returns the model properties as a dict. Omits None properties based on the provided "sanitize" parameter.
:param sanitize: A flag to omit None properties if set to True
:type sanitize: bool
"""
result = {}
for attr, attr_type in six.iteritems(self.swagger_types):
value = getattr(self, attr)
if isinstance(value, list):
result[attr] = list(map(
lambda x: x._to_dict(sanitize) if hasattr(x, "_to_dict") else x,
value
))
elif hasattr(value, "_to_dict"):
result[attr] = value._to_dict(sanitize)
elif isinstance(value, dict):
result[attr] = dict(map(
lambda item: (item[0], item[1]._to_dict(sanitize))
if hasattr(item[1], "_to_dict") else item,
six.iteritems(value)
))
else:
if sanitize:
if value is not None:
result[attr] = value
else:
result[attr] = value
if issubclass(NodeRemovalParams, dict):
for key, value in six.iteritems(self):
result[key] = value
return result
[docs] def to_dict(self):
"""Returns the model properties as a dictionary"""
return self._to_dict(False)
[docs] def to_str(self):
"""Returns the string representation of the model"""
return pprint.pformat(self._to_dict(True))
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, NodeRemovalParams):
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
"""Returns true if both objects are not equal"""
return not self == other