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 IPSecConnectionTunnelErrorDetails(object):
12    """
13    Ipsec tunnels error details
14    """
15
16    def __init__(self, **kwargs):
17        """
18        Initializes a new IPSecConnectionTunnelErrorDetails object with values from keyword arguments.
19        The following keyword arguments are supported (corresponding to the getters/setters of this class):
20
21        :param id:
22            The value to assign to the id property of this IPSecConnectionTunnelErrorDetails.
23        :type id: str
24
25        :param error_code:
26            The value to assign to the error_code property of this IPSecConnectionTunnelErrorDetails.
27        :type error_code: str
28
29        :param error_description:
30            The value to assign to the error_description property of this IPSecConnectionTunnelErrorDetails.
31        :type error_description: str
32
33        :param solution:
34            The value to assign to the solution property of this IPSecConnectionTunnelErrorDetails.
35        :type solution: str
36
37        :param oci_resources_link:
38            The value to assign to the oci_resources_link property of this IPSecConnectionTunnelErrorDetails.
39        :type oci_resources_link: str
40
41        :param timestamp:
42            The value to assign to the timestamp property of this IPSecConnectionTunnelErrorDetails.
43        :type timestamp: datetime
44
45        """
46        self.swagger_types = {
47            'id': 'str',
48            'error_code': 'str',
49            'error_description': 'str',
50            'solution': 'str',
51            'oci_resources_link': 'str',
52            'timestamp': 'datetime'
53        }
54
55        self.attribute_map = {
56            'id': 'id',
57            'error_code': 'errorCode',
58            'error_description': 'errorDescription',
59            'solution': 'solution',
60            'oci_resources_link': 'ociResourcesLink',
61            'timestamp': 'timestamp'
62        }
63
64        self._id = None
65        self._error_code = None
66        self._error_description = None
67        self._solution = None
68        self._oci_resources_link = None
69        self._timestamp = None
70
71    @property
72    def id(self):
73        """
74        **[Required]** Gets the id of this IPSecConnectionTunnelErrorDetails.
75        unique id generated for each error report
76
77
78        :return: The id of this IPSecConnectionTunnelErrorDetails.
79        :rtype: str
80        """
81        return self._id
82
83    @id.setter
84    def id(self, id):
85        """
86        Sets the id of this IPSecConnectionTunnelErrorDetails.
87        unique id generated for each error report
88
89
90        :param id: The id of this IPSecConnectionTunnelErrorDetails.
91        :type: str
92        """
93        self._id = id
94
95    @property
96    def error_code(self):
97        """
98        **[Required]** Gets the error_code of this IPSecConnectionTunnelErrorDetails.
99        unique code describes error type
100
101
102        :return: The error_code of this IPSecConnectionTunnelErrorDetails.
103        :rtype: str
104        """
105        return self._error_code
106
107    @error_code.setter
108    def error_code(self, error_code):
109        """
110        Sets the error_code of this IPSecConnectionTunnelErrorDetails.
111        unique code describes error type
112
113
114        :param error_code: The error_code of this IPSecConnectionTunnelErrorDetails.
115        :type: str
116        """
117        self._error_code = error_code
118
119    @property
120    def error_description(self):
121        """
122        **[Required]** Gets the error_description of this IPSecConnectionTunnelErrorDetails.
123        detailed description of the error
124
125
126        :return: The error_description of this IPSecConnectionTunnelErrorDetails.
127        :rtype: str
128        """
129        return self._error_description
130
131    @error_description.setter
132    def error_description(self, error_description):
133        """
134        Sets the error_description of this IPSecConnectionTunnelErrorDetails.
135        detailed description of the error
136
137
138        :param error_description: The error_description of this IPSecConnectionTunnelErrorDetails.
139        :type: str
140        """
141        self._error_description = error_description
142
143    @property
144    def solution(self):
145        """
146        **[Required]** Gets the solution of this IPSecConnectionTunnelErrorDetails.
147        how to resolve the error
148
149
150        :return: The solution of this IPSecConnectionTunnelErrorDetails.
151        :rtype: str
152        """
153        return self._solution
154
155    @solution.setter
156    def solution(self, solution):
157        """
158        Sets the solution of this IPSecConnectionTunnelErrorDetails.
159        how to resolve the error
160
161
162        :param solution: The solution of this IPSecConnectionTunnelErrorDetails.
163        :type: str
164        """
165        self._solution = solution
166
167    @property
168    def oci_resources_link(self):
169        """
170        **[Required]** Gets the oci_resources_link of this IPSecConnectionTunnelErrorDetails.
171        link to oracle resources
172
173
174        :return: The oci_resources_link of this IPSecConnectionTunnelErrorDetails.
175        :rtype: str
176        """
177        return self._oci_resources_link
178
179    @oci_resources_link.setter
180    def oci_resources_link(self, oci_resources_link):
181        """
182        Sets the oci_resources_link of this IPSecConnectionTunnelErrorDetails.
183        link to oracle resources
184
185
186        :param oci_resources_link: The oci_resources_link of this IPSecConnectionTunnelErrorDetails.
187        :type: str
188        """
189        self._oci_resources_link = oci_resources_link
190
191    @property
192    def timestamp(self):
193        """
194        **[Required]** Gets the timestamp of this IPSecConnectionTunnelErrorDetails.
195        timestamp when error occurred.
196
197
198        :return: The timestamp of this IPSecConnectionTunnelErrorDetails.
199        :rtype: datetime
200        """
201        return self._timestamp
202
203    @timestamp.setter
204    def timestamp(self, timestamp):
205        """
206        Sets the timestamp of this IPSecConnectionTunnelErrorDetails.
207        timestamp when error occurred.
208
209
210        :param timestamp: The timestamp of this IPSecConnectionTunnelErrorDetails.
211        :type: datetime
212        """
213        self._timestamp = timestamp
214
215    def __repr__(self):
216        return formatted_flat_dict(self)
217
218    def __eq__(self, other):
219        if other is None:
220            return False
221
222        return self.__dict__ == other.__dict__
223
224    def __ne__(self, other):
225        return not self == other
226