def to_row
attributes.tap do |attrs|
attrs[:compatibility_mode] = attrs["compatibility_mode"]
if server_type
attrs[:type] = server_type["id"]
attrs[:type_handle] = server_type["handle"]
attrs[:type_name] = server_type["name"]
attrs[:ram] = server_type["ram"]
attrs[:cores] = server_type["cores"]
attrs[:disk] = server_type["disk_size"].to_i
end
if image
attrs[:image_name] = image.name
attrs[:arch] = image.arch
attrs[:image_username] = image.username
end
attrs[:private_ips] = interfaces.map { |i| i["ipv4_address"] }.join(", ")
attrs[:ipv6_address] = interfaces.map { |i| i["ipv6_address"] }.join(", ")
attrs[:cloud_ip_ids] = cloud_ips.map { |i| i["id"] }.join(", ")
attrs[:cloud_ipv4s] = cloud_ips.map { |i| i["public_ipv4"] }.join(", ")
attrs[:cloud_ipv6s] = cloud_ips.map { |i| i["public_ipv6"] }.join(", ")
attrs[:snapshots] = snapshots.map { |i| i["id"] }.join(", ")
if server_groups
attrs[:server_groups] = server_groups.map { |sg| sg["id"] }.join(", ")
end
attrs[:volumes] = volume_ids if volumes
end.to_h
end