ruby-terraform 0.65.0.pre.11 → 1.0.0.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +25 -17
- data/README.md +148 -414
- data/Rakefile +25 -0
- data/lib/ruby_terraform.rb +1371 -42
- data/lib/ruby_terraform/commands.rb +0 -2
- data/lib/ruby_terraform/commands/apply.rb +78 -4
- data/lib/ruby_terraform/commands/base.rb +21 -15
- data/lib/ruby_terraform/commands/destroy.rb +71 -4
- data/lib/ruby_terraform/commands/force_unlock.rb +33 -3
- data/lib/ruby_terraform/commands/format.rb +45 -2
- data/lib/ruby_terraform/commands/get.rb +35 -2
- data/lib/ruby_terraform/commands/graph.rb +48 -2
- data/lib/ruby_terraform/commands/import.rb +98 -3
- data/lib/ruby_terraform/commands/init.rb +84 -3
- data/lib/ruby_terraform/commands/login.rb +26 -2
- data/lib/ruby_terraform/commands/logout.rb +23 -2
- data/lib/ruby_terraform/commands/output.rb +36 -6
- data/lib/ruby_terraform/commands/plan.rb +72 -3
- data/lib/ruby_terraform/commands/providers.rb +30 -2
- data/lib/ruby_terraform/commands/providers_lock.rb +72 -3
- data/lib/ruby_terraform/commands/providers_mirror.rb +44 -2
- data/lib/ruby_terraform/commands/providers_schema.rb +21 -2
- data/lib/ruby_terraform/commands/refresh.rb +70 -3
- data/lib/ruby_terraform/commands/show.rb +26 -3
- data/lib/ruby_terraform/commands/state_list.rb +54 -3
- data/lib/ruby_terraform/commands/state_move.rb +64 -6
- data/lib/ruby_terraform/commands/state_pull.rb +24 -2
- data/lib/ruby_terraform/commands/state_push.rb +49 -3
- data/lib/ruby_terraform/commands/state_remove.rb +55 -7
- data/lib/ruby_terraform/commands/state_replace_provider.rb +39 -6
- data/lib/ruby_terraform/commands/state_show.rb +26 -2
- data/lib/ruby_terraform/commands/taint.rb +63 -2
- data/lib/ruby_terraform/commands/untaint.rb +55 -2
- data/lib/ruby_terraform/commands/validate.rb +51 -6
- data/lib/ruby_terraform/commands/workspace_delete.rb +29 -7
- data/lib/ruby_terraform/commands/workspace_list.rb +21 -6
- data/lib/ruby_terraform/commands/workspace_new.rb +28 -7
- data/lib/ruby_terraform/commands/workspace_select.rb +23 -7
- data/lib/ruby_terraform/commands/workspace_show.rb +17 -2
- data/lib/ruby_terraform/options.rb +26 -4
- data/lib/ruby_terraform/options/definition.rb +174 -0
- data/lib/ruby_terraform/options/definitions.rb +112 -0
- data/lib/ruby_terraform/options/factory.rb +10 -102
- data/lib/ruby_terraform/options/{common.rb → global.rb} +2 -1
- data/lib/ruby_terraform/options/name.rb +11 -19
- data/lib/ruby_terraform/options/types.rb +26 -0
- data/lib/ruby_terraform/options/types/flag.rb +8 -6
- data/lib/ruby_terraform/options/types/standard.rb +17 -29
- data/lib/ruby_terraform/options/values.rb +38 -0
- data/lib/ruby_terraform/options/values/base.rb +15 -0
- data/lib/ruby_terraform/options/values/boolean.rb +13 -11
- data/lib/ruby_terraform/options/values/complex.rb +19 -0
- data/lib/ruby_terraform/options/values/key_value.rb +21 -0
- data/lib/ruby_terraform/options/values/string.rb +17 -0
- data/lib/ruby_terraform/version.rb +1 -1
- data/ruby_terraform.gemspec +3 -1
- metadata +43 -11
- data/lib/ruby_terraform/commands/clean.rb +0 -26
- data/lib/ruby_terraform/commands/remote_config.rb +0 -25
- data/lib/ruby_terraform/options/types/base.rb +0 -26
- data/lib/ruby_terraform/options/types/boolean.rb +0 -18
@@ -1,26 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'fileutils'
|
4
|
-
|
5
|
-
module RubyTerraform
|
6
|
-
module Commands
|
7
|
-
class Clean
|
8
|
-
attr_reader :logger
|
9
|
-
|
10
|
-
def initialize(directory: nil, logger: nil)
|
11
|
-
@directory = directory || '.terraform'
|
12
|
-
@logger = logger || RubyTerraform.configuration.logger
|
13
|
-
end
|
14
|
-
|
15
|
-
def execute(parameters = {})
|
16
|
-
directory = parameters[:directory] || @directory
|
17
|
-
begin
|
18
|
-
logger.info "Cleaning terraform directory '#{directory}'."
|
19
|
-
FileUtils.rm_r(directory, secure: true)
|
20
|
-
rescue Errno::ENOENT => e
|
21
|
-
logger.error "Couldn't clean '#{directory}': #{e.message}"
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base'
|
4
|
-
|
5
|
-
module RubyTerraform
|
6
|
-
module Commands
|
7
|
-
class RemoteConfig < Base
|
8
|
-
def subcommands
|
9
|
-
%w[remote config]
|
10
|
-
end
|
11
|
-
|
12
|
-
def options
|
13
|
-
%w[
|
14
|
-
-backend
|
15
|
-
-backend-config
|
16
|
-
-no-color
|
17
|
-
]
|
18
|
-
end
|
19
|
-
|
20
|
-
def parameter_defaults(_parameters)
|
21
|
-
{ backend_config: {} }
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RubyTerraform
|
4
|
-
module Options
|
5
|
-
module Types
|
6
|
-
class Base
|
7
|
-
def initialize(name, value)
|
8
|
-
@name = name
|
9
|
-
coerce_value(value)
|
10
|
-
end
|
11
|
-
|
12
|
-
def apply(_builder)
|
13
|
-
raise 'not implemented'
|
14
|
-
end
|
15
|
-
|
16
|
-
private
|
17
|
-
|
18
|
-
attr_reader :name, :value
|
19
|
-
|
20
|
-
def coerce_value(value)
|
21
|
-
@value = value
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base'
|
4
|
-
require_relative '../values/boolean'
|
5
|
-
|
6
|
-
module RubyTerraform
|
7
|
-
module Options
|
8
|
-
module Types
|
9
|
-
class Boolean < Base
|
10
|
-
include Values::Boolean
|
11
|
-
|
12
|
-
def apply(builder)
|
13
|
-
builder.with_option(name, value)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|