Sha256: 268d2a2dbe33aa95789ce9cd11b0216dbfb2b415280d53ef842e9cc116e93f95

Contents?: true

Size: 1.33 KB

Versions: 2

Compression:

Stored size: 1.33 KB

Contents

require_relative 'base'

module RubyTerraform
  module Commands
    class Init < Base
      def configure_command(builder, opts)
        no_color = opts[:no_color]
        backend = opts[:backend]
        get = opts[:get]
        backend_config = opts[:backend_config] || {}
        source = opts[:from_module]
        path = opts[:path]
        plugin_dir = opts[:plugin_dir]
        force_copy = opts[:force_copy]

        builder = builder
                  .with_subcommand('init') do |sub|
          sub = sub.with_option('-backend', backend) unless backend.nil?
          unless force_copy.nil?
            sub = sub.with_option('-force-copy',
                                  force_copy)
          end
          sub = sub.with_option('-get', get) unless get.nil?
          sub = sub.with_option('-from-module', source) if source
          sub = sub.with_flag('-no-color') if no_color
          unless plugin_dir.nil?
            sub = sub.with_option('-plugin-dir',
                                  plugin_dir)
          end
          backend_config.each do |key, value|
            sub = sub.with_option(
              '-backend-config',
              "'#{key}=#{value}'",
              separator: ' '
            )
          end
          sub
        end

        builder = builder.with_argument(path) if path

        builder
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ruby-terraform-0.65.0.pre.4 lib/ruby_terraform/commands/init.rb
ruby-terraform-0.65.0.pre.3 lib/ruby_terraform/commands/init.rb