module RakeTerraform
Constants
- VERSION
Public Class Methods
define_command_tasks(opts = {}, &block)
click to toggle source
# File lib/rake_terraform.rb, line 11 def self.define_command_tasks(opts = {}, &block) RakeTerraform::TaskSets::All.define(opts, &block) end
define_installation_tasks(opts = {})
click to toggle source
# File lib/rake_terraform.rb, line 15 def self.define_installation_tasks(opts = {}) command_task_set = define_command_installation_tasks(opts) provider_task_sets = define_providers_installation_tasks(opts) configure_ruby_terraform(command_task_set.binary) wire_provider_ensure_tasks(opts) [command_task_set.delegate, provider_task_sets.map(&:delegate)] end
Private Class Methods
configure_ruby_terraform(binary)
click to toggle source
# File lib/rake_terraform.rb, line 47 def configure_ruby_terraform(binary) RubyTerraform.configure { |c| c.binary = binary } end
define_command_installation_tasks(opts = {})
click to toggle source
# File lib/rake_terraform.rb, line 28 def define_command_installation_tasks(opts = {}) RakeTerraform::TaskSets::Terraform.define(opts) end
define_provider_installation_tasks(opts = {})
click to toggle source
# File lib/rake_terraform.rb, line 32 def define_provider_installation_tasks(opts = {}) RakeTerraform::TaskSets::Provider.define(opts) end
define_providers_installation_tasks(opts = {})
click to toggle source
# File lib/rake_terraform.rb, line 36 def define_providers_installation_tasks(opts = {}) namespace = opts[:namespace] || :terraform providers = opts[:providers] || [] providers.map do |provider_opts| define_provider_installation_tasks( { parent_namespace: namespace }.merge(provider_opts) ) end end
wire_provider_ensure_tasks(opts)
click to toggle source
# File lib/rake_terraform.rb, line 51 def wire_provider_ensure_tasks(opts) namespace = opts[:namespace] || :terraform providers = opts[:providers] || [] Rake::Task["#{namespace}:ensure"] .enhance(providers.map do |provider_opts| "#{namespace}:providers:#{provider_opts[:name]}:ensure" end) end