# coding: utf-8 """ Copyright 2015 SmartBear Software Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Ref: https://github.com/swagger-api/swagger-codegen """ from pprint import pformat from six import iteritems class Protections(object): """ NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually. """ def __init__(self): """ Protections - a model defined in Swagger :param dict swaggerTypes: The key is attribute name and the value is attribute type. :param dict attributeMap: The key is attribute name and the value is json key in definition. """ self.swagger_types = { 'protections': 'list[str]' } self.attribute_map = { 'protections': 'protections' } self._protections = None @property def protections(self): """ Gets the protections of this Protections. Each item in the protections array is a line in the protections table, and is split into five columns.\n\n1. Access level or mode.\nOne of the access levels list, read, open, write, admin, super, review; or one of the rights =read, =open, =write, and =branch,\n\n2. Either `user` or `group`, to indicate what's identified by this entry.\n\n3. The group name or user name.\nTo grant permission to all users, use a wildcard with just an asterix symbol.\n\n4. The IP address of the client host.\n\n5. The depot file path, which can contain wildcards.\nTo exclude this mapping from the permission set, use a dash `-` as the first character of this value.\n\nIPv6 addresses and IPv4 addresses are also supported.\nYou can use the * wildcard to refer to all IP addresses, but only when you are not using CIDR notation.\n\nIf you use the * wildcard with an IPv6 address, you must enclose the entire IPv6 address in square brackets.\nFor example, [2001:db8:1:2:*] is equivalent to [2001:db8:1:2::]/64.\nBest practice is to use CIDR notation, surround IPv6 addresses with brackets, and to avoid the * wildcard.\n\nHow the system forms host addresses depends on the setting of the dm.proxy.protects variable.\nBy default, this variable is set to 1.\nThis means that if the client host uses some intermediary (proxy, broker, replica) to access the server, the proxy- prefix is prepended to the client host address to indicate that the connection is not direct.\nIf you specify proxy-* for the Host field, that will affect all connections made via proxies, brokers, and replicas. A value like proxy-10.0.0.5 identifies a client machine with an IP address of 10.0.0.5 that is connected to the server through an intermediary.\n\nSetting the dm.proxy.protects variable to 0, removes the proxy- prefix and allows you to write a single set of protection entries that apply both to directly-connected clients as well as to those that connect via an intermediary.\nThis is more convenient but less secure if it matters that a connection is made using an intermediary. If you use this setting, all intermediaries must be at release 2012.1 or higher. :return: The protections of this Protections. :rtype: list[str] """ return self._protections @protections.setter def protections(self, protections): """ Sets the protections of this Protections. Each item in the protections array is a line in the protections table, and is split into five columns.\n\n1. Access level or mode.\nOne of the access levels list, read, open, write, admin, super, review; or one of the rights =read, =open, =write, and =branch,\n\n2. Either `user` or `group`, to indicate what's identified by this entry.\n\n3. The group name or user name.\nTo grant permission to all users, use a wildcard with just an asterix symbol.\n\n4. The IP address of the client host.\n\n5. The depot file path, which can contain wildcards.\nTo exclude this mapping from the permission set, use a dash `-` as the first character of this value.\n\nIPv6 addresses and IPv4 addresses are also supported.\nYou can use the * wildcard to refer to all IP addresses, but only when you are not using CIDR notation.\n\nIf you use the * wildcard with an IPv6 address, you must enclose the entire IPv6 address in square brackets.\nFor example, [2001:db8:1:2:*] is equivalent to [2001:db8:1:2::]/64.\nBest practice is to use CIDR notation, surround IPv6 addresses with brackets, and to avoid the * wildcard.\n\nHow the system forms host addresses depends on the setting of the dm.proxy.protects variable.\nBy default, this variable is set to 1.\nThis means that if the client host uses some intermediary (proxy, broker, replica) to access the server, the proxy- prefix is prepended to the client host address to indicate that the connection is not direct.\nIf you specify proxy-* for the Host field, that will affect all connections made via proxies, brokers, and replicas. A value like proxy-10.0.0.5 identifies a client machine with an IP address of 10.0.0.5 that is connected to the server through an intermediary.\n\nSetting the dm.proxy.protects variable to 0, removes the proxy- prefix and allows you to write a single set of protection entries that apply both to directly-connected clients as well as to those that connect via an intermediary.\nThis is more convenient but less secure if it matters that a connection is made using an intermediary. If you use this setting, all intermediaries must be at release 2012.1 or higher. :param protections: The protections of this Protections. :type: list[str] """ self._protections = protections def to_dict(self): """ Returns the model properties as a dict """ result = {} for attr, _ in iteritems(self.swagger_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() else: result[attr] = value return result def to_str(self): """ Returns the string representation of the model """ return 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 """ return self.__dict__ == other.__dict__ def __ne__(self, other): """ Returns true if both objects are not equal """ return not self == other