Class: Bolt::Plugin
- Inherits:
-
Object
show all
- Defined in:
- lib/bolt/plugin.rb,
lib/bolt/plugin/aws.rb,
lib/bolt/plugin/task.rb,
lib/bolt/plugin/pkcs7.rb,
lib/bolt/plugin/vault.rb,
lib/bolt/plugin/prompt.rb,
lib/bolt/plugin/puppetdb.rb,
lib/bolt/plugin/terraform.rb
Defined Under Namespace
Classes: Aws, Pkcs7, PluginError, Prompt, Puppetdb, Task, Terraform, Vault
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(config, analytics) ⇒ Plugin
Returns a new instance of Plugin.
46
47
48
49
50
|
# File 'lib/bolt/plugin.rb', line 46
def initialize(config, analytics)
@config = config
@analytics = analytics
@plugins = {}
end
|
Class Method Details
.setup(config, pdb_client, analytics) ⇒ Object
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/bolt/plugin.rb', line 34
def self.setup(config, pdb_client, analytics)
plugins = new(config, analytics)
plugins.add_plugin(Bolt::Plugin::Puppetdb.new(pdb_client))
plugins.add_plugin(Bolt::Plugin::Terraform.new)
plugins.add_plugin(Bolt::Plugin::Prompt.new)
plugins.add_plugin(Bolt::Plugin::Pkcs7.new(config.boltdir.path, config.plugins['pkcs7'] || {}))
plugins.add_plugin(Bolt::Plugin::Task.new(config))
plugins.add_plugin(Bolt::Plugin::Aws::EC2.new(config.plugins['aws'] || {}))
plugins.add_plugin(Bolt::Plugin::Vault.new(config.plugins['vault'] || {}))
plugins
end
|
Instance Method Details
#add_plugin(plugin) ⇒ Object
52
53
54
|
# File 'lib/bolt/plugin.rb', line 52
def add_plugin(plugin)
@plugins[plugin.name] = plugin
end
|
#by_name(plugin_name) ⇒ Object
65
66
67
|
# File 'lib/bolt/plugin.rb', line 65
def by_name(plugin_name)
@plugins[plugin_name]
end
|
#get_hook(plugin_name, hook) ⇒ Object
56
57
58
59
60
61
62
63
|
# File 'lib/bolt/plugin.rb', line 56
def get_hook(plugin_name, hook)
plugin = by_name(plugin_name)
raise PluginError::Unknown, plugin_name unless plugin
raise PluginError::UnsupportedHook.new(plugin_name, hook) unless plugin.respond_to?(hook)
@analytics.report_bundled_content("Plugin #{hook}", plugin_name)
plugin.method(hook)
end
|