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 ScheduleSummary(object):
12    """
13    The schedule summary information.
14    """
15
16    def __init__(self, **kwargs):
17        """
18        Initializes a new ScheduleSummary 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 ScheduleSummary.
23        :type key: str
24
25        :param model_version:
26            The value to assign to the model_version property of this ScheduleSummary.
27        :type model_version: str
28
29        :param model_type:
30            The value to assign to the model_type property of this ScheduleSummary.
31        :type model_type: str
32
33        :param parent_ref:
34            The value to assign to the parent_ref property of this ScheduleSummary.
35        :type parent_ref: oci.data_integration.models.ParentReference
36
37        :param name:
38            The value to assign to the name property of this ScheduleSummary.
39        :type name: str
40
41        :param description:
42            The value to assign to the description property of this ScheduleSummary.
43        :type description: str
44
45        :param object_version:
46            The value to assign to the object_version property of this ScheduleSummary.
47        :type object_version: int
48
49        :param object_status:
50            The value to assign to the object_status property of this ScheduleSummary.
51        :type object_status: int
52
53        :param identifier:
54            The value to assign to the identifier property of this ScheduleSummary.
55        :type identifier: str
56
57        :param frequency_details:
58            The value to assign to the frequency_details property of this ScheduleSummary.
59        :type frequency_details: oci.data_integration.models.AbstractFrequencyDetails
60
61        :param timezone:
62            The value to assign to the timezone property of this ScheduleSummary.
63        :type timezone: str
64
65        :param is_daylight_adjustment_enabled:
66            The value to assign to the is_daylight_adjustment_enabled property of this ScheduleSummary.
67        :type is_daylight_adjustment_enabled: bool
68
69        :param metadata:
70            The value to assign to the metadata property of this ScheduleSummary.
71        :type metadata: oci.data_integration.models.ObjectMetadata
72
73        """
74        self.swagger_types = {
75            'key': 'str',
76            'model_version': 'str',
77            'model_type': 'str',
78            'parent_ref': 'ParentReference',
79            'name': 'str',
80            'description': 'str',
81            'object_version': 'int',
82            'object_status': 'int',
83            'identifier': 'str',
84            'frequency_details': 'AbstractFrequencyDetails',
85            'timezone': 'str',
86            'is_daylight_adjustment_enabled': 'bool',
87            'metadata': 'ObjectMetadata'
88        }
89
90        self.attribute_map = {
91            'key': 'key',
92            'model_version': 'modelVersion',
93            'model_type': 'modelType',
94            'parent_ref': 'parentRef',
95            'name': 'name',
96            'description': 'description',
97            'object_version': 'objectVersion',
98            'object_status': 'objectStatus',
99            'identifier': 'identifier',
100            'frequency_details': 'frequencyDetails',
101            'timezone': 'timezone',
102            'is_daylight_adjustment_enabled': 'isDaylightAdjustmentEnabled',
103            'metadata': 'metadata'
104        }
105
106        self._key = None
107        self._model_version = None
108        self._model_type = None
109        self._parent_ref = None
110        self._name = None
111        self._description = None
112        self._object_version = None
113        self._object_status = None
114        self._identifier = None
115        self._frequency_details = None
116        self._timezone = None
117        self._is_daylight_adjustment_enabled = None
118        self._metadata = None
119
120    @property
121    def key(self):
122        """
123        Gets the key of this ScheduleSummary.
124        Generated key that can be used in API calls to identify schedule. On scenarios where reference to the schedule is needed, a value can be passed in create.
125
126
127        :return: The key of this ScheduleSummary.
128        :rtype: str
129        """
130        return self._key
131
132    @key.setter
133    def key(self, key):
134        """
135        Sets the key of this ScheduleSummary.
136        Generated key that can be used in API calls to identify schedule. On scenarios where reference to the schedule is needed, a value can be passed in create.
137
138
139        :param key: The key of this ScheduleSummary.
140        :type: str
141        """
142        self._key = key
143
144    @property
145    def model_version(self):
146        """
147        Gets the model_version of this ScheduleSummary.
148        This is a version number that is used by the service to upgrade objects if needed through releases of the service.
149
150
151        :return: The model_version of this ScheduleSummary.
152        :rtype: str
153        """
154        return self._model_version
155
156    @model_version.setter
157    def model_version(self, model_version):
158        """
159        Sets the model_version of this ScheduleSummary.
160        This is a version number that is used by the service to upgrade objects if needed through releases of the service.
161
162
163        :param model_version: The model_version of this ScheduleSummary.
164        :type: str
165        """
166        self._model_version = model_version
167
168    @property
169    def model_type(self):
170        """
171        Gets the model_type of this ScheduleSummary.
172        The type of the object.
173
174
175        :return: The model_type of this ScheduleSummary.
176        :rtype: str
177        """
178        return self._model_type
179
180    @model_type.setter
181    def model_type(self, model_type):
182        """
183        Sets the model_type of this ScheduleSummary.
184        The type of the object.
185
186
187        :param model_type: The model_type of this ScheduleSummary.
188        :type: str
189        """
190        self._model_type = model_type
191
192    @property
193    def parent_ref(self):
194        """
195        Gets the parent_ref of this ScheduleSummary.
196
197        :return: The parent_ref of this ScheduleSummary.
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 ScheduleSummary.
206
207        :param parent_ref: The parent_ref of this ScheduleSummary.
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 ScheduleSummary.
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 ScheduleSummary.
220        :rtype: str
221        """
222        return self._name
223
224    @name.setter
225    def name(self, name):
226        """
227        Sets the name of this ScheduleSummary.
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 ScheduleSummary.
232        :type: str
233        """
234        self._name = name
235
236    @property
237    def description(self):
238        """
239        Gets the description of this ScheduleSummary.
240        Detailed description for the object.
241
242
243        :return: The description of this ScheduleSummary.
244        :rtype: str
245        """
246        return self._description
247
248    @description.setter
249    def description(self, description):
250        """
251        Sets the description of this ScheduleSummary.
252        Detailed description for the object.
253
254
255        :param description: The description of this ScheduleSummary.
256        :type: str
257        """
258        self._description = description
259
260    @property
261    def object_version(self):
262        """
263        Gets the object_version of this ScheduleSummary.
264        This is used by the service for optimistic locking of the object, to prevent multiple users from simultaneously updating the object.
265
266
267        :return: The object_version of this ScheduleSummary.
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 ScheduleSummary.
276        This is used by the service for optimistic locking of the object, to prevent multiple users from simultaneously updating the object.
277
278
279        :param object_version: The object_version of this ScheduleSummary.
280        :type: int
281        """
282        self._object_version = object_version
283
284    @property
285    def object_status(self):
286        """
287        Gets the object_status of this ScheduleSummary.
288        The status of an object that can be set to value 1 for shallow references across objects, other values reserved.
289
290
291        :return: The object_status of this ScheduleSummary.
292        :rtype: int
293        """
294        return self._object_status
295
296    @object_status.setter
297    def object_status(self, object_status):
298        """
299        Sets the object_status of this ScheduleSummary.
300        The status of an object that can be set to value 1 for shallow references across objects, other values reserved.
301
302
303        :param object_status: The object_status of this ScheduleSummary.
304        :type: int
305        """
306        self._object_status = object_status
307
308    @property
309    def identifier(self):
310        """
311        Gets the identifier of this ScheduleSummary.
312        Value can only contain upper case letters, underscore, and numbers. It should begin with upper case letter or underscore. The value can be modified.
313
314
315        :return: The identifier of this ScheduleSummary.
316        :rtype: str
317        """
318        return self._identifier
319
320    @identifier.setter
321    def identifier(self, identifier):
322        """
323        Sets the identifier of this ScheduleSummary.
324        Value can only contain upper case letters, underscore, and numbers. It should begin with upper case letter or underscore. The value can be modified.
325
326
327        :param identifier: The identifier of this ScheduleSummary.
328        :type: str
329        """
330        self._identifier = identifier
331
332    @property
333    def frequency_details(self):
334        """
335        Gets the frequency_details of this ScheduleSummary.
336
337        :return: The frequency_details of this ScheduleSummary.
338        :rtype: oci.data_integration.models.AbstractFrequencyDetails
339        """
340        return self._frequency_details
341
342    @frequency_details.setter
343    def frequency_details(self, frequency_details):
344        """
345        Sets the frequency_details of this ScheduleSummary.
346
347        :param frequency_details: The frequency_details of this ScheduleSummary.
348        :type: oci.data_integration.models.AbstractFrequencyDetails
349        """
350        self._frequency_details = frequency_details
351
352    @property
353    def timezone(self):
354        """
355        Gets the timezone of this ScheduleSummary.
356        The timezone for the schedule.
357
358
359        :return: The timezone of this ScheduleSummary.
360        :rtype: str
361        """
362        return self._timezone
363
364    @timezone.setter
365    def timezone(self, timezone):
366        """
367        Sets the timezone of this ScheduleSummary.
368        The timezone for the schedule.
369
370
371        :param timezone: The timezone of this ScheduleSummary.
372        :type: str
373        """
374        self._timezone = timezone
375
376    @property
377    def is_daylight_adjustment_enabled(self):
378        """
379        Gets the is_daylight_adjustment_enabled of this ScheduleSummary.
380        A flag to indicate whether daylight adjustment should be considered or not.
381
382
383        :return: The is_daylight_adjustment_enabled of this ScheduleSummary.
384        :rtype: bool
385        """
386        return self._is_daylight_adjustment_enabled
387
388    @is_daylight_adjustment_enabled.setter
389    def is_daylight_adjustment_enabled(self, is_daylight_adjustment_enabled):
390        """
391        Sets the is_daylight_adjustment_enabled of this ScheduleSummary.
392        A flag to indicate whether daylight adjustment should be considered or not.
393
394
395        :param is_daylight_adjustment_enabled: The is_daylight_adjustment_enabled of this ScheduleSummary.
396        :type: bool
397        """
398        self._is_daylight_adjustment_enabled = is_daylight_adjustment_enabled
399
400    @property
401    def metadata(self):
402        """
403        Gets the metadata of this ScheduleSummary.
404
405        :return: The metadata of this ScheduleSummary.
406        :rtype: oci.data_integration.models.ObjectMetadata
407        """
408        return self._metadata
409
410    @metadata.setter
411    def metadata(self, metadata):
412        """
413        Sets the metadata of this ScheduleSummary.
414
415        :param metadata: The metadata of this ScheduleSummary.
416        :type: oci.data_integration.models.ObjectMetadata
417        """
418        self._metadata = 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