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 AutonomousVmCluster(object):
12    """
13    Details of the Autonomous VM cluster.
14    """
15
16    #: A constant which can be used with the lifecycle_state property of a AutonomousVmCluster.
17    #: This constant has a value of "PROVISIONING"
18    LIFECYCLE_STATE_PROVISIONING = "PROVISIONING"
19
20    #: A constant which can be used with the lifecycle_state property of a AutonomousVmCluster.
21    #: This constant has a value of "AVAILABLE"
22    LIFECYCLE_STATE_AVAILABLE = "AVAILABLE"
23
24    #: A constant which can be used with the lifecycle_state property of a AutonomousVmCluster.
25    #: This constant has a value of "UPDATING"
26    LIFECYCLE_STATE_UPDATING = "UPDATING"
27
28    #: A constant which can be used with the lifecycle_state property of a AutonomousVmCluster.
29    #: This constant has a value of "TERMINATING"
30    LIFECYCLE_STATE_TERMINATING = "TERMINATING"
31
32    #: A constant which can be used with the lifecycle_state property of a AutonomousVmCluster.
33    #: This constant has a value of "TERMINATED"
34    LIFECYCLE_STATE_TERMINATED = "TERMINATED"
35
36    #: A constant which can be used with the lifecycle_state property of a AutonomousVmCluster.
37    #: This constant has a value of "FAILED"
38    LIFECYCLE_STATE_FAILED = "FAILED"
39
40    #: A constant which can be used with the lifecycle_state property of a AutonomousVmCluster.
41    #: This constant has a value of "MAINTENANCE_IN_PROGRESS"
42    LIFECYCLE_STATE_MAINTENANCE_IN_PROGRESS = "MAINTENANCE_IN_PROGRESS"
43
44    #: A constant which can be used with the license_model property of a AutonomousVmCluster.
45    #: This constant has a value of "LICENSE_INCLUDED"
46    LICENSE_MODEL_LICENSE_INCLUDED = "LICENSE_INCLUDED"
47
48    #: A constant which can be used with the license_model property of a AutonomousVmCluster.
49    #: This constant has a value of "BRING_YOUR_OWN_LICENSE"
50    LICENSE_MODEL_BRING_YOUR_OWN_LICENSE = "BRING_YOUR_OWN_LICENSE"
51
52    def __init__(self, **kwargs):
53        """
54        Initializes a new AutonomousVmCluster object with values from keyword arguments.
55        The following keyword arguments are supported (corresponding to the getters/setters of this class):
56
57        :param id:
58            The value to assign to the id property of this AutonomousVmCluster.
59        :type id: str
60
61        :param compartment_id:
62            The value to assign to the compartment_id property of this AutonomousVmCluster.
63        :type compartment_id: str
64
65        :param display_name:
66            The value to assign to the display_name property of this AutonomousVmCluster.
67        :type display_name: str
68
69        :param time_created:
70            The value to assign to the time_created property of this AutonomousVmCluster.
71        :type time_created: datetime
72
73        :param lifecycle_state:
74            The value to assign to the lifecycle_state property of this AutonomousVmCluster.
75            Allowed values for this property are: "PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MAINTENANCE_IN_PROGRESS", 'UNKNOWN_ENUM_VALUE'.
76            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
77        :type lifecycle_state: str
78
79        :param lifecycle_details:
80            The value to assign to the lifecycle_details property of this AutonomousVmCluster.
81        :type lifecycle_details: str
82
83        :param time_zone:
84            The value to assign to the time_zone property of this AutonomousVmCluster.
85        :type time_zone: str
86
87        :param exadata_infrastructure_id:
88            The value to assign to the exadata_infrastructure_id property of this AutonomousVmCluster.
89        :type exadata_infrastructure_id: str
90
91        :param vm_cluster_network_id:
92            The value to assign to the vm_cluster_network_id property of this AutonomousVmCluster.
93        :type vm_cluster_network_id: str
94
95        :param is_local_backup_enabled:
96            The value to assign to the is_local_backup_enabled property of this AutonomousVmCluster.
97        :type is_local_backup_enabled: bool
98
99        :param cpus_enabled:
100            The value to assign to the cpus_enabled property of this AutonomousVmCluster.
101        :type cpus_enabled: int
102
103        :param ocpus_enabled:
104            The value to assign to the ocpus_enabled property of this AutonomousVmCluster.
105        :type ocpus_enabled: float
106
107        :param available_cpus:
108            The value to assign to the available_cpus property of this AutonomousVmCluster.
109        :type available_cpus: int
110
111        :param memory_size_in_gbs:
112            The value to assign to the memory_size_in_gbs property of this AutonomousVmCluster.
113        :type memory_size_in_gbs: int
114
115        :param db_node_storage_size_in_gbs:
116            The value to assign to the db_node_storage_size_in_gbs property of this AutonomousVmCluster.
117        :type db_node_storage_size_in_gbs: int
118
119        :param data_storage_size_in_tbs:
120            The value to assign to the data_storage_size_in_tbs property of this AutonomousVmCluster.
121        :type data_storage_size_in_tbs: float
122
123        :param data_storage_size_in_gbs:
124            The value to assign to the data_storage_size_in_gbs property of this AutonomousVmCluster.
125        :type data_storage_size_in_gbs: float
126
127        :param available_data_storage_size_in_tbs:
128            The value to assign to the available_data_storage_size_in_tbs property of this AutonomousVmCluster.
129        :type available_data_storage_size_in_tbs: float
130
131        :param license_model:
132            The value to assign to the license_model property of this AutonomousVmCluster.
133            Allowed values for this property are: "LICENSE_INCLUDED", "BRING_YOUR_OWN_LICENSE", 'UNKNOWN_ENUM_VALUE'.
134            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
135        :type license_model: str
136
137        :param freeform_tags:
138            The value to assign to the freeform_tags property of this AutonomousVmCluster.
139        :type freeform_tags: dict(str, str)
140
141        :param defined_tags:
142            The value to assign to the defined_tags property of this AutonomousVmCluster.
143        :type defined_tags: dict(str, dict(str, object))
144
145        """
146        self.swagger_types = {
147            'id': 'str',
148            'compartment_id': 'str',
149            'display_name': 'str',
150            'time_created': 'datetime',
151            'lifecycle_state': 'str',
152            'lifecycle_details': 'str',
153            'time_zone': 'str',
154            'exadata_infrastructure_id': 'str',
155            'vm_cluster_network_id': 'str',
156            'is_local_backup_enabled': 'bool',
157            'cpus_enabled': 'int',
158            'ocpus_enabled': 'float',
159            'available_cpus': 'int',
160            'memory_size_in_gbs': 'int',
161            'db_node_storage_size_in_gbs': 'int',
162            'data_storage_size_in_tbs': 'float',
163            'data_storage_size_in_gbs': 'float',
164            'available_data_storage_size_in_tbs': 'float',
165            'license_model': 'str',
166            'freeform_tags': 'dict(str, str)',
167            'defined_tags': 'dict(str, dict(str, object))'
168        }
169
170        self.attribute_map = {
171            'id': 'id',
172            'compartment_id': 'compartmentId',
173            'display_name': 'displayName',
174            'time_created': 'timeCreated',
175            'lifecycle_state': 'lifecycleState',
176            'lifecycle_details': 'lifecycleDetails',
177            'time_zone': 'timeZone',
178            'exadata_infrastructure_id': 'exadataInfrastructureId',
179            'vm_cluster_network_id': 'vmClusterNetworkId',
180            'is_local_backup_enabled': 'isLocalBackupEnabled',
181            'cpus_enabled': 'cpusEnabled',
182            'ocpus_enabled': 'ocpusEnabled',
183            'available_cpus': 'availableCpus',
184            'memory_size_in_gbs': 'memorySizeInGBs',
185            'db_node_storage_size_in_gbs': 'dbNodeStorageSizeInGBs',
186            'data_storage_size_in_tbs': 'dataStorageSizeInTBs',
187            'data_storage_size_in_gbs': 'dataStorageSizeInGBs',
188            'available_data_storage_size_in_tbs': 'availableDataStorageSizeInTBs',
189            'license_model': 'licenseModel',
190            'freeform_tags': 'freeformTags',
191            'defined_tags': 'definedTags'
192        }
193
194        self._id = None
195        self._compartment_id = None
196        self._display_name = None
197        self._time_created = None
198        self._lifecycle_state = None
199        self._lifecycle_details = None
200        self._time_zone = None
201        self._exadata_infrastructure_id = None
202        self._vm_cluster_network_id = None
203        self._is_local_backup_enabled = None
204        self._cpus_enabled = None
205        self._ocpus_enabled = None
206        self._available_cpus = None
207        self._memory_size_in_gbs = None
208        self._db_node_storage_size_in_gbs = None
209        self._data_storage_size_in_tbs = None
210        self._data_storage_size_in_gbs = None
211        self._available_data_storage_size_in_tbs = None
212        self._license_model = None
213        self._freeform_tags = None
214        self._defined_tags = None
215
216    @property
217    def id(self):
218        """
219        **[Required]** Gets the id of this AutonomousVmCluster.
220        The `OCID`__ of the Autonomous VM cluster.
221
222        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
223
224
225        :return: The id of this AutonomousVmCluster.
226        :rtype: str
227        """
228        return self._id
229
230    @id.setter
231    def id(self, id):
232        """
233        Sets the id of this AutonomousVmCluster.
234        The `OCID`__ of the Autonomous VM cluster.
235
236        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
237
238
239        :param id: The id of this AutonomousVmCluster.
240        :type: str
241        """
242        self._id = id
243
244    @property
245    def compartment_id(self):
246        """
247        **[Required]** Gets the compartment_id of this AutonomousVmCluster.
248        The `OCID`__ of the compartment.
249
250        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
251
252
253        :return: The compartment_id of this AutonomousVmCluster.
254        :rtype: str
255        """
256        return self._compartment_id
257
258    @compartment_id.setter
259    def compartment_id(self, compartment_id):
260        """
261        Sets the compartment_id of this AutonomousVmCluster.
262        The `OCID`__ of the compartment.
263
264        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
265
266
267        :param compartment_id: The compartment_id of this AutonomousVmCluster.
268        :type: str
269        """
270        self._compartment_id = compartment_id
271
272    @property
273    def display_name(self):
274        """
275        **[Required]** Gets the display_name of this AutonomousVmCluster.
276        The user-friendly name for the Autonomous VM cluster. The name does not need to be unique.
277
278
279        :return: The display_name of this AutonomousVmCluster.
280        :rtype: str
281        """
282        return self._display_name
283
284    @display_name.setter
285    def display_name(self, display_name):
286        """
287        Sets the display_name of this AutonomousVmCluster.
288        The user-friendly name for the Autonomous VM cluster. The name does not need to be unique.
289
290
291        :param display_name: The display_name of this AutonomousVmCluster.
292        :type: str
293        """
294        self._display_name = display_name
295
296    @property
297    def time_created(self):
298        """
299        Gets the time_created of this AutonomousVmCluster.
300        The date and time that the Autonomous VM cluster was created.
301
302
303        :return: The time_created of this AutonomousVmCluster.
304        :rtype: datetime
305        """
306        return self._time_created
307
308    @time_created.setter
309    def time_created(self, time_created):
310        """
311        Sets the time_created of this AutonomousVmCluster.
312        The date and time that the Autonomous VM cluster was created.
313
314
315        :param time_created: The time_created of this AutonomousVmCluster.
316        :type: datetime
317        """
318        self._time_created = time_created
319
320    @property
321    def lifecycle_state(self):
322        """
323        **[Required]** Gets the lifecycle_state of this AutonomousVmCluster.
324        The current state of the Autonomous VM cluster.
325
326        Allowed values for this property are: "PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MAINTENANCE_IN_PROGRESS", 'UNKNOWN_ENUM_VALUE'.
327        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
328
329
330        :return: The lifecycle_state of this AutonomousVmCluster.
331        :rtype: str
332        """
333        return self._lifecycle_state
334
335    @lifecycle_state.setter
336    def lifecycle_state(self, lifecycle_state):
337        """
338        Sets the lifecycle_state of this AutonomousVmCluster.
339        The current state of the Autonomous VM cluster.
340
341
342        :param lifecycle_state: The lifecycle_state of this AutonomousVmCluster.
343        :type: str
344        """
345        allowed_values = ["PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MAINTENANCE_IN_PROGRESS"]
346        if not value_allowed_none_or_none_sentinel(lifecycle_state, allowed_values):
347            lifecycle_state = 'UNKNOWN_ENUM_VALUE'
348        self._lifecycle_state = lifecycle_state
349
350    @property
351    def lifecycle_details(self):
352        """
353        Gets the lifecycle_details of this AutonomousVmCluster.
354        Additional information about the current lifecycle state.
355
356
357        :return: The lifecycle_details of this AutonomousVmCluster.
358        :rtype: str
359        """
360        return self._lifecycle_details
361
362    @lifecycle_details.setter
363    def lifecycle_details(self, lifecycle_details):
364        """
365        Sets the lifecycle_details of this AutonomousVmCluster.
366        Additional information about the current lifecycle state.
367
368
369        :param lifecycle_details: The lifecycle_details of this AutonomousVmCluster.
370        :type: str
371        """
372        self._lifecycle_details = lifecycle_details
373
374    @property
375    def time_zone(self):
376        """
377        Gets the time_zone of this AutonomousVmCluster.
378        The time zone to use for the Autonomous VM cluster. For details, see `DB System Time Zones`__.
379
380        __ https://docs.cloud.oracle.com/Content/Database/References/timezones.htm
381
382
383        :return: The time_zone of this AutonomousVmCluster.
384        :rtype: str
385        """
386        return self._time_zone
387
388    @time_zone.setter
389    def time_zone(self, time_zone):
390        """
391        Sets the time_zone of this AutonomousVmCluster.
392        The time zone to use for the Autonomous VM cluster. For details, see `DB System Time Zones`__.
393
394        __ https://docs.cloud.oracle.com/Content/Database/References/timezones.htm
395
396
397        :param time_zone: The time_zone of this AutonomousVmCluster.
398        :type: str
399        """
400        self._time_zone = time_zone
401
402    @property
403    def exadata_infrastructure_id(self):
404        """
405        **[Required]** Gets the exadata_infrastructure_id of this AutonomousVmCluster.
406        The `OCID`__ of the Exadata infrastructure.
407
408        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
409
410
411        :return: The exadata_infrastructure_id of this AutonomousVmCluster.
412        :rtype: str
413        """
414        return self._exadata_infrastructure_id
415
416    @exadata_infrastructure_id.setter
417    def exadata_infrastructure_id(self, exadata_infrastructure_id):
418        """
419        Sets the exadata_infrastructure_id of this AutonomousVmCluster.
420        The `OCID`__ of the Exadata infrastructure.
421
422        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
423
424
425        :param exadata_infrastructure_id: The exadata_infrastructure_id of this AutonomousVmCluster.
426        :type: str
427        """
428        self._exadata_infrastructure_id = exadata_infrastructure_id
429
430    @property
431    def vm_cluster_network_id(self):
432        """
433        **[Required]** Gets the vm_cluster_network_id of this AutonomousVmCluster.
434        The `OCID`__ of the VM cluster network.
435
436        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
437
438
439        :return: The vm_cluster_network_id of this AutonomousVmCluster.
440        :rtype: str
441        """
442        return self._vm_cluster_network_id
443
444    @vm_cluster_network_id.setter
445    def vm_cluster_network_id(self, vm_cluster_network_id):
446        """
447        Sets the vm_cluster_network_id of this AutonomousVmCluster.
448        The `OCID`__ of the VM cluster network.
449
450        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
451
452
453        :param vm_cluster_network_id: The vm_cluster_network_id of this AutonomousVmCluster.
454        :type: str
455        """
456        self._vm_cluster_network_id = vm_cluster_network_id
457
458    @property
459    def is_local_backup_enabled(self):
460        """
461        Gets the is_local_backup_enabled of this AutonomousVmCluster.
462        If true, database backup on local Exadata storage is configured for the Autonomous VM cluster. If false, database backup on local Exadata storage is not available in the Autonomous VM cluster.
463
464
465        :return: The is_local_backup_enabled of this AutonomousVmCluster.
466        :rtype: bool
467        """
468        return self._is_local_backup_enabled
469
470    @is_local_backup_enabled.setter
471    def is_local_backup_enabled(self, is_local_backup_enabled):
472        """
473        Sets the is_local_backup_enabled of this AutonomousVmCluster.
474        If true, database backup on local Exadata storage is configured for the Autonomous VM cluster. If false, database backup on local Exadata storage is not available in the Autonomous VM cluster.
475
476
477        :param is_local_backup_enabled: The is_local_backup_enabled of this AutonomousVmCluster.
478        :type: bool
479        """
480        self._is_local_backup_enabled = is_local_backup_enabled
481
482    @property
483    def cpus_enabled(self):
484        """
485        Gets the cpus_enabled of this AutonomousVmCluster.
486        The number of enabled CPU cores.
487
488
489        :return: The cpus_enabled of this AutonomousVmCluster.
490        :rtype: int
491        """
492        return self._cpus_enabled
493
494    @cpus_enabled.setter
495    def cpus_enabled(self, cpus_enabled):
496        """
497        Sets the cpus_enabled of this AutonomousVmCluster.
498        The number of enabled CPU cores.
499
500
501        :param cpus_enabled: The cpus_enabled of this AutonomousVmCluster.
502        :type: int
503        """
504        self._cpus_enabled = cpus_enabled
505
506    @property
507    def ocpus_enabled(self):
508        """
509        Gets the ocpus_enabled of this AutonomousVmCluster.
510        The number of enabled OCPU cores.
511
512
513        :return: The ocpus_enabled of this AutonomousVmCluster.
514        :rtype: float
515        """
516        return self._ocpus_enabled
517
518    @ocpus_enabled.setter
519    def ocpus_enabled(self, ocpus_enabled):
520        """
521        Sets the ocpus_enabled of this AutonomousVmCluster.
522        The number of enabled OCPU cores.
523
524
525        :param ocpus_enabled: The ocpus_enabled of this AutonomousVmCluster.
526        :type: float
527        """
528        self._ocpus_enabled = ocpus_enabled
529
530    @property
531    def available_cpus(self):
532        """
533        Gets the available_cpus of this AutonomousVmCluster.
534        The numnber of CPU cores available.
535
536
537        :return: The available_cpus of this AutonomousVmCluster.
538        :rtype: int
539        """
540        return self._available_cpus
541
542    @available_cpus.setter
543    def available_cpus(self, available_cpus):
544        """
545        Sets the available_cpus of this AutonomousVmCluster.
546        The numnber of CPU cores available.
547
548
549        :param available_cpus: The available_cpus of this AutonomousVmCluster.
550        :type: int
551        """
552        self._available_cpus = available_cpus
553
554    @property
555    def memory_size_in_gbs(self):
556        """
557        Gets the memory_size_in_gbs of this AutonomousVmCluster.
558        The memory allocated in GBs.
559
560
561        :return: The memory_size_in_gbs of this AutonomousVmCluster.
562        :rtype: int
563        """
564        return self._memory_size_in_gbs
565
566    @memory_size_in_gbs.setter
567    def memory_size_in_gbs(self, memory_size_in_gbs):
568        """
569        Sets the memory_size_in_gbs of this AutonomousVmCluster.
570        The memory allocated in GBs.
571
572
573        :param memory_size_in_gbs: The memory_size_in_gbs of this AutonomousVmCluster.
574        :type: int
575        """
576        self._memory_size_in_gbs = memory_size_in_gbs
577
578    @property
579    def db_node_storage_size_in_gbs(self):
580        """
581        Gets the db_node_storage_size_in_gbs of this AutonomousVmCluster.
582        The local node storage allocated in GBs.
583
584
585        :return: The db_node_storage_size_in_gbs of this AutonomousVmCluster.
586        :rtype: int
587        """
588        return self._db_node_storage_size_in_gbs
589
590    @db_node_storage_size_in_gbs.setter
591    def db_node_storage_size_in_gbs(self, db_node_storage_size_in_gbs):
592        """
593        Sets the db_node_storage_size_in_gbs of this AutonomousVmCluster.
594        The local node storage allocated in GBs.
595
596
597        :param db_node_storage_size_in_gbs: The db_node_storage_size_in_gbs of this AutonomousVmCluster.
598        :type: int
599        """
600        self._db_node_storage_size_in_gbs = db_node_storage_size_in_gbs
601
602    @property
603    def data_storage_size_in_tbs(self):
604        """
605        Gets the data_storage_size_in_tbs of this AutonomousVmCluster.
606        The total data storage allocated in TBs
607
608
609        :return: The data_storage_size_in_tbs of this AutonomousVmCluster.
610        :rtype: float
611        """
612        return self._data_storage_size_in_tbs
613
614    @data_storage_size_in_tbs.setter
615    def data_storage_size_in_tbs(self, data_storage_size_in_tbs):
616        """
617        Sets the data_storage_size_in_tbs of this AutonomousVmCluster.
618        The total data storage allocated in TBs
619
620
621        :param data_storage_size_in_tbs: The data_storage_size_in_tbs of this AutonomousVmCluster.
622        :type: float
623        """
624        self._data_storage_size_in_tbs = data_storage_size_in_tbs
625
626    @property
627    def data_storage_size_in_gbs(self):
628        """
629        Gets the data_storage_size_in_gbs of this AutonomousVmCluster.
630        The total data storage allocated in GBs
631
632
633        :return: The data_storage_size_in_gbs of this AutonomousVmCluster.
634        :rtype: float
635        """
636        return self._data_storage_size_in_gbs
637
638    @data_storage_size_in_gbs.setter
639    def data_storage_size_in_gbs(self, data_storage_size_in_gbs):
640        """
641        Sets the data_storage_size_in_gbs of this AutonomousVmCluster.
642        The total data storage allocated in GBs
643
644
645        :param data_storage_size_in_gbs: The data_storage_size_in_gbs of this AutonomousVmCluster.
646        :type: float
647        """
648        self._data_storage_size_in_gbs = data_storage_size_in_gbs
649
650    @property
651    def available_data_storage_size_in_tbs(self):
652        """
653        Gets the available_data_storage_size_in_tbs of this AutonomousVmCluster.
654        The data storage available in TBs
655
656
657        :return: The available_data_storage_size_in_tbs of this AutonomousVmCluster.
658        :rtype: float
659        """
660        return self._available_data_storage_size_in_tbs
661
662    @available_data_storage_size_in_tbs.setter
663    def available_data_storage_size_in_tbs(self, available_data_storage_size_in_tbs):
664        """
665        Sets the available_data_storage_size_in_tbs of this AutonomousVmCluster.
666        The data storage available in TBs
667
668
669        :param available_data_storage_size_in_tbs: The available_data_storage_size_in_tbs of this AutonomousVmCluster.
670        :type: float
671        """
672        self._available_data_storage_size_in_tbs = available_data_storage_size_in_tbs
673
674    @property
675    def license_model(self):
676        """
677        Gets the license_model of this AutonomousVmCluster.
678        The Oracle license model that applies to the Autonomous VM cluster. The default is LICENSE_INCLUDED.
679
680        Allowed values for this property are: "LICENSE_INCLUDED", "BRING_YOUR_OWN_LICENSE", 'UNKNOWN_ENUM_VALUE'.
681        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
682
683
684        :return: The license_model of this AutonomousVmCluster.
685        :rtype: str
686        """
687        return self._license_model
688
689    @license_model.setter
690    def license_model(self, license_model):
691        """
692        Sets the license_model of this AutonomousVmCluster.
693        The Oracle license model that applies to the Autonomous VM cluster. The default is LICENSE_INCLUDED.
694
695
696        :param license_model: The license_model of this AutonomousVmCluster.
697        :type: str
698        """
699        allowed_values = ["LICENSE_INCLUDED", "BRING_YOUR_OWN_LICENSE"]
700        if not value_allowed_none_or_none_sentinel(license_model, allowed_values):
701            license_model = 'UNKNOWN_ENUM_VALUE'
702        self._license_model = license_model
703
704    @property
705    def freeform_tags(self):
706        """
707        Gets the freeform_tags of this AutonomousVmCluster.
708        Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
709        For more information, see `Resource Tags`__.
710
711        Example: `{\"Department\": \"Finance\"}`
712
713        __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm
714
715
716        :return: The freeform_tags of this AutonomousVmCluster.
717        :rtype: dict(str, str)
718        """
719        return self._freeform_tags
720
721    @freeform_tags.setter
722    def freeform_tags(self, freeform_tags):
723        """
724        Sets the freeform_tags of this AutonomousVmCluster.
725        Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
726        For more information, see `Resource Tags`__.
727
728        Example: `{\"Department\": \"Finance\"}`
729
730        __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm
731
732
733        :param freeform_tags: The freeform_tags of this AutonomousVmCluster.
734        :type: dict(str, str)
735        """
736        self._freeform_tags = freeform_tags
737
738    @property
739    def defined_tags(self):
740        """
741        Gets the defined_tags of this AutonomousVmCluster.
742        Defined tags for this resource. Each key is predefined and scoped to a namespace.
743        For more information, see `Resource Tags`__.
744
745        __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm
746
747
748        :return: The defined_tags of this AutonomousVmCluster.
749        :rtype: dict(str, dict(str, object))
750        """
751        return self._defined_tags
752
753    @defined_tags.setter
754    def defined_tags(self, defined_tags):
755        """
756        Sets the defined_tags of this AutonomousVmCluster.
757        Defined tags for this resource. Each key is predefined and scoped to a namespace.
758        For more information, see `Resource Tags`__.
759
760        __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm
761
762
763        :param defined_tags: The defined_tags of this AutonomousVmCluster.
764        :type: dict(str, dict(str, object))
765        """
766        self._defined_tags = defined_tags
767
768    def __repr__(self):
769        return formatted_flat_dict(self)
770
771    def __eq__(self, other):
772        if other is None:
773            return False
774
775        return self.__dict__ == other.__dict__
776
777    def __ne__(self, other):
778        return not self == other
779