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 UpdateAutonomousVmClusterDetails(object): 12 """ 13 Details for updating the Autonomous VM cluster. 14 """ 15 16 #: A constant which can be used with the license_model property of a UpdateAutonomousVmClusterDetails. 17 #: This constant has a value of "LICENSE_INCLUDED" 18 LICENSE_MODEL_LICENSE_INCLUDED = "LICENSE_INCLUDED" 19 20 #: A constant which can be used with the license_model property of a UpdateAutonomousVmClusterDetails. 21 #: This constant has a value of "BRING_YOUR_OWN_LICENSE" 22 LICENSE_MODEL_BRING_YOUR_OWN_LICENSE = "BRING_YOUR_OWN_LICENSE" 23 24 def __init__(self, **kwargs): 25 """ 26 Initializes a new UpdateAutonomousVmClusterDetails object with values from keyword arguments. 27 The following keyword arguments are supported (corresponding to the getters/setters of this class): 28 29 :param license_model: 30 The value to assign to the license_model property of this UpdateAutonomousVmClusterDetails. 31 Allowed values for this property are: "LICENSE_INCLUDED", "BRING_YOUR_OWN_LICENSE" 32 :type license_model: str 33 34 :param freeform_tags: 35 The value to assign to the freeform_tags property of this UpdateAutonomousVmClusterDetails. 36 :type freeform_tags: dict(str, str) 37 38 :param defined_tags: 39 The value to assign to the defined_tags property of this UpdateAutonomousVmClusterDetails. 40 :type defined_tags: dict(str, dict(str, object)) 41 42 """ 43 self.swagger_types = { 44 'license_model': 'str', 45 'freeform_tags': 'dict(str, str)', 46 'defined_tags': 'dict(str, dict(str, object))' 47 } 48 49 self.attribute_map = { 50 'license_model': 'licenseModel', 51 'freeform_tags': 'freeformTags', 52 'defined_tags': 'definedTags' 53 } 54 55 self._license_model = None 56 self._freeform_tags = None 57 self._defined_tags = None 58 59 @property 60 def license_model(self): 61 """ 62 Gets the license_model of this UpdateAutonomousVmClusterDetails. 63 The Oracle license model that applies to the Autonomous VM cluster. The default is BRING_YOUR_OWN_LICENSE. 64 65 Allowed values for this property are: "LICENSE_INCLUDED", "BRING_YOUR_OWN_LICENSE" 66 67 68 :return: The license_model of this UpdateAutonomousVmClusterDetails. 69 :rtype: str 70 """ 71 return self._license_model 72 73 @license_model.setter 74 def license_model(self, license_model): 75 """ 76 Sets the license_model of this UpdateAutonomousVmClusterDetails. 77 The Oracle license model that applies to the Autonomous VM cluster. The default is BRING_YOUR_OWN_LICENSE. 78 79 80 :param license_model: The license_model of this UpdateAutonomousVmClusterDetails. 81 :type: str 82 """ 83 allowed_values = ["LICENSE_INCLUDED", "BRING_YOUR_OWN_LICENSE"] 84 if not value_allowed_none_or_none_sentinel(license_model, allowed_values): 85 raise ValueError( 86 "Invalid value for `license_model`, must be None or one of {0}" 87 .format(allowed_values) 88 ) 89 self._license_model = license_model 90 91 @property 92 def freeform_tags(self): 93 """ 94 Gets the freeform_tags of this UpdateAutonomousVmClusterDetails. 95 Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. 96 For more information, see `Resource Tags`__. 97 98 Example: `{\"Department\": \"Finance\"}` 99 100 __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm 101 102 103 :return: The freeform_tags of this UpdateAutonomousVmClusterDetails. 104 :rtype: dict(str, str) 105 """ 106 return self._freeform_tags 107 108 @freeform_tags.setter 109 def freeform_tags(self, freeform_tags): 110 """ 111 Sets the freeform_tags of this UpdateAutonomousVmClusterDetails. 112 Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. 113 For more information, see `Resource Tags`__. 114 115 Example: `{\"Department\": \"Finance\"}` 116 117 __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm 118 119 120 :param freeform_tags: The freeform_tags of this UpdateAutonomousVmClusterDetails. 121 :type: dict(str, str) 122 """ 123 self._freeform_tags = freeform_tags 124 125 @property 126 def defined_tags(self): 127 """ 128 Gets the defined_tags of this UpdateAutonomousVmClusterDetails. 129 Defined tags for this resource. Each key is predefined and scoped to a namespace. 130 For more information, see `Resource Tags`__. 131 132 __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm 133 134 135 :return: The defined_tags of this UpdateAutonomousVmClusterDetails. 136 :rtype: dict(str, dict(str, object)) 137 """ 138 return self._defined_tags 139 140 @defined_tags.setter 141 def defined_tags(self, defined_tags): 142 """ 143 Sets the defined_tags of this UpdateAutonomousVmClusterDetails. 144 Defined tags for this resource. Each key is predefined and scoped to a namespace. 145 For more information, see `Resource Tags`__. 146 147 __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm 148 149 150 :param defined_tags: The defined_tags of this UpdateAutonomousVmClusterDetails. 151 :type: dict(str, dict(str, object)) 152 """ 153 self._defined_tags = defined_tags 154 155 def __repr__(self): 156 return formatted_flat_dict(self) 157 158 def __eq__(self, other): 159 if other is None: 160 return False 161 162 return self.__dict__ == other.__dict__ 163 164 def __ne__(self, other): 165 return not self == other 166