# coding: utf-8
"""
IGNORE:
Nutanix Prism Versioned APIs
Task Management, Category Associations, Prism Central DR, Alerts, Alert policies, Events and Audits # noqa: E501
OpenAPI spec version: 4.0.3-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_prism_py_client.models.common.v1.config.IPAddressOrFQDN import IPAddressOrFQDN # noqa: F401,E501
from ntnx_prism_py_client.models.prism.v4.serviceability.ProxyType import ProxyType # noqa: F401,E501
[docs]class HttpProxy(object):
"""Http proxy used to establish remote tunnel.
:param name: (:attr:`name`) Proxy name.
:type name:
:param address_value: (:attr:`address_value`)
:type address_value:
:param port: (:attr:`port`) Port on which proxy is binding.
:type port:
:param username: (:attr:`username`) Username for proxy authentication.
:type username:
:param password: (:attr:`password`) Password for proxy authentication.
:type password:
:param proxy_types: (:attr:`proxy_types`) Proxy types to send applicable traffic.
:type proxy_types:
"""
"""
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 = {
'name': 'str',
'address_value': 'common.v1.config.IPAddressOrFQDN',
'port': 'int',
'username': 'str',
'password': 'str',
'proxy_types': 'list[prism.v4.serviceability.ProxyType]',
'_reserved': 'dict(str, object)',
'_object_type': 'str',
'_unknown_fields': 'dict(str, object)',
}
attribute_map = {
'name': 'name',
'address_value': 'addressValue',
'port': 'port',
'username': 'username',
'password': 'password',
'proxy_types': 'proxyTypes',
'_reserved': '$reserved',
'_object_type': '$objectType',
'_unknown_fields': '$unknownFields',
}
def __init__(self, name=None, address_value=None, port=None, username=None, password=None, proxy_types=None, *args, **kwargs): # noqa: E501
self.__name = None
self.__address_value = None
self.__port = None
self.__username = None
self.__password = None
self.__proxy_types = None
self.discriminator = None
if name is not None:
self.__name = name
if address_value is not None:
self.__address_value = address_value
if port is not None:
self.__port = port
if username is not None:
self.__username = username
if password is not None:
self.__password = password
if proxy_types is not None:
self.__proxy_types = proxy_types
# populate hidden vars if not empty
self._populate_hidden_vars(kwargs)
def _initialize_object_type(self):
return 'prism.v4.serviceability.HttpProxy'
def _initialize_fq_object_type(self):
return 'prism.v4.r0.a2.serviceability.HttpProxy'
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 name(self):
"""
Proxy name.
:type:
:class:`~str`
""" # noqa: E501
return self.__name
@name.setter
def name(self, name):
self.__name = name
@property
def address_value(self):
"""
:type:
:class:`~ntnx_prism_py_client.models.common.v1.config.IPAddressOrFQDN`
""" # noqa: E501
return self.__address_value
@address_value.setter
def address_value(self, address_value):
self.__address_value = address_value
@property
def port(self):
"""
Port on which proxy is binding.
:type:
:class:`~int`
""" # noqa: E501
return self.__port
@port.setter
def port(self, port):
if port is not None and port > 65536: # noqa: E501
raise ValueError("Invalid value for `port`, must be a value less than or equal to `65536`") # noqa: E501
if port is not None and port < 0: # noqa: E501
raise ValueError("Invalid value for `port`, must be a value greater than or equal to `0`") # noqa: E501
self.__port = port
@property
def username(self):
"""
Username for proxy authentication.
:type:
:class:`~str`
""" # noqa: E501
return self.__username
@username.setter
def username(self, username):
self.__username = username
@property
def password(self):
"""
Password for proxy authentication.
:type:
:class:`~str`
""" # noqa: E501
return self.__password
@password.setter
def password(self, password):
self.__password = password
@property
def proxy_types(self):
"""
Proxy types to send applicable traffic.
:type:
list[ :class:`~ntnx_prism_py_client.models.prism.v4.serviceability.ProxyType` ]
""" # noqa: E501
return self.__proxy_types
@proxy_types.setter
def proxy_types(self, proxy_types):
self.__proxy_types = proxy_types
@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(HttpProxy, 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, HttpProxy):
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
"""Returns true if both objects are not equal"""
return not self == other