def save
requires :name, :location
options = {}
options[:name] = name
options[:location] = location
options[:description] = description if description
options[:servers] = servers if servers
options[:volumes] = volumes if volumes
options[:loadbalancers] = loadbalancers if loadbalancers
options[:lans] = lans if lans
entities = {}
if options.key?(:servers)
entities[:servers] = collect_entities(options.delete(:servers))
end
if options.key?(:volumes)
entities[:volumes] = collect_entities(options.delete(:volumes))
end
if options.key?(:loadbalancers)
entities[:loadbalancers] = collect_entities(options.delete(:loadbalancers))
end
if options.key?(:lans)
entities[:lans] = collect_entities(options.delete(:lans))
end
data = service.create_datacenter(options, entities)
merge_attributes(flatten(data.body))
true
end