    # File lib/fog/core/attributes.rb, line 17
          def attribute(name, options = {})
            class_eval "def \#{name}\nattributes[:\#{name}]\nend\n", __FILE__, __LINE__
            case options[:type]
            when :boolean
              class_eval "def \#{name}=(new_\#{name})\nattributes[:\#{name}] = case new_\#{name}\nwhen true,'true'\ntrue\nwhen false,'false'\nfalse\nend\nend\n", __FILE__, __LINE__
            when :float
              class_eval "def \#{name}=(new_\#{name})\nattributes[:\#{name}] = new_\#{name}.to_f\nend\n", __FILE__, __LINE__
            when :integer
              class_eval "def \#{name}=(new_\#{name})\nattributes[:\#{name}] = new_\#{name}.to_i\nend\n", __FILE__, __LINE__
            when :string
              class_eval "def \#{name}=(new_\#{name})\nattributes[:\#{name}] = new_\#{name}.to_s\nend\n", __FILE__, __LINE__
            when :time
              class_eval "def \#{name}=(new_\#{name})\nattributes[:\#{name}] = if new_\#{name}.nil? || new_\#{name} == \"\" || new_\#{name}.is_a?(Time)\nnew_\#{name}\nelse\nTime.parse(new_\#{name})\nend\nend\n", __FILE__, __LINE__
            when :array
              class_eval "def \#{name}=(new_\#{name})\nattributes[:\#{name}] = [*new_\#{name}]\nend\n", __FILE__, __LINE__
            else
              if squash = options[:squash]
                class_eval "def \#{name}=(new_data)\nif new_data.is_a?(Hash)\nif new_data.has_key?(:'\#{squash}')\nattributes[:\#{name}] = new_data[:'\#{squash}']\nelsif new_data.has_key?(\"\#{squash}\")\nattributes[:\#{name}] = new_data[\"\#{squash}\"]\nelse\nattributes[:\#{name}] = [ new_data ]\nend\nelse\nattributes[:\#{name}] = new_data\nend\nend\n", __FILE__, __LINE__
              else
                class_eval "def \#{name}=(new_\#{name})\nattributes[:\#{name}] = new_\#{name}\nend\n", __FILE__, __LINE__
              end
            end
            @attributes ||= []
            @attributes |= [name]
            for new_alias in [*options[:aliases]]
              aliases[new_alias] = name
            end
          end