ruby-terraform 0.65.0.pre.9 → 0.65.0.pre.10
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.lock +1 -1
- data/lib/ruby_terraform.rb +45 -1
- data/lib/ruby_terraform/commands.rb +29 -8
- data/lib/ruby_terraform/commands/apply.rb +14 -9
- data/lib/ruby_terraform/commands/base.rb +3 -3
- data/lib/ruby_terraform/commands/clean.rb +2 -2
- data/lib/ruby_terraform/commands/destroy.rb +17 -8
- data/lib/ruby_terraform/commands/force_unlock.rb +24 -0
- data/lib/ruby_terraform/commands/format.rb +11 -9
- data/lib/ruby_terraform/commands/get.rb +8 -5
- data/lib/ruby_terraform/commands/graph.rb +24 -0
- data/lib/ruby_terraform/commands/import.rb +15 -6
- data/lib/ruby_terraform/commands/init.rb +16 -6
- 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 +9 -7
- data/lib/ruby_terraform/commands/plan.rb +15 -6
- 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 +19 -6
- data/lib/ruby_terraform/commands/remote_config.rb +4 -4
- data/lib/ruby_terraform/commands/show.rb +8 -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 +35 -0
- data/lib/ruby_terraform/commands/untaint.rb +37 -0
- data/lib/ruby_terraform/commands/validate.rb +8 -9
- 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/options.rb +1 -0
- data/lib/ruby_terraform/options/common.rb +11 -0
- data/lib/ruby_terraform/options/factory.rb +1 -0
- data/lib/ruby_terraform/output.rb +7 -7
- data/lib/ruby_terraform/version.rb +1 -1
- metadata +24 -2
- data/lib/ruby_terraform/commands/workspace.rb +0 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 94caa2aca97f42de2c9ebf6b4924b89af8d39482d49ee2e3d1603cac201e910e
|
4
|
+
data.tar.gz: 6b6f5cfdfa183a6189f9cc796e7acdc49461ce34250a414d3e0d654159cb3840
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5256f952dc7b3d11762ce57563588e39b94ff0f33c20bfbb1f3587bc43b05b493a9a236d824e4b4a8929fe596e20a4b6f7448d6cc97c4636529ea7282ce39c1d
|
7
|
+
data.tar.gz: 714db0266dcb2b1c6a52598b4913151a17abd4d9a8f31649680879f362d7778f48525d177c826086b69eaf56595346574b432c8f422cab5b826269f75e456412
|
data/Gemfile.lock
CHANGED
data/lib/ruby_terraform.rb
CHANGED
@@ -29,21 +29,65 @@ module RubyTerraform
|
|
29
29
|
clean: RubyTerraform::Commands::Clean,
|
30
30
|
destroy: RubyTerraform::Commands::Destroy,
|
31
31
|
format: RubyTerraform::Commands::Format,
|
32
|
+
force_unlock: RubyTerraform::Commands::ForceUnlock,
|
32
33
|
get: RubyTerraform::Commands::Get,
|
34
|
+
graph: RubyTerraform::Commands::Graph,
|
33
35
|
import: RubyTerraform::Commands::Import,
|
34
36
|
init: RubyTerraform::Commands::Init,
|
37
|
+
login: RubyTerraform::Commands::Login,
|
38
|
+
logout: RubyTerraform::Commands::Logout,
|
35
39
|
output: RubyTerraform::Commands::Output,
|
36
40
|
plan: RubyTerraform::Commands::Plan,
|
41
|
+
providers: RubyTerraform::Commands::Providers,
|
42
|
+
providers_lock: RubyTerraform::Commands::ProvidersLock,
|
43
|
+
providers_mirror: RubyTerraform::Commands::ProvidersMirror,
|
44
|
+
providers_schema: RubyTerraform::Commands::ProvidersSchema,
|
37
45
|
refresh: RubyTerraform::Commands::Refresh,
|
38
46
|
remote_config: RubyTerraform::Commands::RemoteConfig,
|
39
47
|
show: RubyTerraform::Commands::Show,
|
48
|
+
state_list: RubyTerraform::Commands::StateList,
|
49
|
+
state_mv: RubyTerraform::Commands::StateMove,
|
50
|
+
state_pull: RubyTerraform::Commands::StatePull,
|
51
|
+
state_push: RubyTerraform::Commands::StatePush,
|
52
|
+
state_replace_provider: RubyTerraform::Commands::StateReplaceProvider,
|
53
|
+
state_rm: RubyTerraform::Commands::StateRemove,
|
54
|
+
state_show: RubyTerraform::Commands::StateShow,
|
55
|
+
taint: RubyTerraform::Commands::Taint,
|
56
|
+
untaint: RubyTerraform::Commands::Untaint,
|
40
57
|
validate: RubyTerraform::Commands::Validate,
|
41
|
-
|
58
|
+
workspace_list: RubyTerraform::Commands::WorkspaceList,
|
59
|
+
workspace_select: RubyTerraform::Commands::WorkspaceSelect,
|
60
|
+
workspace_new: RubyTerraform::Commands::WorkspaceNew,
|
61
|
+
workspace_delete: RubyTerraform::Commands::WorkspaceDelete,
|
62
|
+
workspace_show: RubyTerraform::Commands::WorkspaceShow
|
42
63
|
}.each do |method, command_class|
|
43
64
|
define_method(method) do |parameters = {}|
|
44
65
|
command_class.new.execute(parameters)
|
45
66
|
end
|
46
67
|
end
|
68
|
+
|
69
|
+
def workspace(parameters = {}) # rubocop:disable Metrics/MethodLength
|
70
|
+
case parameters[:operation]
|
71
|
+
when nil, 'list'
|
72
|
+
exec(RubyTerraform::Commands::WorkspaceList, parameters)
|
73
|
+
when 'select'
|
74
|
+
exec(RubyTerraform::Commands::WorkspaceSelect, parameters)
|
75
|
+
when 'new'
|
76
|
+
exec(RubyTerraform::Commands::WorkspaceNew, parameters)
|
77
|
+
when 'delete'
|
78
|
+
exec(RubyTerraform::Commands::WorkspaceDelete, parameters)
|
79
|
+
when 'show'
|
80
|
+
exec(RubyTerraform::Commands::WorkspaceShow, parameters)
|
81
|
+
else
|
82
|
+
raise "Invalid operation '#{parameters[:operation]}' supplied to workspace"
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
private
|
87
|
+
|
88
|
+
def exec(command_class, parameters)
|
89
|
+
command_class.new.execute(parameters)
|
90
|
+
end
|
47
91
|
end
|
48
92
|
extend ClassMethods
|
49
93
|
|
@@ -1,19 +1,40 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative 'commands/clean'
|
4
|
-
require_relative 'commands/init'
|
5
|
-
require_relative 'commands/get'
|
6
|
-
require_relative 'commands/validate'
|
7
|
-
require_relative 'commands/plan'
|
8
3
|
require_relative 'commands/apply'
|
4
|
+
require_relative 'commands/clean'
|
9
5
|
require_relative 'commands/destroy'
|
6
|
+
require_relative 'commands/force_unlock'
|
7
|
+
require_relative 'commands/format'
|
8
|
+
require_relative 'commands/get'
|
9
|
+
require_relative 'commands/graph'
|
10
|
+
require_relative 'commands/import'
|
11
|
+
require_relative 'commands/init'
|
12
|
+
require_relative 'commands/login'
|
13
|
+
require_relative 'commands/logout'
|
10
14
|
require_relative 'commands/output'
|
15
|
+
require_relative 'commands/plan'
|
16
|
+
require_relative 'commands/providers'
|
17
|
+
require_relative 'commands/providers_lock'
|
18
|
+
require_relative 'commands/providers_mirror'
|
19
|
+
require_relative 'commands/providers_schema'
|
11
20
|
require_relative 'commands/refresh'
|
12
21
|
require_relative 'commands/remote_config'
|
13
22
|
require_relative 'commands/show'
|
14
|
-
require_relative 'commands/
|
15
|
-
require_relative 'commands/
|
16
|
-
require_relative 'commands/
|
23
|
+
require_relative 'commands/state_list'
|
24
|
+
require_relative 'commands/state_move'
|
25
|
+
require_relative 'commands/state_pull'
|
26
|
+
require_relative 'commands/state_push'
|
27
|
+
require_relative 'commands/state_replace_provider'
|
28
|
+
require_relative 'commands/state_remove'
|
29
|
+
require_relative 'commands/state_show'
|
30
|
+
require_relative 'commands/taint'
|
31
|
+
require_relative 'commands/untaint'
|
32
|
+
require_relative 'commands/validate'
|
33
|
+
require_relative 'commands/workspace_delete'
|
34
|
+
require_relative 'commands/workspace_list'
|
35
|
+
require_relative 'commands/workspace_new'
|
36
|
+
require_relative 'commands/workspace_select'
|
37
|
+
require_relative 'commands/workspace_show'
|
17
38
|
|
18
39
|
module RubyTerraform
|
19
40
|
module Commands
|
@@ -1,33 +1,38 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
4
5
|
|
5
6
|
module RubyTerraform
|
6
7
|
module Commands
|
7
8
|
class Apply < Base
|
8
|
-
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
9
12
|
%w[apply]
|
10
13
|
end
|
11
14
|
|
12
|
-
# rubocop:disable Metrics/MethodLength
|
13
|
-
def options
|
15
|
+
def options # rubocop:disable Metrics/MethodLength
|
14
16
|
%w[
|
15
|
-
-auto-approve
|
16
17
|
-backup
|
17
|
-
-
|
18
|
+
-compact-warnings
|
18
19
|
-lock
|
19
20
|
-lock-timeout
|
21
|
+
-input
|
22
|
+
-auto-approve
|
20
23
|
-no-color
|
24
|
+
-parallelism
|
25
|
+
-refresh
|
21
26
|
-state
|
27
|
+
-state-out
|
22
28
|
-target
|
23
29
|
-var
|
24
30
|
-var-file
|
25
|
-
]
|
31
|
+
] + super
|
26
32
|
end
|
27
|
-
# rubocop:enable Metrics/MethodLength
|
28
33
|
|
29
|
-
def arguments(
|
30
|
-
[
|
34
|
+
def arguments(parameters)
|
35
|
+
[parameters[:plan] || parameters[:directory]]
|
31
36
|
end
|
32
37
|
|
33
38
|
def parameter_defaults(_parameters)
|
@@ -63,7 +63,7 @@ module RubyTerraform
|
|
63
63
|
.with_options_after_subcommands
|
64
64
|
.with_option_separator('=')
|
65
65
|
.with_appliables(Options::Factory.from(options, parameters))
|
66
|
-
.with_subcommands(subcommands
|
66
|
+
.with_subcommands(subcommands)
|
67
67
|
.with_arguments(arguments(parameters))
|
68
68
|
.build
|
69
69
|
end
|
@@ -82,7 +82,7 @@ module RubyTerraform
|
|
82
82
|
{}
|
83
83
|
end
|
84
84
|
|
85
|
-
def subcommands
|
85
|
+
def subcommands
|
86
86
|
[]
|
87
87
|
end
|
88
88
|
|
@@ -90,7 +90,7 @@ module RubyTerraform
|
|
90
90
|
[]
|
91
91
|
end
|
92
92
|
|
93
|
-
def arguments(
|
93
|
+
def arguments(_parameters)
|
94
94
|
[]
|
95
95
|
end
|
96
96
|
end
|
@@ -12,8 +12,8 @@ module RubyTerraform
|
|
12
12
|
@logger = logger || RubyTerraform.configuration.logger
|
13
13
|
end
|
14
14
|
|
15
|
-
def execute(
|
16
|
-
directory =
|
15
|
+
def execute(parameters = {})
|
16
|
+
directory = parameters[:directory] || @directory
|
17
17
|
begin
|
18
18
|
logger.info "Cleaning terraform directory '#{directory}'."
|
19
19
|
FileUtils.rm_r(directory, secure: true)
|
@@ -1,25 +1,34 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
4
5
|
|
5
6
|
module RubyTerraform
|
6
7
|
module Commands
|
7
8
|
class Destroy < Base
|
8
|
-
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[destroy]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options # rubocop:disable Metrics/MethodLength
|
9
16
|
%w[
|
10
|
-
-auto-approve
|
11
17
|
-backup
|
12
|
-
-
|
18
|
+
-compact-warnings
|
19
|
+
-lock
|
20
|
+
-lock-timeout
|
21
|
+
-input
|
22
|
+
-auto-approve
|
13
23
|
-no-color
|
24
|
+
-parallelism
|
25
|
+
-refresh
|
14
26
|
-state
|
27
|
+
-state-out
|
15
28
|
-target
|
16
29
|
-var
|
17
30
|
-var-file
|
18
|
-
]
|
19
|
-
end
|
20
|
-
|
21
|
-
def subcommands(_parameters)
|
22
|
-
%w[destroy]
|
31
|
+
] + super
|
23
32
|
end
|
24
33
|
|
25
34
|
def arguments(parameters)
|
@@ -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,23 +1,25 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
4
5
|
|
5
6
|
module RubyTerraform
|
6
7
|
module Commands
|
7
8
|
class Format < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[fmt]
|
13
|
+
end
|
14
|
+
|
8
15
|
def options
|
9
16
|
%w[
|
10
|
-
-check
|
11
|
-
-diff
|
12
17
|
-list
|
13
|
-
-no-color
|
14
|
-
-recursive
|
15
18
|
-write
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
%w[fmt]
|
19
|
+
-diff
|
20
|
+
-check
|
21
|
+
-recursive
|
22
|
+
] + super
|
21
23
|
end
|
22
24
|
|
23
25
|
def arguments(parameters)
|
@@ -1,19 +1,22 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
4
5
|
|
5
6
|
module RubyTerraform
|
6
7
|
module Commands
|
7
8
|
class Get < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[get]
|
13
|
+
end
|
14
|
+
|
8
15
|
def options
|
9
16
|
%w[
|
10
17
|
-no-color
|
11
18
|
-update
|
12
|
-
]
|
13
|
-
end
|
14
|
-
|
15
|
-
def subcommands(_parameters)
|
16
|
-
%w[get]
|
19
|
+
] + super
|
17
20
|
end
|
18
21
|
|
19
22
|
def arguments(parameters)
|
@@ -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,24 +1,33 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
4
5
|
|
5
6
|
module RubyTerraform
|
6
7
|
module Commands
|
7
8
|
class Import < Base
|
8
|
-
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[import]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options # rubocop:disable Metrics/MethodLength
|
9
16
|
%w[
|
10
17
|
-config
|
11
18
|
-backup
|
12
19
|
-input
|
20
|
+
-lock
|
21
|
+
-lock-timeout
|
13
22
|
-no-color
|
23
|
+
-parallelism
|
24
|
+
-provider
|
14
25
|
-state
|
26
|
+
-state-out
|
15
27
|
-var
|
16
28
|
-var-file
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
def subcommands(_parameters)
|
21
|
-
%w[import]
|
29
|
+
-ignore-remote-version
|
30
|
+
] + super
|
22
31
|
end
|
23
32
|
|
24
33
|
def arguments(parameters)
|
@@ -1,24 +1,34 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
4
5
|
|
5
6
|
module RubyTerraform
|
6
7
|
module Commands
|
7
8
|
class Init < Base
|
8
|
-
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[init]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options # rubocop:disable Metrics/MethodLength
|
9
16
|
%w[
|
10
17
|
-backend
|
11
18
|
-backend-config
|
12
19
|
-force-copy
|
13
20
|
-from-module
|
14
21
|
-get
|
22
|
+
-get-plugins
|
23
|
+
-input
|
24
|
+
-lock
|
25
|
+
-lock-timeout
|
15
26
|
-no-color
|
16
27
|
-plugin-dir
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
%w[init]
|
28
|
+
-reconfigure
|
29
|
+
-upgrade
|
30
|
+
-verify-plugins
|
31
|
+
] + super
|
22
32
|
end
|
23
33
|
|
24
34
|
def arguments(parameters)
|