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 UpdateUserDefinedFunctionDetails(object):
12    """
13    Properties used in user defined function update operations.
14    """
15
16    def __init__(self, **kwargs):
17        """
18        Initializes a new UpdateUserDefinedFunctionDetails object with values from keyword arguments.
19        The following keyword arguments are supported (corresponding to the getters/setters of this class):
20
21        :param parent_ref:
22            The value to assign to the parent_ref property of this UpdateUserDefinedFunctionDetails.
23        :type parent_ref: oci.data_integration.models.ParentReference
24
25        :param name:
26            The value to assign to the name property of this UpdateUserDefinedFunctionDetails.
27        :type name: str
28
29        :param identifier:
30            The value to assign to the identifier property of this UpdateUserDefinedFunctionDetails.
31        :type identifier: str
32
33        :param model_version:
34            The value to assign to the model_version property of this UpdateUserDefinedFunctionDetails.
35        :type model_version: str
36
37        :param object_version:
38            The value to assign to the object_version property of this UpdateUserDefinedFunctionDetails.
39        :type object_version: int
40
41        :param signatures:
42            The value to assign to the signatures property of this UpdateUserDefinedFunctionDetails.
43        :type signatures: list[oci.data_integration.models.FunctionSignature]
44
45        :param expr:
46            The value to assign to the expr property of this UpdateUserDefinedFunctionDetails.
47        :type expr: oci.data_integration.models.Expression
48
49        :param description:
50            The value to assign to the description property of this UpdateUserDefinedFunctionDetails.
51        :type description: str
52
53        :param object_status:
54            The value to assign to the object_status property of this UpdateUserDefinedFunctionDetails.
55        :type object_status: int
56
57        :param registry_metadata:
58            The value to assign to the registry_metadata property of this UpdateUserDefinedFunctionDetails.
59        :type registry_metadata: oci.data_integration.models.RegistryMetadata
60
61        """
62        self.swagger_types = {
63            'parent_ref': 'ParentReference',
64            'name': 'str',
65            'identifier': 'str',
66            'model_version': 'str',
67            'object_version': 'int',
68            'signatures': 'list[FunctionSignature]',
69            'expr': 'Expression',
70            'description': 'str',
71            'object_status': 'int',
72            'registry_metadata': 'RegistryMetadata'
73        }
74
75        self.attribute_map = {
76            'parent_ref': 'parentRef',
77            'name': 'name',
78            'identifier': 'identifier',
79            'model_version': 'modelVersion',
80            'object_version': 'objectVersion',
81            'signatures': 'signatures',
82            'expr': 'expr',
83            'description': 'description',
84            'object_status': 'objectStatus',
85            'registry_metadata': 'registryMetadata'
86        }
87
88        self._parent_ref = None
89        self._name = None
90        self._identifier = None
91        self._model_version = None
92        self._object_version = None
93        self._signatures = None
94        self._expr = None
95        self._description = None
96        self._object_status = None
97        self._registry_metadata = None
98
99    @property
100    def parent_ref(self):
101        """
102        Gets the parent_ref of this UpdateUserDefinedFunctionDetails.
103
104        :return: The parent_ref of this UpdateUserDefinedFunctionDetails.
105        :rtype: oci.data_integration.models.ParentReference
106        """
107        return self._parent_ref
108
109    @parent_ref.setter
110    def parent_ref(self, parent_ref):
111        """
112        Sets the parent_ref of this UpdateUserDefinedFunctionDetails.
113
114        :param parent_ref: The parent_ref of this UpdateUserDefinedFunctionDetails.
115        :type: oci.data_integration.models.ParentReference
116        """
117        self._parent_ref = parent_ref
118
119    @property
120    def name(self):
121        """
122        Gets the name of this UpdateUserDefinedFunctionDetails.
123        Free form text without any restriction on permitted characters. Name can have letters, numbers, and special characters. The value is editable and is restricted to 1000 characters.
124
125
126        :return: The name of this UpdateUserDefinedFunctionDetails.
127        :rtype: str
128        """
129        return self._name
130
131    @name.setter
132    def name(self, name):
133        """
134        Sets the name of this UpdateUserDefinedFunctionDetails.
135        Free form text without any restriction on permitted characters. Name can have letters, numbers, and special characters. The value is editable and is restricted to 1000 characters.
136
137
138        :param name: The name of this UpdateUserDefinedFunctionDetails.
139        :type: str
140        """
141        self._name = name
142
143    @property
144    def identifier(self):
145        """
146        Gets the identifier of this UpdateUserDefinedFunctionDetails.
147        Value can only contain upper case letters, underscore, and numbers. It should begin with upper case letter or underscore. The value can be modified.
148
149
150        :return: The identifier of this UpdateUserDefinedFunctionDetails.
151        :rtype: str
152        """
153        return self._identifier
154
155    @identifier.setter
156    def identifier(self, identifier):
157        """
158        Sets the identifier of this UpdateUserDefinedFunctionDetails.
159        Value can only contain upper case letters, underscore, and numbers. It should begin with upper case letter or underscore. The value can be modified.
160
161
162        :param identifier: The identifier of this UpdateUserDefinedFunctionDetails.
163        :type: str
164        """
165        self._identifier = identifier
166
167    @property
168    def model_version(self):
169        """
170        Gets the model_version of this UpdateUserDefinedFunctionDetails.
171        The model version of an object.
172
173
174        :return: The model_version of this UpdateUserDefinedFunctionDetails.
175        :rtype: str
176        """
177        return self._model_version
178
179    @model_version.setter
180    def model_version(self, model_version):
181        """
182        Sets the model_version of this UpdateUserDefinedFunctionDetails.
183        The model version of an object.
184
185
186        :param model_version: The model_version of this UpdateUserDefinedFunctionDetails.
187        :type: str
188        """
189        self._model_version = model_version
190
191    @property
192    def object_version(self):
193        """
194        Gets the object_version of this UpdateUserDefinedFunctionDetails.
195        The version of the object that is used to track changes in the object instance.
196
197
198        :return: The object_version of this UpdateUserDefinedFunctionDetails.
199        :rtype: int
200        """
201        return self._object_version
202
203    @object_version.setter
204    def object_version(self, object_version):
205        """
206        Sets the object_version of this UpdateUserDefinedFunctionDetails.
207        The version of the object that is used to track changes in the object instance.
208
209
210        :param object_version: The object_version of this UpdateUserDefinedFunctionDetails.
211        :type: int
212        """
213        self._object_version = object_version
214
215    @property
216    def signatures(self):
217        """
218        Gets the signatures of this UpdateUserDefinedFunctionDetails.
219        An array of function signature.
220
221
222        :return: The signatures of this UpdateUserDefinedFunctionDetails.
223        :rtype: list[oci.data_integration.models.FunctionSignature]
224        """
225        return self._signatures
226
227    @signatures.setter
228    def signatures(self, signatures):
229        """
230        Sets the signatures of this UpdateUserDefinedFunctionDetails.
231        An array of function signature.
232
233
234        :param signatures: The signatures of this UpdateUserDefinedFunctionDetails.
235        :type: list[oci.data_integration.models.FunctionSignature]
236        """
237        self._signatures = signatures
238
239    @property
240    def expr(self):
241        """
242        Gets the expr of this UpdateUserDefinedFunctionDetails.
243
244        :return: The expr of this UpdateUserDefinedFunctionDetails.
245        :rtype: oci.data_integration.models.Expression
246        """
247        return self._expr
248
249    @expr.setter
250    def expr(self, expr):
251        """
252        Sets the expr of this UpdateUserDefinedFunctionDetails.
253
254        :param expr: The expr of this UpdateUserDefinedFunctionDetails.
255        :type: oci.data_integration.models.Expression
256        """
257        self._expr = expr
258
259    @property
260    def description(self):
261        """
262        Gets the description of this UpdateUserDefinedFunctionDetails.
263        Detailed description for the object.
264
265
266        :return: The description of this UpdateUserDefinedFunctionDetails.
267        :rtype: str
268        """
269        return self._description
270
271    @description.setter
272    def description(self, description):
273        """
274        Sets the description of this UpdateUserDefinedFunctionDetails.
275        Detailed description for the object.
276
277
278        :param description: The description of this UpdateUserDefinedFunctionDetails.
279        :type: str
280        """
281        self._description = description
282
283    @property
284    def object_status(self):
285        """
286        Gets the object_status of this UpdateUserDefinedFunctionDetails.
287        The status of an object that can be set to value 1 for shallow references across objects, other values reserved.
288
289
290        :return: The object_status of this UpdateUserDefinedFunctionDetails.
291        :rtype: int
292        """
293        return self._object_status
294
295    @object_status.setter
296    def object_status(self, object_status):
297        """
298        Sets the object_status of this UpdateUserDefinedFunctionDetails.
299        The status of an object that can be set to value 1 for shallow references across objects, other values reserved.
300
301
302        :param object_status: The object_status of this UpdateUserDefinedFunctionDetails.
303        :type: int
304        """
305        self._object_status = object_status
306
307    @property
308    def registry_metadata(self):
309        """
310        Gets the registry_metadata of this UpdateUserDefinedFunctionDetails.
311
312        :return: The registry_metadata of this UpdateUserDefinedFunctionDetails.
313        :rtype: oci.data_integration.models.RegistryMetadata
314        """
315        return self._registry_metadata
316
317    @registry_metadata.setter
318    def registry_metadata(self, registry_metadata):
319        """
320        Sets the registry_metadata of this UpdateUserDefinedFunctionDetails.
321
322        :param registry_metadata: The registry_metadata of this UpdateUserDefinedFunctionDetails.
323        :type: oci.data_integration.models.RegistryMetadata
324        """
325        self._registry_metadata = registry_metadata
326
327    def __repr__(self):
328        return formatted_flat_dict(self)
329
330    def __eq__(self, other):
331        if other is None:
332            return False
333
334        return self.__dict__ == other.__dict__
335
336    def __ne__(self, other):
337        return not self == other
338