ruby-terraform 0.65.0.pre.6 → 0.65.0.pre.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/Gemfile.lock +4 -1
- data/Rakefile +7 -3
- data/bin/console +1 -0
- data/lib/ruby-terraform.rb +2 -0
- data/lib/ruby_terraform.rb +56 -3
- data/lib/ruby_terraform/commands.rb +31 -8
- data/lib/ruby_terraform/commands/apply.rb +28 -9
- data/lib/ruby_terraform/commands/base.rb +24 -26
- data/lib/ruby_terraform/commands/clean.rb +4 -2
- data/lib/ruby_terraform/commands/destroy.rb +29 -9
- data/lib/ruby_terraform/commands/force_unlock.rb +24 -0
- data/lib/ruby_terraform/commands/format.rb +17 -6
- data/lib/ruby_terraform/commands/get.rb +14 -6
- data/lib/ruby_terraform/commands/graph.rb +24 -0
- data/lib/ruby_terraform/commands/import.rb +28 -9
- data/lib/ruby_terraform/commands/init.rb +27 -8
- data/lib/ruby_terraform/commands/login.rb +20 -0
- data/lib/ruby_terraform/commands/logout.rb +20 -0
- data/lib/ruby_terraform/commands/output.rb +18 -8
- data/lib/ruby_terraform/commands/plan.rb +27 -7
- data/lib/ruby_terraform/commands/providers.rb +16 -0
- data/lib/ruby_terraform/commands/providers_lock.rb +28 -0
- data/lib/ruby_terraform/commands/providers_mirror.rb +24 -0
- data/lib/ruby_terraform/commands/providers_schema.rb +25 -0
- data/lib/ruby_terraform/commands/refresh.rb +29 -7
- data/lib/ruby_terraform/commands/remote_config.rb +11 -5
- data/lib/ruby_terraform/commands/show.rb +14 -6
- data/lib/ruby_terraform/commands/state_list.rb +20 -0
- data/lib/ruby_terraform/commands/state_move.rb +34 -0
- data/lib/ruby_terraform/commands/state_pull.rb +16 -0
- data/lib/ruby_terraform/commands/state_push.rb +24 -0
- data/lib/ruby_terraform/commands/state_remove.rb +32 -0
- data/lib/ruby_terraform/commands/state_replace_provider.rb +35 -0
- data/lib/ruby_terraform/commands/state_show.rb +24 -0
- data/lib/ruby_terraform/commands/taint.rb +36 -0
- data/lib/ruby_terraform/commands/untaint.rb +37 -0
- data/lib/ruby_terraform/commands/validate.rb +15 -7
- data/lib/ruby_terraform/commands/workspace_delete.rb +32 -0
- data/lib/ruby_terraform/commands/workspace_list.rb +24 -0
- data/lib/ruby_terraform/commands/workspace_new.rb +32 -0
- data/lib/ruby_terraform/commands/workspace_select.rb +24 -0
- data/lib/ruby_terraform/commands/workspace_show.rb +16 -0
- data/lib/ruby_terraform/errors.rb +2 -0
- data/lib/ruby_terraform/errors/execution_error.rb +2 -0
- data/lib/ruby_terraform/options.rb +8 -0
- data/lib/ruby_terraform/options/common.rb +11 -0
- data/lib/ruby_terraform/options/factory.rb +70 -67
- data/lib/ruby_terraform/options/{switch.rb → name.rb} +11 -7
- data/lib/ruby_terraform/options/types/base.rb +26 -0
- data/lib/ruby_terraform/options/types/boolean.rb +18 -0
- data/lib/ruby_terraform/options/types/flag.rb +18 -0
- data/lib/ruby_terraform/options/types/standard.rb +43 -0
- data/lib/ruby_terraform/options/values/boolean.rb +2 -0
- data/lib/ruby_terraform/output.rb +9 -7
- data/lib/ruby_terraform/version.rb +3 -1
- data/ruby_terraform.gemspec +58 -0
- metadata +46 -8
- data/lib/ruby_terraform/commands/workspace.rb +0 -24
- data/lib/ruby_terraform/options/base.rb +0 -22
- data/lib/ruby_terraform/options/boolean.rb +0 -14
- data/lib/ruby_terraform/options/flag.rb +0 -14
- data/lib/ruby_terraform/options/standard.rb +0 -39
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Commands
|
8
|
+
class ForceUnlock < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[force-unlock]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options
|
16
|
+
%w[-force] + super
|
17
|
+
end
|
18
|
+
|
19
|
+
def arguments(parameters)
|
20
|
+
[parameters[:lock_id]]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -1,18 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
2
5
|
|
3
6
|
module RubyTerraform
|
4
7
|
module Commands
|
5
8
|
class Format < Base
|
6
|
-
|
7
|
-
%w[-list -write -diff -check -recursive -no-color]
|
8
|
-
end
|
9
|
+
include RubyTerraform::Options::Common
|
9
10
|
|
10
|
-
def
|
11
|
+
def subcommands
|
11
12
|
%w[fmt]
|
12
13
|
end
|
13
14
|
|
14
|
-
def
|
15
|
-
[
|
15
|
+
def options
|
16
|
+
%w[
|
17
|
+
-list
|
18
|
+
-write
|
19
|
+
-diff
|
20
|
+
-check
|
21
|
+
-recursive
|
22
|
+
] + super
|
23
|
+
end
|
24
|
+
|
25
|
+
def arguments(parameters)
|
26
|
+
[parameters[:directory]]
|
16
27
|
end
|
17
28
|
end
|
18
29
|
end
|
@@ -1,18 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
2
5
|
|
3
6
|
module RubyTerraform
|
4
7
|
module Commands
|
5
8
|
class Get < Base
|
6
|
-
|
7
|
-
%w[-update -no-color]
|
8
|
-
end
|
9
|
+
include RubyTerraform::Options::Common
|
9
10
|
|
10
|
-
def
|
11
|
+
def subcommands
|
11
12
|
%w[get]
|
12
13
|
end
|
13
14
|
|
14
|
-
def
|
15
|
-
[
|
15
|
+
def options
|
16
|
+
%w[
|
17
|
+
-no-color
|
18
|
+
-update
|
19
|
+
] + super
|
20
|
+
end
|
21
|
+
|
22
|
+
def arguments(parameters)
|
23
|
+
[parameters[:directory]]
|
16
24
|
end
|
17
25
|
end
|
18
26
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Commands
|
8
|
+
class Graph < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[graph]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options
|
16
|
+
%w[
|
17
|
+
-draw-cycles
|
18
|
+
-type
|
19
|
+
-module-depth
|
20
|
+
] + super
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -1,26 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
2
5
|
|
3
6
|
module RubyTerraform
|
4
7
|
module Commands
|
5
8
|
class Import < Base
|
6
|
-
|
7
|
-
%w[-config -backup -input -no-color -state -var -var-file]
|
8
|
-
end
|
9
|
+
include RubyTerraform::Options::Common
|
9
10
|
|
10
|
-
def
|
11
|
+
def subcommands
|
11
12
|
%w[import]
|
12
13
|
end
|
13
14
|
|
14
|
-
def
|
15
|
-
[
|
15
|
+
def options # rubocop:disable Metrics/MethodLength
|
16
|
+
%w[
|
17
|
+
-config
|
18
|
+
-backup
|
19
|
+
-input
|
20
|
+
-lock
|
21
|
+
-lock-timeout
|
22
|
+
-no-color
|
23
|
+
-parallelism
|
24
|
+
-provider
|
25
|
+
-state
|
26
|
+
-state-out
|
27
|
+
-var
|
28
|
+
-var-file
|
29
|
+
-ignore-remote-version
|
30
|
+
] + super
|
31
|
+
end
|
32
|
+
|
33
|
+
def arguments(parameters)
|
34
|
+
[parameters[:address], parameters[:id]]
|
16
35
|
end
|
17
36
|
|
18
|
-
def
|
37
|
+
def parameter_defaults(_parameters)
|
19
38
|
{ vars: {}, var_files: [] }
|
20
39
|
end
|
21
40
|
|
22
|
-
def
|
23
|
-
{ backup:
|
41
|
+
def parameter_overrides(parameters)
|
42
|
+
{ backup: parameters[:no_backup] ? '-' : parameters[:backup] }
|
24
43
|
end
|
25
44
|
end
|
26
45
|
end
|
@@ -1,22 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
2
5
|
|
3
6
|
module RubyTerraform
|
4
7
|
module Commands
|
5
8
|
class Init < Base
|
6
|
-
|
7
|
-
%w[-backend -backend-config -from-module -get -no-color -plugin-dir
|
8
|
-
-force-copy]
|
9
|
-
end
|
9
|
+
include RubyTerraform::Options::Common
|
10
10
|
|
11
|
-
def
|
11
|
+
def subcommands
|
12
12
|
%w[init]
|
13
13
|
end
|
14
14
|
|
15
|
-
def
|
16
|
-
[
|
15
|
+
def options # rubocop:disable Metrics/MethodLength
|
16
|
+
%w[
|
17
|
+
-backend
|
18
|
+
-backend-config
|
19
|
+
-force-copy
|
20
|
+
-from-module
|
21
|
+
-get
|
22
|
+
-get-plugins
|
23
|
+
-input
|
24
|
+
-lock
|
25
|
+
-lock-timeout
|
26
|
+
-no-color
|
27
|
+
-plugin-dir
|
28
|
+
-reconfigure
|
29
|
+
-upgrade
|
30
|
+
-verify-plugins
|
31
|
+
] + super
|
32
|
+
end
|
33
|
+
|
34
|
+
def arguments(parameters)
|
35
|
+
[parameters[:path]]
|
17
36
|
end
|
18
37
|
|
19
|
-
def
|
38
|
+
def parameter_defaults(_parameters)
|
20
39
|
{ backend_config: {} }
|
21
40
|
end
|
22
41
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Commands
|
8
|
+
class Login < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[login]
|
13
|
+
end
|
14
|
+
|
15
|
+
def arguments(parameters)
|
16
|
+
[parameters[:hostname]]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Commands
|
8
|
+
class Logout < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[logout]
|
13
|
+
end
|
14
|
+
|
15
|
+
def arguments(parameters)
|
16
|
+
[parameters[:hostname]]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -1,30 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'stringio'
|
2
4
|
require_relative 'base'
|
5
|
+
require_relative '../options/common'
|
3
6
|
|
4
7
|
module RubyTerraform
|
5
8
|
module Commands
|
6
9
|
class Output < Base
|
10
|
+
include RubyTerraform::Options::Common
|
11
|
+
|
7
12
|
def initialize_command
|
8
13
|
return if defined?(@stdout) && @stdout.respond_to?(:string)
|
9
14
|
|
10
15
|
@stdout = StringIO.new
|
11
16
|
end
|
12
17
|
|
13
|
-
def
|
14
|
-
%w[
|
18
|
+
def subcommands
|
19
|
+
%w[output]
|
15
20
|
end
|
16
21
|
|
17
|
-
def
|
18
|
-
%w[
|
22
|
+
def options
|
23
|
+
%w[
|
24
|
+
-json
|
25
|
+
-raw
|
26
|
+
-no-color
|
27
|
+
-state
|
28
|
+
] + super
|
19
29
|
end
|
20
30
|
|
21
|
-
def arguments(
|
22
|
-
[
|
31
|
+
def arguments(parameters)
|
32
|
+
[parameters[:name]]
|
23
33
|
end
|
24
34
|
|
25
|
-
def do_after(
|
35
|
+
def do_after(parameters)
|
26
36
|
result = stdout.string
|
27
|
-
|
37
|
+
parameters[:name] ? result.chomp : result
|
28
38
|
end
|
29
39
|
end
|
30
40
|
end
|
@@ -1,21 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
2
5
|
|
3
6
|
module RubyTerraform
|
4
7
|
module Commands
|
5
8
|
class Plan < Base
|
6
|
-
|
7
|
-
%w[-destroy -input -no-color -out -state -target -var -var-file]
|
8
|
-
end
|
9
|
+
include RubyTerraform::Options::Common
|
9
10
|
|
10
|
-
def
|
11
|
+
def subcommands
|
11
12
|
%w[plan]
|
12
13
|
end
|
13
14
|
|
14
|
-
def
|
15
|
-
[
|
15
|
+
def options # rubocop:disable Metrics/MethodLength
|
16
|
+
%w[
|
17
|
+
-compact-warnings
|
18
|
+
-destroy
|
19
|
+
-detailed-exitcode
|
20
|
+
-input
|
21
|
+
-lock
|
22
|
+
-lock-timeout
|
23
|
+
-no-color
|
24
|
+
-out
|
25
|
+
-parallelism
|
26
|
+
-refresh
|
27
|
+
-state
|
28
|
+
-target
|
29
|
+
-var
|
30
|
+
-var-file
|
31
|
+
] + super
|
32
|
+
end
|
33
|
+
|
34
|
+
def arguments(parameters)
|
35
|
+
[parameters[:directory]]
|
16
36
|
end
|
17
37
|
|
18
|
-
def
|
38
|
+
def parameter_defaults(_parameters)
|
19
39
|
{ vars: {}, var_files: [], targets: [] }
|
20
40
|
end
|
21
41
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Commands
|
8
|
+
class Providers < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[providers]
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Commands
|
8
|
+
class ProvidersLock < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[providers lock]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options
|
16
|
+
%w[
|
17
|
+
-fs-mirror
|
18
|
+
-net-mirror
|
19
|
+
-platform
|
20
|
+
] + super
|
21
|
+
end
|
22
|
+
|
23
|
+
def arguments(parameters)
|
24
|
+
[parameters[:providers]]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Commands
|
8
|
+
class ProvidersMirror < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[providers mirror]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options
|
16
|
+
%w[-platform] + super
|
17
|
+
end
|
18
|
+
|
19
|
+
def arguments(parameters)
|
20
|
+
[parameters[:directory]]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Commands
|
8
|
+
class ProvidersSchema < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[providers schema]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options
|
16
|
+
%w[-json] + super
|
17
|
+
end
|
18
|
+
|
19
|
+
def parameter_overrides(_parameters)
|
20
|
+
# Terraform 0.15 - at this time, the -json flag is a required option.
|
21
|
+
{ json: true }
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|