class Hula::ServiceBroker::Client
Attributes
api[R]
Public Class Methods
new(args = {})
click to toggle source
# File lib/hula/service_broker/client.rb, line 28 def initialize(args = {}) api_args = args.reject { |k, _v| k == :api } @api = args.fetch(:api) { Api.new(api_args) } end
Public Instance Methods
bind_instance(service_instance, service_name, plan_name, &block)
click to toggle source
# File lib/hula/service_broker/client.rb, line 54 def bind_instance(service_instance, service_name, plan_name, &block) plan = catalog.service_plan(service_name, plan_name) binding = api.bind_instance(service_instance, plan) return binding unless block begin block.call(binding, service_instance) ensure api.unbind_instance(binding, plan) sleep 1 end end
provision_and_bind(service_name, plan_name, &block)
click to toggle source
# File lib/hula/service_broker/client.rb, line 33 def provision_and_bind(service_name, plan_name, &block) raise Error, 'no block given' unless block_given? plan = catalog.service_plan(service_name, plan_name) provision_instance(service_name, plan_name) do |service_instance| bind_instance(service_instance, service_name, plan_name, &block) end end
provision_instance(service_name, plan_name, &block)
click to toggle source
# File lib/hula/service_broker/client.rb, line 42 def provision_instance(service_name, plan_name, &block) plan = catalog.service_plan(service_name, plan_name) service_instance = api.provision_instance(plan) return service_instance unless block begin block.call(service_instance) ensure api.deprovision_instance(service_instance, plan) end end