lib/vmc/cli/service/create.rb in vmc-0.5.0.beta.12 vs lib/vmc/cli/service/create.rb in vmc-0.5.0.rc1

- old
+ new

@@ -67,11 +67,11 @@ service.space = client.current_space else service.type = offering.type service.vendor = offering.label service.version = offering.version - service.tier = "free" + service.tier = v1_service_tier(offering) end with_progress("Creating service #{c(service.name, :name)}") do service.create! end @@ -100,12 +100,27 @@ def ask_name(offering) random = sprintf("%x", rand(1000000)) ask "Name?", :default => "#{offering.label}-#{random}" end - def ask_plan(plans) - ask "Which plan?", :choices => plans.sort_by(&:name), - :display => proc { |p| "#{p.name}: #{p.description}" }, + def ask_plan(plans, default_plan = nil) + ask "Which plan?", + :choices => plans.sort_by(&:name), + :indexed => true, + :display => proc { |p| "#{p.name}: #{p.description || 'No description'}" }, + :default => default_plan, :complete => proc(&:name) end + + def v1_service_tier(service) + plans = service.service_plans + fail "No service plans" if plans.empty? + if plans.length == 1 + plan = plans[0] + else + plan = ask_plan(plans, service.default_service_plan) + end + plan.name + end + end end