Class: OCI::Database::Models::CloudAutomationUpdateDetails
- Inherits:
-
Object
- Object
- OCI::Database::Models::CloudAutomationUpdateDetails
- Defined in:
- lib/oci/database/models/cloud_automation_update_details.rb
Overview
Specifies the properties necessary for cloud automation updates. This includes modifying the apply update time preference, enabling or disabling early adoption, and enabling, modifying, or disabling the update freeze period.
Instance Attribute Summary collapse
- #apply_update_time_preference ⇒ OCI::Database::Models::CloudAutomationApplyUpdateTimePreference
- #freeze_period ⇒ OCI::Database::Models::CloudAutomationFreezePeriod
-
#is_early_adoption_enabled ⇒ BOOLEAN
Annotates whether the cluster should be part of early access to apply VM cloud automation software updates.
-
#is_freeze_period_enabled ⇒ BOOLEAN
Specifies if the freeze period is enabled for the VM cluster to prevent the VMs from receiving cloud automation software updates during critical business cycles.
Class Method Summary collapse
-
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
-
.swagger_types ⇒ Object
Attribute type mapping.
Instance Method Summary collapse
-
#==(other) ⇒ Object
Checks equality by comparing each attribute.
-
#build_from_hash(attributes) ⇒ Object
Builds the object from hash.
- #eql?(other) ⇒ Boolean
-
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
-
#initialize(attributes = {}) ⇒ CloudAutomationUpdateDetails
constructor
Initializes the object.
-
#to_hash ⇒ Hash
Returns the object in the form of hash.
-
#to_s ⇒ String
Returns the string representation of the object.
Constructor Details
#initialize(attributes = {}) ⇒ CloudAutomationUpdateDetails
Initializes the object
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/oci/database/models/cloud_automation_update_details.rb', line 62 def initialize(attributes = {}) return unless attributes.is_a?(Hash) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } self.is_early_adoption_enabled = attributes[:'isEarlyAdoptionEnabled'] unless attributes[:'isEarlyAdoptionEnabled'].nil? raise 'You cannot provide both :isEarlyAdoptionEnabled and :is_early_adoption_enabled' if attributes.key?(:'isEarlyAdoptionEnabled') && attributes.key?(:'is_early_adoption_enabled') self.is_early_adoption_enabled = attributes[:'is_early_adoption_enabled'] unless attributes[:'is_early_adoption_enabled'].nil? self.is_freeze_period_enabled = attributes[:'isFreezePeriodEnabled'] unless attributes[:'isFreezePeriodEnabled'].nil? raise 'You cannot provide both :isFreezePeriodEnabled and :is_freeze_period_enabled' if attributes.key?(:'isFreezePeriodEnabled') && attributes.key?(:'is_freeze_period_enabled') self.is_freeze_period_enabled = attributes[:'is_freeze_period_enabled'] unless attributes[:'is_freeze_period_enabled'].nil? self.apply_update_time_preference = attributes[:'applyUpdateTimePreference'] if attributes[:'applyUpdateTimePreference'] raise 'You cannot provide both :applyUpdateTimePreference and :apply_update_time_preference' if attributes.key?(:'applyUpdateTimePreference') && attributes.key?(:'apply_update_time_preference') self.apply_update_time_preference = attributes[:'apply_update_time_preference'] if attributes[:'apply_update_time_preference'] self.freeze_period = attributes[:'freezePeriod'] if attributes[:'freezePeriod'] raise 'You cannot provide both :freezePeriod and :freeze_period' if attributes.key?(:'freezePeriod') && attributes.key?(:'freeze_period') self.freeze_period = attributes[:'freeze_period'] if attributes[:'freeze_period'] end |
Instance Attribute Details
#apply_update_time_preference ⇒ OCI::Database::Models::CloudAutomationApplyUpdateTimePreference
23 24 25 |
# File 'lib/oci/database/models/cloud_automation_update_details.rb', line 23 def apply_update_time_preference @apply_update_time_preference end |
#freeze_period ⇒ OCI::Database::Models::CloudAutomationFreezePeriod
26 27 28 |
# File 'lib/oci/database/models/cloud_automation_update_details.rb', line 26 def freeze_period @freeze_period end |
#is_early_adoption_enabled ⇒ BOOLEAN
Annotates whether the cluster should be part of early access to apply VM cloud automation software updates. Those clusters annotated as early access will download the software bits for cloud automation in the first week after the update is available, while other clusters will have to wait until the following week.
15 16 17 |
# File 'lib/oci/database/models/cloud_automation_update_details.rb', line 15 def is_early_adoption_enabled @is_early_adoption_enabled end |
#is_freeze_period_enabled ⇒ BOOLEAN
Specifies if the freeze period is enabled for the VM cluster to prevent the VMs from receiving cloud automation software updates during critical business cycles. Freeze period starts at 12:00 AM UTC and ends at 11:59:59 PM UTC on the selected date. Ensure that the freezing period does not exceed 45 days.
20 21 22 |
# File 'lib/oci/database/models/cloud_automation_update_details.rb', line 20 def is_freeze_period_enabled @is_freeze_period_enabled end |
Class Method Details
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/oci/database/models/cloud_automation_update_details.rb', line 29 def self.attribute_map { # rubocop:disable Style/SymbolLiteral 'is_early_adoption_enabled': :'isEarlyAdoptionEnabled', 'is_freeze_period_enabled': :'isFreezePeriodEnabled', 'apply_update_time_preference': :'applyUpdateTimePreference', 'freeze_period': :'freezePeriod' # rubocop:enable Style/SymbolLiteral } end |
.swagger_types ⇒ Object
Attribute type mapping.
41 42 43 44 45 46 47 48 49 50 |
# File 'lib/oci/database/models/cloud_automation_update_details.rb', line 41 def self.swagger_types { # rubocop:disable Style/SymbolLiteral 'is_early_adoption_enabled': :'BOOLEAN', 'is_freeze_period_enabled': :'BOOLEAN', 'apply_update_time_preference': :'OCI::Database::Models::CloudAutomationApplyUpdateTimePreference', 'freeze_period': :'OCI::Database::Models::CloudAutomationFreezePeriod' # rubocop:enable Style/SymbolLiteral } end |
Instance Method Details
#==(other) ⇒ Object
Checks equality by comparing each attribute.
100 101 102 103 104 105 106 107 108 |
# File 'lib/oci/database/models/cloud_automation_update_details.rb', line 100 def ==(other) return true if equal?(other) self.class == other.class && is_early_adoption_enabled == other.is_early_adoption_enabled && is_freeze_period_enabled == other.is_freeze_period_enabled && apply_update_time_preference == other.apply_update_time_preference && freeze_period == other.freeze_period end |
#build_from_hash(attributes) ⇒ Object
Builds the object from hash
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 |
# File 'lib/oci/database/models/cloud_automation_update_details.rb', line 133 def build_from_hash(attributes) return nil unless attributes.is_a?(Hash) self.class.swagger_types.each_pair do |key, type| if type =~ /^Array<(.*)>/i # check to ensure the input is an array given that the the attribute # is documented as an array but the input is not if attributes[self.class.attribute_map[key]].is_a?(Array) public_method("#{key}=").call( attributes[self.class.attribute_map[key]] .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) } ) end elsif !attributes[self.class.attribute_map[key]].nil? public_method("#{key}=").call( OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]) ) end # or else data not found in attributes(hash), not an issue as the data can be optional end self end |
#eql?(other) ⇒ Boolean
113 114 115 |
# File 'lib/oci/database/models/cloud_automation_update_details.rb', line 113 def eql?(other) self == other end |
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
122 123 124 |
# File 'lib/oci/database/models/cloud_automation_update_details.rb', line 122 def hash [is_early_adoption_enabled, is_freeze_period_enabled, apply_update_time_preference, freeze_period].hash end |
#to_hash ⇒ Hash
Returns the object in the form of hash
166 167 168 169 170 171 172 173 174 175 |
# File 'lib/oci/database/models/cloud_automation_update_details.rb', line 166 def to_hash hash = {} self.class.attribute_map.each_pair do |attr, param| value = public_method(attr).call next if value.nil? && !instance_variable_defined?("@#{attr}") hash[param] = _to_hash(value) end hash end |
#to_s ⇒ String
Returns the string representation of the object
160 161 162 |
# File 'lib/oci/database/models/cloud_automation_update_details.rb', line 160 def to_s to_hash.to_s end |