def save
raise Fog::Errors::Error.new("Resaving an existing object may create a duplicate") if persisted?
requires :image_id
options = {
:image => image_id,
:name => name,
:zone => zone_id,
:user_data => user_data,
:server_groups => server_groups
}.delete_if { |_k, v| v.nil? || v == "" }
options.merge!(:server_type => flavor_id) unless flavor_id.nil? || flavor_id == ""
options.merge!(:cloud_ip => cloud_ip) unless cloud_ip.nil? || cloud_ip == ""
data = service.create_server(options)
merge_attributes(data)
true
end