class OCI::OsManagement::Models::UpdateScheduledJobDetails
Information for updating a Scheduled Job
Constants
- INTERVAL_TYPE_ENUM
- OPERATION_TYPE_ENUM
- SCHEDULE_TYPE_ENUM
- UPDATE_TYPE_ENUM
Attributes
Details describing the Scheduled Job. @return [String]
Scheduled Job name @return [String]
the interval period for a recurring Scheduled Job (only if schedule type is RECURRING) @return [String]
the value for the interval period for a recurring Scheduled Job (only if schedule type is RECURRING) @return [String]
the type of operation this Scheduled Job performs @return [String]
the id of the package (only if operation type is INSTALL/UPDATE/REMOVE) @return [Array<OCI::OsManagement::Models::PackageName>]
the type of scheduling this Scheduled Job follows @return [String]
the desired time for the next execution of this Scheduled Job @return [DateTime]
The unique names of the Windows Updates (only if operation type is INSTALL). This is only applicable when the osFamily is for Windows managed instances.
@return [Array<String>]
Type of the update (only if operation type is UPDATEALL) @return [String]
Public Class Methods
Attribute mapping from ruby-style variable name to JSON key.
# File lib/oci/os_management/models/update_scheduled_job_details.rb, line 91 def self.attribute_map { # rubocop:disable Style/SymbolLiteral 'display_name': :'displayName', 'description': :'description', 'schedule_type': :'scheduleType', 'time_next_execution': :'timeNextExecution', 'interval_type': :'intervalType', 'interval_value': :'intervalValue', 'operation_type': :'operationType', 'update_type': :'updateType', 'package_names': :'packageNames', 'update_names': :'updateNames', 'freeform_tags': :'freeformTags', 'defined_tags': :'definedTags' # rubocop:enable Style/SymbolLiteral } end
Initializes the object @param [Hash] attributes Model attributes in the form of hash @option attributes [String] :display_name The value to assign to the {#display_name} property @option attributes [String] :description The value to assign to the {#description} property @option attributes [String] :schedule_type The value to assign to the {#schedule_type} property @option attributes [DateTime] :time_next_execution The value to assign to the {#time_next_execution} property @option attributes [String] :interval_type The value to assign to the {#interval_type} property @option attributes [String] :interval_value The value to assign to the {#interval_value} property @option attributes [String] :operation_type The value to assign to the {#operation_type} property @option attributes [String] :update_type The value to assign to the {#update_type} property @option attributes [Array<OCI::OsManagement::Models::PackageName>] :package_names The value to assign to the {#package_names} property @option attributes [Array<String>] :update_names The value to assign to the {#update_names} property @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
# File lib/oci/os_management/models/update_scheduled_job_details.rb, line 148 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.display_name = attributes[:'displayName'] if attributes[:'displayName'] raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name') self.display_name = attributes[:'display_name'] if attributes[:'display_name'] self.description = attributes[:'description'] if attributes[:'description'] self.schedule_type = attributes[:'scheduleType'] if attributes[:'scheduleType'] raise 'You cannot provide both :scheduleType and :schedule_type' if attributes.key?(:'scheduleType') && attributes.key?(:'schedule_type') self.schedule_type = attributes[:'schedule_type'] if attributes[:'schedule_type'] self.time_next_execution = attributes[:'timeNextExecution'] if attributes[:'timeNextExecution'] raise 'You cannot provide both :timeNextExecution and :time_next_execution' if attributes.key?(:'timeNextExecution') && attributes.key?(:'time_next_execution') self.time_next_execution = attributes[:'time_next_execution'] if attributes[:'time_next_execution'] self.interval_type = attributes[:'intervalType'] if attributes[:'intervalType'] raise 'You cannot provide both :intervalType and :interval_type' if attributes.key?(:'intervalType') && attributes.key?(:'interval_type') self.interval_type = attributes[:'interval_type'] if attributes[:'interval_type'] self.interval_value = attributes[:'intervalValue'] if attributes[:'intervalValue'] raise 'You cannot provide both :intervalValue and :interval_value' if attributes.key?(:'intervalValue') && attributes.key?(:'interval_value') self.interval_value = attributes[:'interval_value'] if attributes[:'interval_value'] self.operation_type = attributes[:'operationType'] if attributes[:'operationType'] raise 'You cannot provide both :operationType and :operation_type' if attributes.key?(:'operationType') && attributes.key?(:'operation_type') self.operation_type = attributes[:'operation_type'] if attributes[:'operation_type'] self.update_type = attributes[:'updateType'] if attributes[:'updateType'] raise 'You cannot provide both :updateType and :update_type' if attributes.key?(:'updateType') && attributes.key?(:'update_type') self.update_type = attributes[:'update_type'] if attributes[:'update_type'] self.package_names = attributes[:'packageNames'] if attributes[:'packageNames'] raise 'You cannot provide both :packageNames and :package_names' if attributes.key?(:'packageNames') && attributes.key?(:'package_names') self.package_names = attributes[:'package_names'] if attributes[:'package_names'] self.update_names = attributes[:'updateNames'] if attributes[:'updateNames'] raise 'You cannot provide both :updateNames and :update_names' if attributes.key?(:'updateNames') && attributes.key?(:'update_names') self.update_names = attributes[:'update_names'] if attributes[:'update_names'] self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags'] raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags') self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags'] self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags'] raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags') self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags'] end
Attribute type mapping.
# File lib/oci/os_management/models/update_scheduled_job_details.rb, line 111 def self.swagger_types { # rubocop:disable Style/SymbolLiteral 'display_name': :'String', 'description': :'String', 'schedule_type': :'String', 'time_next_execution': :'DateTime', 'interval_type': :'String', 'interval_value': :'String', 'operation_type': :'String', 'update_type': :'String', 'package_names': :'Array<OCI::OsManagement::Models::PackageName>', 'update_names': :'Array<String>', 'freeform_tags': :'Hash<String, String>', 'defined_tags': :'Hash<String, Hash<String, Object>>' # rubocop:enable Style/SymbolLiteral } end
Public Instance Methods
Checks equality by comparing each attribute. @param [Object] other the other object to be compared
# File lib/oci/os_management/models/update_scheduled_job_details.rb, line 262 def ==(other) return true if equal?(other) self.class == other.class && display_name == other.display_name && description == other.description && schedule_type == other.schedule_type && time_next_execution == other.time_next_execution && interval_type == other.interval_type && interval_value == other.interval_value && operation_type == other.operation_type && update_type == other.update_type && package_names == other.package_names && update_names == other.update_names && freeform_tags == other.freeform_tags && defined_tags == other.defined_tags end
Builds the object from hash @param [Hash] attributes Model attributes in the form of hash @return [Object] Returns the model itself
# File lib/oci/os_management/models/update_scheduled_job_details.rb, line 303 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
@see the `==` method @param [Object] other the other object to be compared
# File lib/oci/os_management/models/update_scheduled_job_details.rb, line 283 def eql?(other) self == other end
Calculates hash code according to all attributes. @return [Fixnum] Hash code
# File lib/oci/os_management/models/update_scheduled_job_details.rb, line 292 def hash [display_name, description, schedule_type, time_next_execution, interval_type, interval_value, operation_type, update_type, package_names, update_names, freeform_tags, defined_tags].hash end
Custom attribute writer method checking allowed values (enum). @param [Object] interval_type
Object
to be assigned
# File lib/oci/os_management/models/update_scheduled_job_details.rb, line 235 def interval_type=(interval_type) raise "Invalid value for 'interval_type': this must be one of the values in INTERVAL_TYPE_ENUM." if interval_type && !INTERVAL_TYPE_ENUM.include?(interval_type) @interval_type = interval_type end
Custom attribute writer method checking allowed values (enum). @param [Object] operation_type
Object
to be assigned
# File lib/oci/os_management/models/update_scheduled_job_details.rb, line 243 def operation_type=(operation_type) raise "Invalid value for 'operation_type': this must be one of the values in OPERATION_TYPE_ENUM." if operation_type && !OPERATION_TYPE_ENUM.include?(operation_type) @operation_type = operation_type end
Custom attribute writer method checking allowed values (enum). @param [Object] schedule_type
Object
to be assigned
# File lib/oci/os_management/models/update_scheduled_job_details.rb, line 227 def schedule_type=(schedule_type) raise "Invalid value for 'schedule_type': this must be one of the values in SCHEDULE_TYPE_ENUM." if schedule_type && !SCHEDULE_TYPE_ENUM.include?(schedule_type) @schedule_type = schedule_type end
Returns the object in the form of hash @return [Hash] Returns the object in the form of hash
# File lib/oci/os_management/models/update_scheduled_job_details.rb, line 336 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
Returns the string representation of the object @return [String] String presentation of the object
# File lib/oci/os_management/models/update_scheduled_job_details.rb, line 330 def to_s to_hash.to_s end
Custom attribute writer method checking allowed values (enum). @param [Object] update_type
Object
to be assigned
# File lib/oci/os_management/models/update_scheduled_job_details.rb, line 251 def update_type=(update_type) raise "Invalid value for 'update_type': this must be one of the values in UPDATE_TYPE_ENUM." if update_type && !UPDATE_TYPE_ENUM.include?(update_type) @update_type = update_type end
Private Instance Methods
Outputs non-array value in the form of hash For object, use to_hash. Otherwise, just return the value @param [Object] value Any valid value @return [Hash] Returns the value in the form of hash
# File lib/oci/os_management/models/update_scheduled_job_details.rb, line 353 def _to_hash(value) if value.is_a?(Array) value.compact.map { |v| _to_hash(v) } elsif value.is_a?(Hash) {}.tap do |hash| value.each { |k, v| hash[k] = _to_hash(v) } end elsif value.respond_to? :to_hash value.to_hash else value end end