def create(options)
requires :name, :image_id, :flavor_id
modified_options = Marshal.load(Marshal.dump(options))
if attributes[:keypair]
Fog::Logger.deprecation(":keypair has been depreciated. Please use :key_name instead.")
modified_options[:key_name] = attributes[:keypair]
end
modified_options[:password] ||= attributes[:password] unless password.nil?
modified_options[:networks] ||= attributes[:networks]
modified_options[:disk_config] = disk_config unless disk_config.nil?
modified_options[:metadata] = metadata.to_hash unless @metadata.nil?
modified_options[:personality] = personality unless personality.nil?
modified_options[:config_drive] = config_drive unless config_drive.nil?
modified_options[:user_data] = user_data_encoded unless user_data_encoded.nil?
modified_options[:key_name] ||= attributes[:key_name]
modified_options[:boot_volume_id] ||= attributes[:boot_volume_id]
modified_options[:boot_image_id] ||= attributes[:boot_image_id]
modified_options[:boot_volume_size] ||= attributes[:boot_volume_size]
if mn = modified_options[:networks]
unless mn.first.is_a?(Hash)
modified_options[:networks].map! { |id| { :uuid => id } }
end
end
data = service.create_server(name, image_id, flavor_id, 1, 1, modified_options)
merge_attributes(data.body['server'])
true
end