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 DataFlowDetails(object):
12    """
13    The information about a data flow.
14    """
15
16    def __init__(self, **kwargs):
17        """
18        Initializes a new DataFlowDetails object with values from keyword arguments.
19        The following keyword arguments are supported (corresponding to the getters/setters of this class):
20
21        :param key:
22            The value to assign to the key property of this DataFlowDetails.
23        :type key: str
24
25        :param model_type:
26            The value to assign to the model_type property of this DataFlowDetails.
27        :type model_type: str
28
29        :param model_version:
30            The value to assign to the model_version property of this DataFlowDetails.
31        :type model_version: str
32
33        :param parent_ref:
34            The value to assign to the parent_ref property of this DataFlowDetails.
35        :type parent_ref: oci.data_integration.models.ParentReference
36
37        :param name:
38            The value to assign to the name property of this DataFlowDetails.
39        :type name: str
40
41        :param identifier:
42            The value to assign to the identifier property of this DataFlowDetails.
43        :type identifier: str
44
45        :param object_version:
46            The value to assign to the object_version property of this DataFlowDetails.
47        :type object_version: int
48
49        :param nodes:
50            The value to assign to the nodes property of this DataFlowDetails.
51        :type nodes: list[oci.data_integration.models.FlowNode]
52
53        :param parameters:
54            The value to assign to the parameters property of this DataFlowDetails.
55        :type parameters: list[oci.data_integration.models.Parameter]
56
57        :param description:
58            The value to assign to the description property of this DataFlowDetails.
59        :type description: str
60
61        :param flow_config_values:
62            The value to assign to the flow_config_values property of this DataFlowDetails.
63        :type flow_config_values: oci.data_integration.models.ConfigValues
64
65        :param object_status:
66            The value to assign to the object_status property of this DataFlowDetails.
67        :type object_status: int
68
69        :param registry_metadata:
70            The value to assign to the registry_metadata property of this DataFlowDetails.
71        :type registry_metadata: oci.data_integration.models.RegistryMetadata
72
73        """
74        self.swagger_types = {
75            'key': 'str',
76            'model_type': 'str',
77            'model_version': 'str',
78            'parent_ref': 'ParentReference',
79            'name': 'str',
80            'identifier': 'str',
81            'object_version': 'int',
82            'nodes': 'list[FlowNode]',
83            'parameters': 'list[Parameter]',
84            'description': 'str',
85            'flow_config_values': 'ConfigValues',
86            'object_status': 'int',
87            'registry_metadata': 'RegistryMetadata'
88        }
89
90        self.attribute_map = {
91            'key': 'key',
92            'model_type': 'modelType',
93            'model_version': 'modelVersion',
94            'parent_ref': 'parentRef',
95            'name': 'name',
96            'identifier': 'identifier',
97            'object_version': 'objectVersion',
98            'nodes': 'nodes',
99            'parameters': 'parameters',
100            'description': 'description',
101            'flow_config_values': 'flowConfigValues',
102            'object_status': 'objectStatus',
103            'registry_metadata': 'registryMetadata'
104        }
105
106        self._key = None
107        self._model_type = None
108        self._model_version = None
109        self._parent_ref = None
110        self._name = None
111        self._identifier = None
112        self._object_version = None
113        self._nodes = None
114        self._parameters = None
115        self._description = None
116        self._flow_config_values = None
117        self._object_status = None
118        self._registry_metadata = None
119
120    @property
121    def key(self):
122        """
123        **[Required]** Gets the key of this DataFlowDetails.
124        Generated key that can be used in API calls to identify data flow. On scenarios where reference to the data flow is needed, a value can be passed in create.
125
126
127        :return: The key of this DataFlowDetails.
128        :rtype: str
129        """
130        return self._key
131
132    @key.setter
133    def key(self, key):
134        """
135        Sets the key of this DataFlowDetails.
136        Generated key that can be used in API calls to identify data flow. On scenarios where reference to the data flow is needed, a value can be passed in create.
137
138
139        :param key: The key of this DataFlowDetails.
140        :type: str
141        """
142        self._key = key
143
144    @property
145    def model_type(self):
146        """
147        **[Required]** Gets the model_type of this DataFlowDetails.
148        The type of the object.
149
150
151        :return: The model_type of this DataFlowDetails.
152        :rtype: str
153        """
154        return self._model_type
155
156    @model_type.setter
157    def model_type(self, model_type):
158        """
159        Sets the model_type of this DataFlowDetails.
160        The type of the object.
161
162
163        :param model_type: The model_type of this DataFlowDetails.
164        :type: str
165        """
166        self._model_type = model_type
167
168    @property
169    def model_version(self):
170        """
171        Gets the model_version of this DataFlowDetails.
172        The model version of an object.
173
174
175        :return: The model_version of this DataFlowDetails.
176        :rtype: str
177        """
178        return self._model_version
179
180    @model_version.setter
181    def model_version(self, model_version):
182        """
183        Sets the model_version of this DataFlowDetails.
184        The model version of an object.
185
186
187        :param model_version: The model_version of this DataFlowDetails.
188        :type: str
189        """
190        self._model_version = model_version
191
192    @property
193    def parent_ref(self):
194        """
195        Gets the parent_ref of this DataFlowDetails.
196
197        :return: The parent_ref of this DataFlowDetails.
198        :rtype: oci.data_integration.models.ParentReference
199        """
200        return self._parent_ref
201
202    @parent_ref.setter
203    def parent_ref(self, parent_ref):
204        """
205        Sets the parent_ref of this DataFlowDetails.
206
207        :param parent_ref: The parent_ref of this DataFlowDetails.
208        :type: oci.data_integration.models.ParentReference
209        """
210        self._parent_ref = parent_ref
211
212    @property
213    def name(self):
214        """
215        Gets the name of this DataFlowDetails.
216        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.
217
218
219        :return: The name of this DataFlowDetails.
220        :rtype: str
221        """
222        return self._name
223
224    @name.setter
225    def name(self, name):
226        """
227        Sets the name of this DataFlowDetails.
228        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.
229
230
231        :param name: The name of this DataFlowDetails.
232        :type: str
233        """
234        self._name = name
235
236    @property
237    def identifier(self):
238        """
239        Gets the identifier of this DataFlowDetails.
240        Value can only contain upper case letters, underscore, and numbers. It should begin with upper case letter or underscore. The value can be modified.
241
242
243        :return: The identifier of this DataFlowDetails.
244        :rtype: str
245        """
246        return self._identifier
247
248    @identifier.setter
249    def identifier(self, identifier):
250        """
251        Sets the identifier of this DataFlowDetails.
252        Value can only contain upper case letters, underscore, and numbers. It should begin with upper case letter or underscore. The value can be modified.
253
254
255        :param identifier: The identifier of this DataFlowDetails.
256        :type: str
257        """
258        self._identifier = identifier
259
260    @property
261    def object_version(self):
262        """
263        **[Required]** Gets the object_version of this DataFlowDetails.
264        The version of the object that is used to track changes in the object instance.
265
266
267        :return: The object_version of this DataFlowDetails.
268        :rtype: int
269        """
270        return self._object_version
271
272    @object_version.setter
273    def object_version(self, object_version):
274        """
275        Sets the object_version of this DataFlowDetails.
276        The version of the object that is used to track changes in the object instance.
277
278
279        :param object_version: The object_version of this DataFlowDetails.
280        :type: int
281        """
282        self._object_version = object_version
283
284    @property
285    def nodes(self):
286        """
287        Gets the nodes of this DataFlowDetails.
288        An array of nodes.
289
290
291        :return: The nodes of this DataFlowDetails.
292        :rtype: list[oci.data_integration.models.FlowNode]
293        """
294        return self._nodes
295
296    @nodes.setter
297    def nodes(self, nodes):
298        """
299        Sets the nodes of this DataFlowDetails.
300        An array of nodes.
301
302
303        :param nodes: The nodes of this DataFlowDetails.
304        :type: list[oci.data_integration.models.FlowNode]
305        """
306        self._nodes = nodes
307
308    @property
309    def parameters(self):
310        """
311        Gets the parameters of this DataFlowDetails.
312        An array of parameters.
313
314
315        :return: The parameters of this DataFlowDetails.
316        :rtype: list[oci.data_integration.models.Parameter]
317        """
318        return self._parameters
319
320    @parameters.setter
321    def parameters(self, parameters):
322        """
323        Sets the parameters of this DataFlowDetails.
324        An array of parameters.
325
326
327        :param parameters: The parameters of this DataFlowDetails.
328        :type: list[oci.data_integration.models.Parameter]
329        """
330        self._parameters = parameters
331
332    @property
333    def description(self):
334        """
335        Gets the description of this DataFlowDetails.
336        Detailed description for the object.
337
338
339        :return: The description of this DataFlowDetails.
340        :rtype: str
341        """
342        return self._description
343
344    @description.setter
345    def description(self, description):
346        """
347        Sets the description of this DataFlowDetails.
348        Detailed description for the object.
349
350
351        :param description: The description of this DataFlowDetails.
352        :type: str
353        """
354        self._description = description
355
356    @property
357    def flow_config_values(self):
358        """
359        Gets the flow_config_values of this DataFlowDetails.
360
361        :return: The flow_config_values of this DataFlowDetails.
362        :rtype: oci.data_integration.models.ConfigValues
363        """
364        return self._flow_config_values
365
366    @flow_config_values.setter
367    def flow_config_values(self, flow_config_values):
368        """
369        Sets the flow_config_values of this DataFlowDetails.
370
371        :param flow_config_values: The flow_config_values of this DataFlowDetails.
372        :type: oci.data_integration.models.ConfigValues
373        """
374        self._flow_config_values = flow_config_values
375
376    @property
377    def object_status(self):
378        """
379        Gets the object_status of this DataFlowDetails.
380        The status of an object that can be set to value 1 for shallow references across objects, other values reserved.
381
382
383        :return: The object_status of this DataFlowDetails.
384        :rtype: int
385        """
386        return self._object_status
387
388    @object_status.setter
389    def object_status(self, object_status):
390        """
391        Sets the object_status of this DataFlowDetails.
392        The status of an object that can be set to value 1 for shallow references across objects, other values reserved.
393
394
395        :param object_status: The object_status of this DataFlowDetails.
396        :type: int
397        """
398        self._object_status = object_status
399
400    @property
401    def registry_metadata(self):
402        """
403        Gets the registry_metadata of this DataFlowDetails.
404
405        :return: The registry_metadata of this DataFlowDetails.
406        :rtype: oci.data_integration.models.RegistryMetadata
407        """
408        return self._registry_metadata
409
410    @registry_metadata.setter
411    def registry_metadata(self, registry_metadata):
412        """
413        Sets the registry_metadata of this DataFlowDetails.
414
415        :param registry_metadata: The registry_metadata of this DataFlowDetails.
416        :type: oci.data_integration.models.RegistryMetadata
417        """
418        self._registry_metadata = registry_metadata
419
420    def __repr__(self):
421        return formatted_flat_dict(self)
422
423    def __eq__(self, other):
424        if other is None:
425            return False
426
427        return self.__dict__ == other.__dict__
428
429    def __ne__(self, other):
430        return not self == other
431