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
5from .published_object import PublishedObject
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 PublishedObjectFromIntegrationTask(PublishedObject):
12    """
13    The integration task published object.
14    """
15
16    def __init__(self, **kwargs):
17        """
18        Initializes a new PublishedObjectFromIntegrationTask object with values from keyword arguments. The default value of the :py:attr:`~oci.data_integration.models.PublishedObjectFromIntegrationTask.model_type` attribute
19        of this class is ``INTEGRATION_TASK`` and it should not be changed.
20        The following keyword arguments are supported (corresponding to the getters/setters of this class):
21
22        :param model_type:
23            The value to assign to the model_type property of this PublishedObjectFromIntegrationTask.
24            Allowed values for this property are: "INTEGRATION_TASK", "DATA_LOADER_TASK", "PIPELINE_TASK", "SQL_TASK", "OCI_DATAFLOW_TASK", "REST_TASK"
25        :type model_type: str
26
27        :param key:
28            The value to assign to the key property of this PublishedObjectFromIntegrationTask.
29        :type key: str
30
31        :param model_version:
32            The value to assign to the model_version property of this PublishedObjectFromIntegrationTask.
33        :type model_version: str
34
35        :param parent_ref:
36            The value to assign to the parent_ref property of this PublishedObjectFromIntegrationTask.
37        :type parent_ref: oci.data_integration.models.ParentReference
38
39        :param name:
40            The value to assign to the name property of this PublishedObjectFromIntegrationTask.
41        :type name: str
42
43        :param description:
44            The value to assign to the description property of this PublishedObjectFromIntegrationTask.
45        :type description: str
46
47        :param object_version:
48            The value to assign to the object_version property of this PublishedObjectFromIntegrationTask.
49        :type object_version: int
50
51        :param object_status:
52            The value to assign to the object_status property of this PublishedObjectFromIntegrationTask.
53        :type object_status: int
54
55        :param identifier:
56            The value to assign to the identifier property of this PublishedObjectFromIntegrationTask.
57        :type identifier: str
58
59        :param input_ports:
60            The value to assign to the input_ports property of this PublishedObjectFromIntegrationTask.
61        :type input_ports: list[oci.data_integration.models.InputPort]
62
63        :param output_ports:
64            The value to assign to the output_ports property of this PublishedObjectFromIntegrationTask.
65        :type output_ports: list[oci.data_integration.models.OutputPort]
66
67        :param parameters:
68            The value to assign to the parameters property of this PublishedObjectFromIntegrationTask.
69        :type parameters: list[oci.data_integration.models.Parameter]
70
71        :param op_config_values:
72            The value to assign to the op_config_values property of this PublishedObjectFromIntegrationTask.
73        :type op_config_values: oci.data_integration.models.ConfigValues
74
75        :param config_provider_delegate:
76            The value to assign to the config_provider_delegate property of this PublishedObjectFromIntegrationTask.
77        :type config_provider_delegate: oci.data_integration.models.ConfigProvider
78
79        :param data_flow:
80            The value to assign to the data_flow property of this PublishedObjectFromIntegrationTask.
81        :type data_flow: oci.data_integration.models.DataFlow
82
83        """
84        self.swagger_types = {
85            'model_type': 'str',
86            'key': 'str',
87            'model_version': 'str',
88            'parent_ref': 'ParentReference',
89            'name': 'str',
90            'description': 'str',
91            'object_version': 'int',
92            'object_status': 'int',
93            'identifier': 'str',
94            'input_ports': 'list[InputPort]',
95            'output_ports': 'list[OutputPort]',
96            'parameters': 'list[Parameter]',
97            'op_config_values': 'ConfigValues',
98            'config_provider_delegate': 'ConfigProvider',
99            'data_flow': 'DataFlow'
100        }
101
102        self.attribute_map = {
103            'model_type': 'modelType',
104            'key': 'key',
105            'model_version': 'modelVersion',
106            'parent_ref': 'parentRef',
107            'name': 'name',
108            'description': 'description',
109            'object_version': 'objectVersion',
110            'object_status': 'objectStatus',
111            'identifier': 'identifier',
112            'input_ports': 'inputPorts',
113            'output_ports': 'outputPorts',
114            'parameters': 'parameters',
115            'op_config_values': 'opConfigValues',
116            'config_provider_delegate': 'configProviderDelegate',
117            'data_flow': 'dataFlow'
118        }
119
120        self._model_type = None
121        self._key = None
122        self._model_version = None
123        self._parent_ref = None
124        self._name = None
125        self._description = None
126        self._object_version = None
127        self._object_status = None
128        self._identifier = None
129        self._input_ports = None
130        self._output_ports = None
131        self._parameters = None
132        self._op_config_values = None
133        self._config_provider_delegate = None
134        self._data_flow = None
135        self._model_type = 'INTEGRATION_TASK'
136
137    @property
138    def input_ports(self):
139        """
140        Gets the input_ports of this PublishedObjectFromIntegrationTask.
141        An array of input ports.
142
143
144        :return: The input_ports of this PublishedObjectFromIntegrationTask.
145        :rtype: list[oci.data_integration.models.InputPort]
146        """
147        return self._input_ports
148
149    @input_ports.setter
150    def input_ports(self, input_ports):
151        """
152        Sets the input_ports of this PublishedObjectFromIntegrationTask.
153        An array of input ports.
154
155
156        :param input_ports: The input_ports of this PublishedObjectFromIntegrationTask.
157        :type: list[oci.data_integration.models.InputPort]
158        """
159        self._input_ports = input_ports
160
161    @property
162    def output_ports(self):
163        """
164        Gets the output_ports of this PublishedObjectFromIntegrationTask.
165        An array of output ports.
166
167
168        :return: The output_ports of this PublishedObjectFromIntegrationTask.
169        :rtype: list[oci.data_integration.models.OutputPort]
170        """
171        return self._output_ports
172
173    @output_ports.setter
174    def output_ports(self, output_ports):
175        """
176        Sets the output_ports of this PublishedObjectFromIntegrationTask.
177        An array of output ports.
178
179
180        :param output_ports: The output_ports of this PublishedObjectFromIntegrationTask.
181        :type: list[oci.data_integration.models.OutputPort]
182        """
183        self._output_ports = output_ports
184
185    @property
186    def parameters(self):
187        """
188        Gets the parameters of this PublishedObjectFromIntegrationTask.
189        An array of parameters.
190
191
192        :return: The parameters of this PublishedObjectFromIntegrationTask.
193        :rtype: list[oci.data_integration.models.Parameter]
194        """
195        return self._parameters
196
197    @parameters.setter
198    def parameters(self, parameters):
199        """
200        Sets the parameters of this PublishedObjectFromIntegrationTask.
201        An array of parameters.
202
203
204        :param parameters: The parameters of this PublishedObjectFromIntegrationTask.
205        :type: list[oci.data_integration.models.Parameter]
206        """
207        self._parameters = parameters
208
209    @property
210    def op_config_values(self):
211        """
212        Gets the op_config_values of this PublishedObjectFromIntegrationTask.
213
214        :return: The op_config_values of this PublishedObjectFromIntegrationTask.
215        :rtype: oci.data_integration.models.ConfigValues
216        """
217        return self._op_config_values
218
219    @op_config_values.setter
220    def op_config_values(self, op_config_values):
221        """
222        Sets the op_config_values of this PublishedObjectFromIntegrationTask.
223
224        :param op_config_values: The op_config_values of this PublishedObjectFromIntegrationTask.
225        :type: oci.data_integration.models.ConfigValues
226        """
227        self._op_config_values = op_config_values
228
229    @property
230    def config_provider_delegate(self):
231        """
232        Gets the config_provider_delegate of this PublishedObjectFromIntegrationTask.
233
234        :return: The config_provider_delegate of this PublishedObjectFromIntegrationTask.
235        :rtype: oci.data_integration.models.ConfigProvider
236        """
237        return self._config_provider_delegate
238
239    @config_provider_delegate.setter
240    def config_provider_delegate(self, config_provider_delegate):
241        """
242        Sets the config_provider_delegate of this PublishedObjectFromIntegrationTask.
243
244        :param config_provider_delegate: The config_provider_delegate of this PublishedObjectFromIntegrationTask.
245        :type: oci.data_integration.models.ConfigProvider
246        """
247        self._config_provider_delegate = config_provider_delegate
248
249    @property
250    def data_flow(self):
251        """
252        Gets the data_flow of this PublishedObjectFromIntegrationTask.
253
254        :return: The data_flow of this PublishedObjectFromIntegrationTask.
255        :rtype: oci.data_integration.models.DataFlow
256        """
257        return self._data_flow
258
259    @data_flow.setter
260    def data_flow(self, data_flow):
261        """
262        Sets the data_flow of this PublishedObjectFromIntegrationTask.
263
264        :param data_flow: The data_flow of this PublishedObjectFromIntegrationTask.
265        :type: oci.data_integration.models.DataFlow
266        """
267        self._data_flow = data_flow
268
269    def __repr__(self):
270        return formatted_flat_dict(self)
271
272    def __eq__(self, other):
273        if other is None:
274            return False
275
276        return self.__dict__ == other.__dict__
277
278    def __ne__(self, other):
279        return not self == other
280