# encoding: utf-8 # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0 # Changes may cause incorrect behavior and will be lost if the code is # regenerated. module Azure::ARM::Compute module Models # # The instance view of the VM Agent running on the virtual machine. # class VirtualMachineAgentInstanceView include MsRestAzure # @return [String] Gets or sets the VM Agent full version. attr_accessor :vm_agent_version # @return [Array] Gets or # sets the virtual machine extension handler instance view. attr_accessor :extension_handlers # @return [Array] Gets or sets the resource status # information. attr_accessor :statuses # # Validate the object. Throws ValidationError if validation fails. # def validate @extension_handlers.each{ |e| e.validate if e.respond_to?(:validate) } unless @extension_handlers.nil? @statuses.each{ |e| e.validate if e.respond_to?(:validate) } unless @statuses.nil? end # # Serializes given Model object into Ruby Hash. # @param object Model object to serialize. # @return [Hash] Serialized object in form of Ruby Hash. # def self.serialize_object(object) object.validate output_object = {} serialized_property = object.vm_agent_version output_object['vmAgentVersion'] = serialized_property unless serialized_property.nil? serialized_property = object.extension_handlers unless serialized_property.nil? serializedArray = [] serialized_property.each do |element| unless element.nil? element = VirtualMachineExtensionHandlerInstanceView.serialize_object(element) end serializedArray.push(element) end serialized_property = serializedArray end output_object['extensionHandlers'] = serialized_property unless serialized_property.nil? serialized_property = object.statuses unless serialized_property.nil? serializedArray = [] serialized_property.each do |element1| unless element1.nil? element1 = InstanceViewStatus.serialize_object(element1) end serializedArray.push(element1) end serialized_property = serializedArray end output_object['statuses'] = serialized_property unless serialized_property.nil? output_object end # # Deserializes given Ruby Hash into Model object. # @param object [Hash] Ruby Hash object to deserialize. # @return [VirtualMachineAgentInstanceView] Deserialized object. # def self.deserialize_object(object) return if object.nil? output_object = VirtualMachineAgentInstanceView.new deserialized_property = object['vmAgentVersion'] output_object.vm_agent_version = deserialized_property deserialized_property = object['extensionHandlers'] unless deserialized_property.nil? deserializedArray = []; deserialized_property.each do |element2| unless element2.nil? element2 = VirtualMachineExtensionHandlerInstanceView.deserialize_object(element2) end deserializedArray.push(element2); end deserialized_property = deserializedArray; end output_object.extension_handlers = deserialized_property deserialized_property = object['statuses'] unless deserialized_property.nil? deserializedArray = []; deserialized_property.each do |element3| unless element3.nil? element3 = InstanceViewStatus.deserialize_object(element3) end deserializedArray.push(element3); end deserialized_property = deserializedArray; end output_object.statuses = deserialized_property output_object.validate output_object end end end end