ruby-terraform 0.65.0.pre.15 → 1.0.0.pre.1
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 +15 -15
- data/README.md +148 -397
- data/Rakefile +25 -0
- data/lib/ruby_terraform.rb +707 -45
- data/lib/ruby_terraform/commands.rb +0 -2
- data/lib/ruby_terraform/commands/apply.rb +7 -7
- data/lib/ruby_terraform/commands/base.rb +4 -1
- data/lib/ruby_terraform/commands/destroy.rb +6 -5
- data/lib/ruby_terraform/commands/force_unlock.rb +6 -4
- data/lib/ruby_terraform/commands/format.rb +8 -4
- data/lib/ruby_terraform/commands/get.rb +6 -4
- data/lib/ruby_terraform/commands/graph.rb +11 -3
- data/lib/ruby_terraform/commands/import.rb +8 -7
- data/lib/ruby_terraform/commands/init.rb +16 -6
- data/lib/ruby_terraform/commands/login.rb +2 -2
- data/lib/ruby_terraform/commands/logout.rb +2 -2
- data/lib/ruby_terraform/commands/output.rb +2 -2
- data/lib/ruby_terraform/commands/plan.rb +6 -3
- data/lib/ruby_terraform/commands/providers.rb +9 -3
- data/lib/ruby_terraform/commands/providers_lock.rb +10 -7
- data/lib/ruby_terraform/commands/providers_mirror.rb +3 -3
- 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 +1 -1
- data/lib/ruby_terraform/options/definition.rb +3 -1
- data/lib/ruby_terraform/options/definitions.rb +12 -3
- data/lib/ruby_terraform/options/{common.rb → global.rb} +1 -1
- data/lib/ruby_terraform/options/types.rb +0 -1
- data/lib/ruby_terraform/options/types/flag.rb +8 -4
- data/lib/ruby_terraform/options/types/standard.rb +20 -6
- data/lib/ruby_terraform/version.rb +1 -1
- data/ruby_terraform.gemspec +2 -2
- metadata +9 -12
- 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 -19
@@ -1,15 +1,29 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'json'
|
4
|
-
|
5
|
-
require_relative 'base'
|
6
|
-
|
7
3
|
module RubyTerraform
|
8
4
|
module Options
|
9
5
|
module Types
|
10
|
-
class Standard <
|
6
|
+
class Standard < ImmutableStruct.new(
|
7
|
+
:name,
|
8
|
+
:value,
|
9
|
+
:separator,
|
10
|
+
:placement
|
11
|
+
)
|
12
|
+
def initialize(name, value, **opts)
|
13
|
+
super(
|
14
|
+
name: name, value: value,
|
15
|
+
separator: opts[:separator],
|
16
|
+
placement: opts[:placement]
|
17
|
+
)
|
18
|
+
end
|
19
|
+
|
11
20
|
def apply(builder)
|
12
|
-
builder.with_option(
|
21
|
+
builder.with_option(
|
22
|
+
name,
|
23
|
+
value.render,
|
24
|
+
separator: separator,
|
25
|
+
placement: placement
|
26
|
+
)
|
13
27
|
end
|
14
28
|
end
|
15
29
|
end
|
data/ruby_terraform.gemspec
CHANGED
@@ -38,8 +38,8 @@ Gem::Specification.new do |spec|
|
|
38
38
|
|
39
39
|
spec.required_ruby_version = '>= 2.6'
|
40
40
|
|
41
|
-
spec.add_dependency 'immutable-struct', '
|
42
|
-
spec.add_dependency 'lino', '
|
41
|
+
spec.add_dependency 'immutable-struct', '~> 2.4'
|
42
|
+
spec.add_dependency 'lino', '~> 2.7'
|
43
43
|
|
44
44
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
45
45
|
spec.add_development_dependency 'faker', '~> 2.17'
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-terraform
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0.pre.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Toby Clemson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: immutable-struct
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '2.4'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.4'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: lino
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '2.
|
33
|
+
version: '2.7'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '2.
|
40
|
+
version: '2.7'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -283,7 +283,6 @@ files:
|
|
283
283
|
- lib/ruby_terraform/commands.rb
|
284
284
|
- lib/ruby_terraform/commands/apply.rb
|
285
285
|
- lib/ruby_terraform/commands/base.rb
|
286
|
-
- lib/ruby_terraform/commands/clean.rb
|
287
286
|
- lib/ruby_terraform/commands/destroy.rb
|
288
287
|
- lib/ruby_terraform/commands/force_unlock.rb
|
289
288
|
- lib/ruby_terraform/commands/format.rb
|
@@ -300,7 +299,6 @@ files:
|
|
300
299
|
- lib/ruby_terraform/commands/providers_mirror.rb
|
301
300
|
- lib/ruby_terraform/commands/providers_schema.rb
|
302
301
|
- lib/ruby_terraform/commands/refresh.rb
|
303
|
-
- lib/ruby_terraform/commands/remote_config.rb
|
304
302
|
- lib/ruby_terraform/commands/show.rb
|
305
303
|
- lib/ruby_terraform/commands/state_list.rb
|
306
304
|
- lib/ruby_terraform/commands/state_move.rb
|
@@ -320,13 +318,12 @@ files:
|
|
320
318
|
- lib/ruby_terraform/errors.rb
|
321
319
|
- lib/ruby_terraform/errors/execution_error.rb
|
322
320
|
- lib/ruby_terraform/options.rb
|
323
|
-
- lib/ruby_terraform/options/common.rb
|
324
321
|
- lib/ruby_terraform/options/definition.rb
|
325
322
|
- lib/ruby_terraform/options/definitions.rb
|
326
323
|
- lib/ruby_terraform/options/factory.rb
|
324
|
+
- lib/ruby_terraform/options/global.rb
|
327
325
|
- lib/ruby_terraform/options/name.rb
|
328
326
|
- lib/ruby_terraform/options/types.rb
|
329
|
-
- lib/ruby_terraform/options/types/base.rb
|
330
327
|
- lib/ruby_terraform/options/types/flag.rb
|
331
328
|
- lib/ruby_terraform/options/types/standard.rb
|
332
329
|
- lib/ruby_terraform/options/values.rb
|
@@ -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,19 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'immutable-struct'
|
4
|
-
|
5
|
-
module RubyTerraform
|
6
|
-
module Options
|
7
|
-
module Types
|
8
|
-
class Base < ImmutableStruct.new(:name, :value, :separator)
|
9
|
-
def initialize(name, value, **opts)
|
10
|
-
super(name: name, value: value, separator: opts[:separator])
|
11
|
-
end
|
12
|
-
|
13
|
-
def apply(_builder)
|
14
|
-
raise 'Not implemented.'
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|