1# coding: utf-8
2# Copyright (c) 2016, 2021, Oracle and/or its affiliates.  All rights reserved.
3# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
4
5
6from oci.util import formatted_flat_dict, NONE_SENTINEL, value_allowed_none_or_none_sentinel  # noqa: F401
7from oci.decorators import init_model_state_from_kwargs
8
9
10@init_model_state_from_kwargs
11class DetectorConfiguration(object):
12    """
13    A single configuration applied to a detector
14    """
15
16    def __init__(self, **kwargs):
17        """
18        Initializes a new DetectorConfiguration object with values from keyword arguments.
19        The following keyword arguments are supported (corresponding to the getters/setters of this class):
20
21        :param config_key:
22            The value to assign to the config_key property of this DetectorConfiguration.
23        :type config_key: str
24
25        :param name:
26            The value to assign to the name property of this DetectorConfiguration.
27        :type name: str
28
29        :param value:
30            The value to assign to the value property of this DetectorConfiguration.
31        :type value: str
32
33        :param data_type:
34            The value to assign to the data_type property of this DetectorConfiguration.
35        :type data_type: str
36
37        :param values:
38            The value to assign to the values property of this DetectorConfiguration.
39        :type values: list[oci.cloud_guard.models.ConfigValue]
40
41        """
42        self.swagger_types = {
43            'config_key': 'str',
44            'name': 'str',
45            'value': 'str',
46            'data_type': 'str',
47            'values': 'list[ConfigValue]'
48        }
49
50        self.attribute_map = {
51            'config_key': 'configKey',
52            'name': 'name',
53            'value': 'value',
54            'data_type': 'dataType',
55            'values': 'values'
56        }
57
58        self._config_key = None
59        self._name = None
60        self._value = None
61        self._data_type = None
62        self._values = None
63
64    @property
65    def config_key(self):
66        """
67        **[Required]** Gets the config_key of this DetectorConfiguration.
68        Unique name of the configuration
69
70
71        :return: The config_key of this DetectorConfiguration.
72        :rtype: str
73        """
74        return self._config_key
75
76    @config_key.setter
77    def config_key(self, config_key):
78        """
79        Sets the config_key of this DetectorConfiguration.
80        Unique name of the configuration
81
82
83        :param config_key: The config_key of this DetectorConfiguration.
84        :type: str
85        """
86        self._config_key = config_key
87
88    @property
89    def name(self):
90        """
91        **[Required]** Gets the name of this DetectorConfiguration.
92        configuration name
93
94
95        :return: The name of this DetectorConfiguration.
96        :rtype: str
97        """
98        return self._name
99
100    @name.setter
101    def name(self, name):
102        """
103        Sets the name of this DetectorConfiguration.
104        configuration name
105
106
107        :param name: The name of this DetectorConfiguration.
108        :type: str
109        """
110        self._name = name
111
112    @property
113    def value(self):
114        """
115        Gets the value of this DetectorConfiguration.
116        configuration value
117
118
119        :return: The value of this DetectorConfiguration.
120        :rtype: str
121        """
122        return self._value
123
124    @value.setter
125    def value(self, value):
126        """
127        Sets the value of this DetectorConfiguration.
128        configuration value
129
130
131        :param value: The value of this DetectorConfiguration.
132        :type: str
133        """
134        self._value = value
135
136    @property
137    def data_type(self):
138        """
139        Gets the data_type of this DetectorConfiguration.
140        configuration data type
141
142
143        :return: The data_type of this DetectorConfiguration.
144        :rtype: str
145        """
146        return self._data_type
147
148    @data_type.setter
149    def data_type(self, data_type):
150        """
151        Sets the data_type of this DetectorConfiguration.
152        configuration data type
153
154
155        :param data_type: The data_type of this DetectorConfiguration.
156        :type: str
157        """
158        self._data_type = data_type
159
160    @property
161    def values(self):
162        """
163        Gets the values of this DetectorConfiguration.
164        List of configuration values
165
166
167        :return: The values of this DetectorConfiguration.
168        :rtype: list[oci.cloud_guard.models.ConfigValue]
169        """
170        return self._values
171
172    @values.setter
173    def values(self, values):
174        """
175        Sets the values of this DetectorConfiguration.
176        List of configuration values
177
178
179        :param values: The values of this DetectorConfiguration.
180        :type: list[oci.cloud_guard.models.ConfigValue]
181        """
182        self._values = values
183
184    def __repr__(self):
185        return formatted_flat_dict(self)
186
187    def __eq__(self, other):
188        if other is None:
189            return False
190
191        return self.__dict__ == other.__dict__
192
193    def __ne__(self, other):
194        return not self == other
195