Sha256: fe2df8460208eb6586c7baf790aa57dba199d981979915d5f7763733397d704c
Contents?: true
Size: 1.82 KB
Versions: 2
Compression:
Stored size: 1.82 KB
Contents
require 'ruby_terraform/version' require 'ruby_terraform/commands' require 'logger' module RubyTerraform class << self attr_writer :configuration def configuration @configuration ||= Configuration.new end def configure yield(configuration) end def reset! @configuration = nil end end module ClassMethods def clean(opts = {}) Commands::Clean.new.execute(opts) end def init(opts = {}) Commands::Init.new.execute(opts) end def get(opts = {}) Commands::Get.new.execute(opts) end def validate(opts = {}) Commands::Validate.new.execute(opts) end def plan(opts = {}) Commands::Plan.new.execute(opts) end def apply(opts = {}) Commands::Apply.new.execute(opts) end def destroy(opts = {}) Commands::Destroy.new.execute(opts) end def remote_config(opts = {}) Commands::RemoteConfig.new.execute(opts) end def refresh(opts = {}) Commands::Refresh.new.execute(opts) end def output(opts = {}) Commands::Output.new.execute(opts) end def workspace(opts = {}) Commands::Workspace.new.execute(opts) end def output_from_remote(opts) output_name = opts[:name] remote_opts = opts[:remote] clean remote_config(remote_opts) output(name: output_name) end end extend ClassMethods def self.included(other) other.extend(ClassMethods) end class Configuration attr_accessor :binary, :logger def initialize @binary = 'terraform' @logger = Logger.new(STDOUT, level: :info) end end class MultiIO def initialize(*targets) @targets = targets end def write(*args) @targets.each {|t| t.write(*args)} end def close @targets.each(&:close) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ruby-terraform-0.27.0.pre.pre.2 | lib/ruby_terraform.rb |
ruby-terraform-0.27.0.pre.pre.1 | lib/ruby_terraform.rb |