ruby-terraform 0.65.0.pre.9 → 0.65.0.pre.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +18 -10
- data/lib/ruby_terraform.rb +131 -4
- data/lib/ruby_terraform/commands.rb +29 -8
- data/lib/ruby_terraform/commands/apply.rb +85 -6
- data/lib/ruby_terraform/commands/base.rb +21 -18
- 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 +10 -10
- 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 +36 -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 +26 -3
- data/lib/ruby_terraform/options/common.rb +12 -0
- data/lib/ruby_terraform/options/definition.rb +172 -0
- data/lib/ruby_terraform/options/definitions.rb +103 -0
- data/lib/ruby_terraform/options/factory.rb +10 -101
- data/lib/ruby_terraform/options/name.rb +11 -19
- data/lib/ruby_terraform/options/types.rb +27 -0
- data/lib/ruby_terraform/options/types/base.rb +6 -13
- data/lib/ruby_terraform/options/types/flag.rb +1 -3
- data/lib/ruby_terraform/options/types/standard.rb +1 -27
- 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/output.rb +7 -7
- data/lib/ruby_terraform/version.rb +1 -1
- data/ruby_terraform.gemspec +3 -1
- metadata +63 -6
- data/lib/ruby_terraform/commands/workspace.rb +0 -26
- data/lib/ruby_terraform/options/types/boolean.rb +0 -18
@@ -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
|
@@ -1,23 +1,32 @@
|
|
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 Refresh < Base
|
8
|
-
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[refresh]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options # rubocop:disable Metrics/MethodLength
|
9
16
|
%w[
|
17
|
+
-backup
|
18
|
+
-compact-warnings
|
10
19
|
-input
|
20
|
+
-lock
|
21
|
+
-lock-timeout
|
11
22
|
-no-color
|
23
|
+
-parallelism
|
12
24
|
-state
|
25
|
+
-state-out
|
13
26
|
-target
|
14
27
|
-var
|
15
28
|
-var-file
|
16
|
-
]
|
17
|
-
end
|
18
|
-
|
19
|
-
def subcommands(_parameters)
|
20
|
-
%w[refresh]
|
29
|
+
] + super
|
21
30
|
end
|
22
31
|
|
23
32
|
def arguments(parameters)
|
@@ -27,6 +36,10 @@ module RubyTerraform
|
|
27
36
|
def parameter_defaults(_parameters)
|
28
37
|
{ vars: {}, var_files: [], targets: [] }
|
29
38
|
end
|
39
|
+
|
40
|
+
def parameter_overrides(parameters)
|
41
|
+
{ backup: parameters[:no_backup] ? '-' : parameters[:backup] }
|
42
|
+
end
|
30
43
|
end
|
31
44
|
end
|
32
45
|
end
|
@@ -5,6 +5,10 @@ require_relative 'base'
|
|
5
5
|
module RubyTerraform
|
6
6
|
module Commands
|
7
7
|
class RemoteConfig < Base
|
8
|
+
def subcommands
|
9
|
+
%w[remote config]
|
10
|
+
end
|
11
|
+
|
8
12
|
def options
|
9
13
|
%w[
|
10
14
|
-backend
|
@@ -13,10 +17,6 @@ module RubyTerraform
|
|
13
17
|
]
|
14
18
|
end
|
15
19
|
|
16
|
-
def subcommands(_parameters)
|
17
|
-
%w[remote config]
|
18
|
-
end
|
19
|
-
|
20
20
|
def parameter_defaults(_parameters)
|
21
21
|
{ backend_config: {} }
|
22
22
|
end
|
@@ -1,20 +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 Show < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[show]
|
13
|
+
end
|
14
|
+
|
8
15
|
def options
|
9
16
|
%w[
|
10
17
|
-json
|
11
|
-
-module-depth
|
12
18
|
-no-color
|
13
|
-
]
|
14
|
-
end
|
15
|
-
|
16
|
-
def subcommands(_parameters)
|
17
|
-
%w[show]
|
19
|
+
] + super
|
18
20
|
end
|
19
21
|
|
20
22
|
def arguments(parameters)
|
@@ -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 StateList < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[state list]
|
13
|
+
end
|
14
|
+
|
15
|
+
def arguments(parameters)
|
16
|
+
[parameters[:address]]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Commands
|
8
|
+
class StateMove < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[state mv]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options
|
16
|
+
%w[
|
17
|
+
-backup
|
18
|
+
-backup-out
|
19
|
+
-state
|
20
|
+
-state-out
|
21
|
+
-ignore-remote-version
|
22
|
+
] + super
|
23
|
+
end
|
24
|
+
|
25
|
+
def arguments(parameters)
|
26
|
+
[parameters[:source], parameters[:destination]]
|
27
|
+
end
|
28
|
+
|
29
|
+
def parameter_overrides(parameters)
|
30
|
+
{ backup: parameters[:no_backup] ? '-' : parameters[:backup] }
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
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 StatePull < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[state pull]
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
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 StatePush < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[state push]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options
|
16
|
+
%w[-ignore-remote-version] + super
|
17
|
+
end
|
18
|
+
|
19
|
+
def arguments(parameters)
|
20
|
+
[parameters[:path]]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Commands
|
8
|
+
class StateRemove < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[state rm]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options
|
16
|
+
%w[
|
17
|
+
-backup
|
18
|
+
-state
|
19
|
+
-ignore-remote-version
|
20
|
+
] + super
|
21
|
+
end
|
22
|
+
|
23
|
+
def arguments(parameters)
|
24
|
+
[parameters[:address]]
|
25
|
+
end
|
26
|
+
|
27
|
+
def parameter_overrides(parameters)
|
28
|
+
{ backup: parameters[:no_backup] ? '-' : parameters[:backup] }
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Commands
|
8
|
+
class StateReplaceProvider < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[state replace-provider]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options
|
16
|
+
%w[
|
17
|
+
-auto-approve
|
18
|
+
-backup
|
19
|
+
-lock
|
20
|
+
-lock-timeout
|
21
|
+
-state
|
22
|
+
-ignore-remote-version
|
23
|
+
] + super
|
24
|
+
end
|
25
|
+
|
26
|
+
def arguments(parameters)
|
27
|
+
[parameters[:from], parameters[:to]]
|
28
|
+
end
|
29
|
+
|
30
|
+
def parameter_overrides(parameters)
|
31
|
+
{ backup: parameters[:no_backup] ? '-' : parameters[:backup] }
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
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 StateShow < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[state show]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options
|
16
|
+
%w[-state] + super
|
17
|
+
end
|
18
|
+
|
19
|
+
def arguments(parameters)
|
20
|
+
[parameters[:address]]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Commands
|
8
|
+
class Taint < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[taint]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options
|
16
|
+
%w[
|
17
|
+
-allow-missing
|
18
|
+
-backup
|
19
|
+
-lock
|
20
|
+
-lock-timeout
|
21
|
+
-state
|
22
|
+
-state-out
|
23
|
+
-ignore-remote-version
|
24
|
+
] + super
|
25
|
+
end
|
26
|
+
|
27
|
+
def arguments(parameters)
|
28
|
+
[parameters[:address]]
|
29
|
+
end
|
30
|
+
|
31
|
+
def parameter_overrides(parameters)
|
32
|
+
{ backup: parameters[:no_backup] ? '-' : parameters[:backup] }
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Commands
|
8
|
+
class Untaint < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[untaint]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options
|
16
|
+
%w[
|
17
|
+
-allow-missing
|
18
|
+
-backup
|
19
|
+
-lock
|
20
|
+
-lock-timeout
|
21
|
+
-no-color
|
22
|
+
-state
|
23
|
+
-state-out
|
24
|
+
-ignore-remote-version
|
25
|
+
] + super
|
26
|
+
end
|
27
|
+
|
28
|
+
def arguments(parameters)
|
29
|
+
[parameters[:name]]
|
30
|
+
end
|
31
|
+
|
32
|
+
def parameter_overrides(parameters)
|
33
|
+
{ backup: parameters[:no_backup] ? '-' : parameters[:backup] }
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -1,23 +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 Validate < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[validate]
|
13
|
+
end
|
14
|
+
|
8
15
|
def options
|
9
16
|
%w[
|
10
|
-
-check-variables
|
11
17
|
-json
|
12
18
|
-no-color
|
13
|
-
|
14
|
-
-var
|
15
|
-
-var-file
|
16
|
-
]
|
17
|
-
end
|
18
|
-
|
19
|
-
def subcommands(_parameters)
|
20
|
-
%w[validate]
|
19
|
+
] + super
|
21
20
|
end
|
22
21
|
|
23
22
|
def arguments(parameters)
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative '../options/common'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Commands
|
8
|
+
class WorkspaceDelete < Base
|
9
|
+
include RubyTerraform::Options::Common
|
10
|
+
|
11
|
+
def subcommands
|
12
|
+
%w[workspace delete]
|
13
|
+
end
|
14
|
+
|
15
|
+
def options
|
16
|
+
%w[
|
17
|
+
-force
|
18
|
+
-lock
|
19
|
+
-lock-timeout
|
20
|
+
] + super
|
21
|
+
end
|
22
|
+
|
23
|
+
def arguments(parameters)
|
24
|
+
[parameters[:workspace], parameters[:directory]]
|
25
|
+
end
|
26
|
+
|
27
|
+
def parameter_defaults(_parameters)
|
28
|
+
{ directory: nil }
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|