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 LogAnalyticsLabelDefinition(object):
12    """
13    LogAnalyticsLabelDefinition
14    """
15
16    def __init__(self, **kwargs):
17        """
18        Initializes a new LogAnalyticsLabelDefinition object with values from keyword arguments.
19        The following keyword arguments are supported (corresponding to the getters/setters of this class):
20
21        :param edit_version:
22            The value to assign to the edit_version property of this LogAnalyticsLabelDefinition.
23        :type edit_version: int
24
25        :param is_system:
26            The value to assign to the is_system property of this LogAnalyticsLabelDefinition.
27        :type is_system: bool
28
29        :param source_id:
30            The value to assign to the source_id property of this LogAnalyticsLabelDefinition.
31        :type source_id: int
32
33        :param label_name:
34            The value to assign to the label_name property of this LogAnalyticsLabelDefinition.
35        :type label_name: str
36
37        """
38        self.swagger_types = {
39            'edit_version': 'int',
40            'is_system': 'bool',
41            'source_id': 'int',
42            'label_name': 'str'
43        }
44
45        self.attribute_map = {
46            'edit_version': 'editVersion',
47            'is_system': 'isSystem',
48            'source_id': 'sourceId',
49            'label_name': 'labelName'
50        }
51
52        self._edit_version = None
53        self._is_system = None
54        self._source_id = None
55        self._label_name = None
56
57    @property
58    def edit_version(self):
59        """
60        Gets the edit_version of this LogAnalyticsLabelDefinition.
61        The edit version.
62
63
64        :return: The edit_version of this LogAnalyticsLabelDefinition.
65        :rtype: int
66        """
67        return self._edit_version
68
69    @edit_version.setter
70    def edit_version(self, edit_version):
71        """
72        Sets the edit_version of this LogAnalyticsLabelDefinition.
73        The edit version.
74
75
76        :param edit_version: The edit_version of this LogAnalyticsLabelDefinition.
77        :type: int
78        """
79        self._edit_version = edit_version
80
81    @property
82    def is_system(self):
83        """
84        Gets the is_system of this LogAnalyticsLabelDefinition.
85        The system flag.  A value of false denotes a custom, or user
86        defined object.  A value of true denotes a built in object.
87
88
89        :return: The is_system of this LogAnalyticsLabelDefinition.
90        :rtype: bool
91        """
92        return self._is_system
93
94    @is_system.setter
95    def is_system(self, is_system):
96        """
97        Sets the is_system of this LogAnalyticsLabelDefinition.
98        The system flag.  A value of false denotes a custom, or user
99        defined object.  A value of true denotes a built in object.
100
101
102        :param is_system: The is_system of this LogAnalyticsLabelDefinition.
103        :type: bool
104        """
105        self._is_system = is_system
106
107    @property
108    def source_id(self):
109        """
110        Gets the source_id of this LogAnalyticsLabelDefinition.
111        The source unique identifier.
112
113
114        :return: The source_id of this LogAnalyticsLabelDefinition.
115        :rtype: int
116        """
117        return self._source_id
118
119    @source_id.setter
120    def source_id(self, source_id):
121        """
122        Sets the source_id of this LogAnalyticsLabelDefinition.
123        The source unique identifier.
124
125
126        :param source_id: The source_id of this LogAnalyticsLabelDefinition.
127        :type: int
128        """
129        self._source_id = source_id
130
131    @property
132    def label_name(self):
133        """
134        Gets the label_name of this LogAnalyticsLabelDefinition.
135        The label name.
136
137
138        :return: The label_name of this LogAnalyticsLabelDefinition.
139        :rtype: str
140        """
141        return self._label_name
142
143    @label_name.setter
144    def label_name(self, label_name):
145        """
146        Sets the label_name of this LogAnalyticsLabelDefinition.
147        The label name.
148
149
150        :param label_name: The label_name of this LogAnalyticsLabelDefinition.
151        :type: str
152        """
153        self._label_name = label_name
154
155    def __repr__(self):
156        return formatted_flat_dict(self)
157
158    def __eq__(self, other):
159        if other is None:
160            return False
161
162        return self.__dict__ == other.__dict__
163
164    def __ne__(self, other):
165        return not self == other
166