Class: ConfigBuilder::Model::Provider::Base Abstract
- Defined in:
- lib/config_builder/model/provider/base.rb
Overview
This class is abstract.
Abstract base class for Vagrant providers
Direct Known Subclasses
Aws, Azure, DigitalOcean, Libvirt, Openstack, OpenstackPlugin, SoftLayer, VMware, Virtualbox, Vsphere
Instance Method Summary collapse
- #eval_overrides(configs) ⇒ Object
-
#instance_id ⇒ Object
Set this to the name of the 'provider': 'vsphere', 'openstack', 'vmware', etc.
- #to_proc ⇒ Object
Methods inherited from Base
#attr, #attrs=, #call, #configure!, def_model_attribute, def_model_delegator, def_model_id, def_model_option, #eval_models, #instance_options, model_attributes, model_delegators, #model_delegators, model_options, new_from_hash, #with_attr
Instance Method Details
#eval_overrides(configs) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/config_builder/model/provider/base.rb', line 24 def eval_overrides(configs) with_attr(:overrides) do |hash| _, overrides = configs r = ConfigBuilder::Model::Root.new_from_hash(hash) r.call(overrides) end end |
#instance_id ⇒ Object
Set this to the name of the 'provider': 'vsphere', 'openstack', 'vmware', etc.
34 35 36 |
# File 'lib/config_builder/model/provider/base.rb', line 34 def instance_id raise NotImplementedError end |
#to_proc ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/config_builder/model/provider/base.rb', line 11 def to_proc Proc.new do |vm_config| vm_config.provider instance_id do |config, overrides| configure!(config) # NOTE: All models inheriting from this class need to provide # delegators which can consume a tuple of provider and override # configuration. eval_models([config, overrides]) end end end |