ruby-terraform 0.65.0.pre.9 → 0.65.0.pre.14
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 +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
|