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 CrashEventSystemInformation(object):
12    """
13    Detailed information about system at the time of the crash.
14    """
15
16    #: A constant which can be used with the architecture property of a CrashEventSystemInformation.
17    #: This constant has a value of "IA_32"
18    ARCHITECTURE_IA_32 = "IA_32"
19
20    #: A constant which can be used with the architecture property of a CrashEventSystemInformation.
21    #: This constant has a value of "X86_64"
22    ARCHITECTURE_X86_64 = "X86_64"
23
24    #: A constant which can be used with the architecture property of a CrashEventSystemInformation.
25    #: This constant has a value of "AARCH64"
26    ARCHITECTURE_AARCH64 = "AARCH64"
27
28    #: A constant which can be used with the architecture property of a CrashEventSystemInformation.
29    #: This constant has a value of "SPARC"
30    ARCHITECTURE_SPARC = "SPARC"
31
32    #: A constant which can be used with the architecture property of a CrashEventSystemInformation.
33    #: This constant has a value of "AMD64_DEBIAN"
34    ARCHITECTURE_AMD64_DEBIAN = "AMD64_DEBIAN"
35
36    #: A constant which can be used with the os_family property of a CrashEventSystemInformation.
37    #: This constant has a value of "LINUX"
38    OS_FAMILY_LINUX = "LINUX"
39
40    #: A constant which can be used with the os_family property of a CrashEventSystemInformation.
41    #: This constant has a value of "WINDOWS"
42    OS_FAMILY_WINDOWS = "WINDOWS"
43
44    #: A constant which can be used with the os_family property of a CrashEventSystemInformation.
45    #: This constant has a value of "ALL"
46    OS_FAMILY_ALL = "ALL"
47
48    def __init__(self, **kwargs):
49        """
50        Initializes a new CrashEventSystemInformation object with values from keyword arguments.
51        The following keyword arguments are supported (corresponding to the getters/setters of this class):
52
53        :param architecture:
54            The value to assign to the architecture property of this CrashEventSystemInformation.
55            Allowed values for this property are: "IA_32", "X86_64", "AARCH64", "SPARC", "AMD64_DEBIAN", 'UNKNOWN_ENUM_VALUE'.
56            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
57        :type architecture: str
58
59        :param ksplice_effective_kernel_version:
60            The value to assign to the ksplice_effective_kernel_version property of this CrashEventSystemInformation.
61        :type ksplice_effective_kernel_version: str
62
63        :param os_family:
64            The value to assign to the os_family property of this CrashEventSystemInformation.
65            Allowed values for this property are: "LINUX", "WINDOWS", "ALL", 'UNKNOWN_ENUM_VALUE'.
66            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
67        :type os_family: str
68
69        :param os_name:
70            The value to assign to the os_name property of this CrashEventSystemInformation.
71        :type os_name: str
72
73        :param os_kernel_release:
74            The value to assign to the os_kernel_release property of this CrashEventSystemInformation.
75        :type os_kernel_release: str
76
77        :param os_kernel_version:
78            The value to assign to the os_kernel_version property of this CrashEventSystemInformation.
79        :type os_kernel_version: str
80
81        :param os_system_version:
82            The value to assign to the os_system_version property of this CrashEventSystemInformation.
83        :type os_system_version: str
84
85        """
86        self.swagger_types = {
87            'architecture': 'str',
88            'ksplice_effective_kernel_version': 'str',
89            'os_family': 'str',
90            'os_name': 'str',
91            'os_kernel_release': 'str',
92            'os_kernel_version': 'str',
93            'os_system_version': 'str'
94        }
95
96        self.attribute_map = {
97            'architecture': 'architecture',
98            'ksplice_effective_kernel_version': 'kspliceEffectiveKernelVersion',
99            'os_family': 'osFamily',
100            'os_name': 'osName',
101            'os_kernel_release': 'osKernelRelease',
102            'os_kernel_version': 'osKernelVersion',
103            'os_system_version': 'osSystemVersion'
104        }
105
106        self._architecture = None
107        self._ksplice_effective_kernel_version = None
108        self._os_family = None
109        self._os_name = None
110        self._os_kernel_release = None
111        self._os_kernel_version = None
112        self._os_system_version = None
113
114    @property
115    def architecture(self):
116        """
117        Gets the architecture of this CrashEventSystemInformation.
118        system architecture
119
120        Allowed values for this property are: "IA_32", "X86_64", "AARCH64", "SPARC", "AMD64_DEBIAN", 'UNKNOWN_ENUM_VALUE'.
121        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
122
123
124        :return: The architecture of this CrashEventSystemInformation.
125        :rtype: str
126        """
127        return self._architecture
128
129    @architecture.setter
130    def architecture(self, architecture):
131        """
132        Sets the architecture of this CrashEventSystemInformation.
133        system architecture
134
135
136        :param architecture: The architecture of this CrashEventSystemInformation.
137        :type: str
138        """
139        allowed_values = ["IA_32", "X86_64", "AARCH64", "SPARC", "AMD64_DEBIAN"]
140        if not value_allowed_none_or_none_sentinel(architecture, allowed_values):
141            architecture = 'UNKNOWN_ENUM_VALUE'
142        self._architecture = architecture
143
144    @property
145    def ksplice_effective_kernel_version(self):
146        """
147        Gets the ksplice_effective_kernel_version of this CrashEventSystemInformation.
148        Active ksplice kernel version (uptrack-uname -r)
149
150
151        :return: The ksplice_effective_kernel_version of this CrashEventSystemInformation.
152        :rtype: str
153        """
154        return self._ksplice_effective_kernel_version
155
156    @ksplice_effective_kernel_version.setter
157    def ksplice_effective_kernel_version(self, ksplice_effective_kernel_version):
158        """
159        Sets the ksplice_effective_kernel_version of this CrashEventSystemInformation.
160        Active ksplice kernel version (uptrack-uname -r)
161
162
163        :param ksplice_effective_kernel_version: The ksplice_effective_kernel_version of this CrashEventSystemInformation.
164        :type: str
165        """
166        self._ksplice_effective_kernel_version = ksplice_effective_kernel_version
167
168    @property
169    def os_family(self):
170        """
171        Gets the os_family of this CrashEventSystemInformation.
172        The Operating System type of the managed instance.
173
174        Allowed values for this property are: "LINUX", "WINDOWS", "ALL", 'UNKNOWN_ENUM_VALUE'.
175        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
176
177
178        :return: The os_family of this CrashEventSystemInformation.
179        :rtype: str
180        """
181        return self._os_family
182
183    @os_family.setter
184    def os_family(self, os_family):
185        """
186        Sets the os_family of this CrashEventSystemInformation.
187        The Operating System type of the managed instance.
188
189
190        :param os_family: The os_family of this CrashEventSystemInformation.
191        :type: str
192        """
193        allowed_values = ["LINUX", "WINDOWS", "ALL"]
194        if not value_allowed_none_or_none_sentinel(os_family, allowed_values):
195            os_family = 'UNKNOWN_ENUM_VALUE'
196        self._os_family = os_family
197
198    @property
199    def os_name(self):
200        """
201        Gets the os_name of this CrashEventSystemInformation.
202        Operating System Name (OCA value)
203
204
205        :return: The os_name of this CrashEventSystemInformation.
206        :rtype: str
207        """
208        return self._os_name
209
210    @os_name.setter
211    def os_name(self, os_name):
212        """
213        Sets the os_name of this CrashEventSystemInformation.
214        Operating System Name (OCA value)
215
216
217        :param os_name: The os_name of this CrashEventSystemInformation.
218        :type: str
219        """
220        self._os_name = os_name
221
222    @property
223    def os_kernel_release(self):
224        """
225        Gets the os_kernel_release of this CrashEventSystemInformation.
226        Operating System Kernel Release (uname -v)
227
228
229        :return: The os_kernel_release of this CrashEventSystemInformation.
230        :rtype: str
231        """
232        return self._os_kernel_release
233
234    @os_kernel_release.setter
235    def os_kernel_release(self, os_kernel_release):
236        """
237        Sets the os_kernel_release of this CrashEventSystemInformation.
238        Operating System Kernel Release (uname -v)
239
240
241        :param os_kernel_release: The os_kernel_release of this CrashEventSystemInformation.
242        :type: str
243        """
244        self._os_kernel_release = os_kernel_release
245
246    @property
247    def os_kernel_version(self):
248        """
249        Gets the os_kernel_version of this CrashEventSystemInformation.
250        Operating System Kernel Version (uname -r)
251
252
253        :return: The os_kernel_version of this CrashEventSystemInformation.
254        :rtype: str
255        """
256        return self._os_kernel_version
257
258    @os_kernel_version.setter
259    def os_kernel_version(self, os_kernel_version):
260        """
261        Sets the os_kernel_version of this CrashEventSystemInformation.
262        Operating System Kernel Version (uname -r)
263
264
265        :param os_kernel_version: The os_kernel_version of this CrashEventSystemInformation.
266        :type: str
267        """
268        self._os_kernel_version = os_kernel_version
269
270    @property
271    def os_system_version(self):
272        """
273        Gets the os_system_version of this CrashEventSystemInformation.
274        Version of the OS (VERSION from /etc/os-release)
275
276
277        :return: The os_system_version of this CrashEventSystemInformation.
278        :rtype: str
279        """
280        return self._os_system_version
281
282    @os_system_version.setter
283    def os_system_version(self, os_system_version):
284        """
285        Sets the os_system_version of this CrashEventSystemInformation.
286        Version of the OS (VERSION from /etc/os-release)
287
288
289        :param os_system_version: The os_system_version of this CrashEventSystemInformation.
290        :type: str
291        """
292        self._os_system_version = os_system_version
293
294    def __repr__(self):
295        return formatted_flat_dict(self)
296
297    def __eq__(self, other):
298        if other is None:
299            return False
300
301        return self.__dict__ == other.__dict__
302
303    def __ne__(self, other):
304        return not self == other
305