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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +15 -15
  3. data/README.md +148 -397
  4. data/Rakefile +25 -0
  5. data/lib/ruby_terraform.rb +707 -45
  6. data/lib/ruby_terraform/commands.rb +0 -2
  7. data/lib/ruby_terraform/commands/apply.rb +7 -7
  8. data/lib/ruby_terraform/commands/base.rb +4 -1
  9. data/lib/ruby_terraform/commands/destroy.rb +6 -5
  10. data/lib/ruby_terraform/commands/force_unlock.rb +6 -4
  11. data/lib/ruby_terraform/commands/format.rb +8 -4
  12. data/lib/ruby_terraform/commands/get.rb +6 -4
  13. data/lib/ruby_terraform/commands/graph.rb +11 -3
  14. data/lib/ruby_terraform/commands/import.rb +8 -7
  15. data/lib/ruby_terraform/commands/init.rb +16 -6
  16. data/lib/ruby_terraform/commands/login.rb +2 -2
  17. data/lib/ruby_terraform/commands/logout.rb +2 -2
  18. data/lib/ruby_terraform/commands/output.rb +2 -2
  19. data/lib/ruby_terraform/commands/plan.rb +6 -3
  20. data/lib/ruby_terraform/commands/providers.rb +9 -3
  21. data/lib/ruby_terraform/commands/providers_lock.rb +10 -7
  22. data/lib/ruby_terraform/commands/providers_mirror.rb +3 -3
  23. data/lib/ruby_terraform/commands/providers_schema.rb +21 -2
  24. data/lib/ruby_terraform/commands/refresh.rb +70 -3
  25. data/lib/ruby_terraform/commands/show.rb +26 -3
  26. data/lib/ruby_terraform/commands/state_list.rb +54 -3
  27. data/lib/ruby_terraform/commands/state_move.rb +64 -6
  28. data/lib/ruby_terraform/commands/state_pull.rb +24 -2
  29. data/lib/ruby_terraform/commands/state_push.rb +49 -3
  30. data/lib/ruby_terraform/commands/state_remove.rb +55 -7
  31. data/lib/ruby_terraform/commands/state_replace_provider.rb +39 -6
  32. data/lib/ruby_terraform/commands/state_show.rb +26 -2
  33. data/lib/ruby_terraform/commands/taint.rb +63 -2
  34. data/lib/ruby_terraform/commands/untaint.rb +55 -2
  35. data/lib/ruby_terraform/commands/validate.rb +51 -6
  36. data/lib/ruby_terraform/commands/workspace_delete.rb +29 -7
  37. data/lib/ruby_terraform/commands/workspace_list.rb +21 -6
  38. data/lib/ruby_terraform/commands/workspace_new.rb +28 -7
  39. data/lib/ruby_terraform/commands/workspace_select.rb +23 -7
  40. data/lib/ruby_terraform/commands/workspace_show.rb +17 -2
  41. data/lib/ruby_terraform/options.rb +1 -1
  42. data/lib/ruby_terraform/options/definition.rb +3 -1
  43. data/lib/ruby_terraform/options/definitions.rb +12 -3
  44. data/lib/ruby_terraform/options/{common.rb → global.rb} +1 -1
  45. data/lib/ruby_terraform/options/types.rb +0 -1
  46. data/lib/ruby_terraform/options/types/flag.rb +8 -4
  47. data/lib/ruby_terraform/options/types/standard.rb +20 -6
  48. data/lib/ruby_terraform/version.rb +1 -1
  49. data/ruby_terraform.gemspec +2 -2
  50. metadata +9 -12
  51. data/lib/ruby_terraform/commands/clean.rb +0 -26
  52. data/lib/ruby_terraform/commands/remote_config.rb +0 -25
  53. data/lib/ruby_terraform/options/types/base.rb +0 -19
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'stringio'
4
4
  require_relative 'base'
5
- require_relative '../options/common'
5
+ require_relative '../options/global'
6
6
 
7
7
  module RubyTerraform
8
8
  module Commands
@@ -34,7 +34,7 @@ module RubyTerraform
34
34
  # name: 'vpc_id')
35
35
  #
36
36
  class Output < Base
37
- include RubyTerraform::Options::Common
37
+ include RubyTerraform::Options::Global
38
38
 
39
39
  # @!visibility private
40
40
  def stdout
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'base'
4
- require_relative '../options/common'
4
+ require_relative '../options/global'
5
5
 
6
6
  module RubyTerraform
7
7
  module Commands
@@ -17,7 +17,9 @@ module RubyTerraform
17
17
  # When executing an instance of {Plan} via {#execute}, the following
18
18
  # options are supported:
19
19
  #
20
- # * +:plan+: the path to output the plan if it should be saved to a file.
20
+ # * +:directory+: the path to a directory containing terraform
21
+ # configuration (deprecated in terraform 0.14, removed in terraform 0.15,
22
+ # use +:chdir+ instead).
21
23
  # * +:chdir+: the path of a working directory to switch to before executing
22
24
  # the given subcommand.
23
25
  # * +:compact_warnings+: when +true+, if terraform produces any warnings
@@ -39,6 +41,7 @@ module RubyTerraform
39
41
  # color; defaults to +false+.
40
42
  # * +:parallelism+: the number of parallel resource operations; defaults to
41
43
  # +10+.
44
+ # * +:plan+: the path to output the plan if it should be saved to a file.
42
45
  # * +:refresh+: when +true+, updates state prior to checking for
43
46
  # differences; when +false+ uses locally available state; defaults to
44
47
  # +true+; this has no effect when +:plan+ is provided.
@@ -64,7 +67,7 @@ module RubyTerraform
64
67
  # })
65
68
  #
66
69
  class Plan < Base
67
- include RubyTerraform::Options::Common
70
+ include RubyTerraform::Options::Global
68
71
 
69
72
  # @!visibility private
70
73
  def subcommands
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'base'
4
- require_relative '../options/common'
4
+ require_relative '../options/global'
5
5
 
6
6
  module RubyTerraform
7
7
  module Commands
@@ -18,6 +18,9 @@ module RubyTerraform
18
18
  # When executing an instance of {Plan} via {#execute}, the following
19
19
  # options are supported:
20
20
  #
21
+ # * +:directory+: the path to a directory containing terraform
22
+ # configuration (deprecated in terraform 0.14, removed in terraform 0.15,
23
+ # use +:chdir+ instead).
21
24
  # * +:chdir+: the path of a working directory to switch to before executing
22
25
  # the given subcommand.
23
26
  #
@@ -25,14 +28,17 @@ module RubyTerraform
25
28
  # RubyTerraform::Commands::Providers.new.execute
26
29
  #
27
30
  class Providers < Base
28
- include RubyTerraform::Options::Common
31
+ include RubyTerraform::Options::Global
29
32
 
30
33
  # @!visibility private
31
34
  def subcommands
32
35
  %w[providers]
33
36
  end
34
37
 
35
- # @todo Add directory argument
38
+ # @!visibility private
39
+ def arguments(parameters)
40
+ [parameters[:directory]]
41
+ end
36
42
  end
37
43
  end
38
44
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'base'
4
- require_relative '../options/common'
4
+ require_relative '../options/global'
5
5
 
6
6
  module RubyTerraform
7
7
  module Commands
@@ -31,8 +31,12 @@ module RubyTerraform
31
31
  # When executing an instance of {ProvidersLock} via {#execute}, the
32
32
  # following options are supported:
33
33
  #
34
- # * +:providers+: the provider source addresses for which the lock file
35
- # should be updated.
34
+ # * +:provider+: the provider source address for which the lock file
35
+ # should be updated; if both +:provider+ and +:providers+ are provided,
36
+ # all providers will be passed to Terraform.
37
+ # * +:providers+: an array of provider source addresses for which the lock
38
+ # file should be updated; if both +:provider+ and +:providers+ are
39
+ # provided, all providers will be passed to Terraform.
36
40
  # * +:chdir+: the path of a working directory to switch to before executing
37
41
  # the given subcommand.
38
42
  # * +:fs_mirror+: if provided, consults the given filesystem mirror
@@ -65,10 +69,10 @@ module RubyTerraform
65
69
  # RubyTerraform::Commands::ProvidersLock.new.execute(
66
70
  # fs_mirror: "/usr/local/terraform/providers",
67
71
  # platforms: ["windows_amd64", "darwin_amd64", "linux_amd64"],
68
- # providers: "tf.example.com/ourcompany/ourplatform")
72
+ # provider: "tf.example.com/ourcompany/ourplatform")
69
73
  #
70
74
  class ProvidersLock < Base
71
- include RubyTerraform::Options::Common
75
+ include RubyTerraform::Options::Global
72
76
 
73
77
  # @!visibility private
74
78
  def subcommands
@@ -85,9 +89,8 @@ module RubyTerraform
85
89
  end
86
90
 
87
91
  # @!visibility private
88
- # @todo Flatten arguments array to allow array of providers.
89
92
  def arguments(parameters)
90
- [parameters[:providers]]
93
+ [parameters[:provider], parameters[:providers]]
91
94
  end
92
95
  end
93
96
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'base'
4
- require_relative '../options/common'
4
+ require_relative '../options/global'
5
5
 
6
6
  module RubyTerraform
7
7
  module Commands
@@ -40,12 +40,12 @@ module RubyTerraform
40
40
  # are provided, all platforms will be passed to Terraform.
41
41
  #
42
42
  # @example Basic Invocation
43
- # RubyTerraform::Commands::PlatformsMirror.new.execute(
43
+ # RubyTerraform::Commands::ProvidersMirror.new.execute(
44
44
  # directory: './plugins',
45
45
  # platforms: ["windows_amd64", "darwin_amd64", "linux_amd64"])
46
46
  #
47
47
  class ProvidersMirror < Base
48
- include RubyTerraform::Options::Common
48
+ include RubyTerraform::Options::Global
49
49
 
50
50
  # @!visibility private
51
51
  def subcommands
@@ -1,21 +1,40 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'base'
4
- require_relative '../options/common'
4
+ require_relative '../options/global'
5
5
 
6
6
  module RubyTerraform
7
7
  module Commands
8
+ # Wraps the +terraform providers schema+ command which prints out a json
9
+ # representation of the schemas for all providers used in the current
10
+ # configuration.
11
+ #
12
+ # For options accepted on construction, see {#initialize}.
13
+ #
14
+ # When executing an instance of {ProvidersSchema} via {#execute}, the
15
+ # following options are supported:
16
+ #
17
+ # * +:chdir+: the path of a working directory to switch to before executing
18
+ # the given subcommand.
19
+ #
20
+ # @example Basic Invocation
21
+ # RubyTerraform::Commands::ProvidersSchema.new.execute(
22
+ # directory: 'infra/networking')
23
+ #
8
24
  class ProvidersSchema < Base
9
- include RubyTerraform::Options::Common
25
+ include RubyTerraform::Options::Global
10
26
 
27
+ # @!visibility private
11
28
  def subcommands
12
29
  %w[providers schema]
13
30
  end
14
31
 
32
+ # @!visibility private
15
33
  def options
16
34
  %w[-json] + super
17
35
  end
18
36
 
37
+ # @!visibility private
19
38
  def parameter_overrides(_parameters)
20
39
  # Terraform 0.15 - at this time, the -json flag is a required option.
21
40
  { json: true }
@@ -1,18 +1,80 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'base'
4
- require_relative '../options/common'
4
+ require_relative '../options/global'
5
5
 
6
6
  module RubyTerraform
7
7
  module Commands
8
+ # Wraps the +terraform refresh+ command which updates the state file of your
9
+ # infrastructure with metadata that matches the physical resources they are
10
+ # tracking.
11
+ #
12
+ # This will not modify your infrastructure, but it can modify your state
13
+ # file to update metadata. This metadata might cause new changes to occur
14
+ # when you generate a plan or call apply next.
15
+ #
16
+ # For options accepted on construction, see {#initialize}.
17
+ #
18
+ # When executing an instance of {Refresh} via {#execute}, the following
19
+ # options are supported:
20
+ #
21
+ # * +:directory+: the path to a directory containing terraform configuration
22
+ # (deprecated in terraform 0.14, removed in terraform 0.15, use +:chdir+
23
+ # instead).
24
+ # * +:chdir+: the path of a working directory to switch to before executing
25
+ # the given subcommand.
26
+ # * +:backup+: the path to backup the existing state file before modifying;
27
+ # defaults to the +:state_out+ path with +".backup"+ extension; set
28
+ # +:no_backup+ to +true+ to skip backups entirely (legacy).
29
+ # * +:compact_warnings+: when +true+, if terraform produces any warnings
30
+ # that are not accompanied by errors, they are shown in a more compact
31
+ # form that includes only the summary messages; defaults to +false+.
32
+ # * +:input+: when +false+, will not ask for input for variables not
33
+ # directly set; defaults to +true+.
34
+ # * +:lock+: when +true+, locks the state file when locking is supported;
35
+ # when +false+, does not lock the state file; defaults to +true+.
36
+ # * +:lock_timeout+: the duration to retry a state lock; defaults to +"0s"+.
37
+ # * +:no_backup+: when +true+, no backup file will be written; defaults to
38
+ # +false+ (legacy).
39
+ # * +:no_color+: whether or not the output from the command should be in
40
+ # color; defaults to +false+.
41
+ # * +:parallelism+: the number of parallel resource operations; defaults to
42
+ # +10+.
43
+ # * +:state+: the path to the state file from which to read state and in
44
+ # which to store state (unless +:state_out+ is specified); defaults to
45
+ # +"terraform.tfstate"+ (legacy).
46
+ # * +:state_out+: the path to write state to that is different than
47
+ # +:state+; this can be used to preserve the old state (legacy).
48
+ # * +:target+: the address of a resource to target; if both +:target+ and
49
+ # +:targets+ are provided, all targets will be passed to terraform.
50
+ # * +:targets+: an array of resource addresses to target; if both +:target+
51
+ # and +:targets+ are provided, all targets will be passed to terraform.
52
+ # * +:vars+: a map of variables to be passed to the terraform configuration.
53
+ # * +:var_file+: the path to a terraform var file; if both +:var_file+ and
54
+ # +:var_files+ are provided, all var files will be passed to terraform.
55
+ # * +:var_files+: an array of paths to terraform var files; if both
56
+ # +:var_file+ and +:var_files+ are provided, all var files will be passed
57
+ # to terraform.
58
+ #
59
+ # @example Basic Invocation
60
+ # RubyTerraform::Commands::Refresh.new.execute(
61
+ # directory: 'infra/networking',
62
+ # vars: {
63
+ # region: 'eu-central'
64
+ # })
65
+ #
8
66
  class Refresh < Base
9
- include RubyTerraform::Options::Common
67
+ include RubyTerraform::Options::Global
10
68
 
69
+ # @!visibility private
11
70
  def subcommands
12
71
  %w[refresh]
13
72
  end
14
73
 
15
- def options # rubocop:disable Metrics/MethodLength
74
+ # rubocop:disable Metrics/MethodLength
75
+
76
+ # @!visibility private
77
+ def options
16
78
  %w[
17
79
  -backup
18
80
  -compact-warnings
@@ -29,14 +91,19 @@ module RubyTerraform
29
91
  ] + super
30
92
  end
31
93
 
94
+ # rubocop:enable Metrics/MethodLength
95
+
96
+ # @!visibility private
32
97
  def arguments(parameters)
33
98
  [parameters[:directory]]
34
99
  end
35
100
 
101
+ # @!visibility private
36
102
  def parameter_defaults(_parameters)
37
103
  { vars: {}, var_files: [], targets: [] }
38
104
  end
39
105
 
106
+ # @!visibility private
40
107
  def parameter_overrides(parameters)
41
108
  { backup: parameters[:no_backup] ? '-' : parameters[:backup] }
42
109
  end
@@ -1,17 +1,39 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'base'
4
- require_relative '../options/common'
4
+ require_relative '../options/global'
5
5
 
6
6
  module RubyTerraform
7
7
  module Commands
8
+ # Wraps the +terraform show+ command which reads and outputs a Terraform
9
+ # state or plan file in a human-readable form. If no path is specified, the
10
+ # current state will be shown.
11
+ #
12
+ # For options accepted on construction, see {#initialize}.
13
+ #
14
+ # When executing an instance of {Show} via {#execute}, the following
15
+ # options are supported:
16
+ #
17
+ # * +:path+: the path to a state file or plan to show.
18
+ # * +:chdir+: the path of a working directory to switch to before executing
19
+ # the given subcommand.
20
+ # * +:no_color+: whether or not the output from the command should be in
21
+ # color; defaults to +false+.
22
+ # * +:json+: if +true+, outputs the Terraform plan or state in a
23
+ # machine-readable form; defaults to +false+.
24
+ #
25
+ # @example Basic Invocation
26
+ # RubyTerraform::Commands::Show.new.execute
27
+ #
8
28
  class Show < Base
9
- include RubyTerraform::Options::Common
29
+ include RubyTerraform::Options::Global
10
30
 
31
+ # @!visibility private
11
32
  def subcommands
12
33
  %w[show]
13
34
  end
14
35
 
36
+ # @!visibility private
15
37
  def options
16
38
  %w[
17
39
  -json
@@ -19,8 +41,9 @@ module RubyTerraform
19
41
  ] + super
20
42
  end
21
43
 
44
+ # @!visibility private
22
45
  def arguments(parameters)
23
- [parameters[:path] || parameters[:directory]]
46
+ [parameters[:path]]
24
47
  end
25
48
  end
26
49
  end
@@ -1,19 +1,70 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'base'
4
- require_relative '../options/common'
4
+ require_relative '../options/global'
5
5
 
6
6
  module RubyTerraform
7
7
  module Commands
8
+ # Wraps the +terraform state list+ command which lists resources in the
9
+ # Terraform state.
10
+ #
11
+ # This command lists resource instances in the Terraform state. The address
12
+ # option can be used to filter the instances by resource or module. If no
13
+ # pattern is given, all resource instances are listed.
14
+ #
15
+ # The addresses must either be module addresses or absolute resource
16
+ # addresses, such as:
17
+ #
18
+ # * +aws_instance.example+
19
+ # * +module.example+
20
+ # * +module.example.module.child+
21
+ # * +module.example.aws_instance.example+
22
+ #
23
+ # An {RubyTerraform::Errors::ExecutionError} will be raised if any of the
24
+ # resources or modules given as filter addresses do not exist in the state.
25
+ #
26
+ # For options accepted on construction, see {#initialize}.
27
+ #
28
+ # When executing an instance of {StateList} via {#execute}, the following
29
+ # options are supported:
30
+ #
31
+ # * +:address+: the module address or absolute resource address to filter
32
+ # by; if both +:address+ and +:addresses+ are provided, all addresses will
33
+ # be passed to Terraform.
34
+ # * +:addresses+: an array of module addresses or absolute resource
35
+ # addresses to filter by; if both +:address+ and +:addresses+ are
36
+ # provided, all addresses will be passed to Terraform.
37
+ # * +:chdir+: the path of a working directory to switch to before executing
38
+ # the given subcommand.
39
+ # * +:state+: the path to a Terraform state file to use to look up
40
+ # Terraform-managed resources; by default, Terraform will consult the
41
+ # state of the currently-selected workspace.
42
+ # * +:id+: when provided, filters the results to include only instances
43
+ # whose resource types have an attribute named "id" whose value equals the
44
+ # given id string.
45
+ #
46
+ # @example Basic Invocation
47
+ # RubyTerraform::Commands::StateList.new.execute
48
+ #
8
49
  class StateList < Base
9
- include RubyTerraform::Options::Common
50
+ include RubyTerraform::Options::Global
10
51
 
52
+ # @!visibility private
11
53
  def subcommands
12
54
  %w[state list]
13
55
  end
14
56
 
57
+ # @!visibility private
58
+ def options
59
+ %w[
60
+ -state
61
+ -id
62
+ ] + super
63
+ end
64
+
65
+ # @!visibility private
15
66
  def arguments(parameters)
16
- [parameters[:address]]
67
+ [parameters[:address], parameters[:addresses]]
17
68
  end
18
69
  end
19
70
  end
@@ -1,34 +1,92 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'base'
4
- require_relative '../options/common'
4
+ require_relative '../options/global'
5
5
 
6
6
  module RubyTerraform
7
7
  module Commands
8
+ # Wraps the +terraform state mv+ command which moves an item in the state.
9
+ #
10
+ # This command will move an item matched by the address given to the
11
+ # destination address. This command can also move to a destination address
12
+ # in a completely different state file.
13
+ #
14
+ # This can be used for simple resource renaming, moving items to and from
15
+ # a module, moving entire modules, and more. And because this command can
16
+ # also move data to a completely new state, it can also be used for
17
+ # refactoring one configuration into multiple separately managed Terraform
18
+ # configurations.
19
+ #
20
+ # This command will output a backup copy of the state prior to saving any
21
+ # changes. The backup cannot be disabled. Due to the destructive nature
22
+ # of this command, backups are required.
23
+ #
24
+ # If you're moving an item to a different state file, a backup will be
25
+ # created for each state file.
26
+ #
27
+ # For options accepted on construction, see {#initialize}.
28
+ #
29
+ # When executing an instance of {StateMove} via {#execute}, the following
30
+ # options are supported:
31
+ #
32
+ # * +:source+: the source address of the item to move; required.
33
+ # * +:destination+: the destination address to move the item to; required.
34
+ # * +:chdir+: the path of a working directory to switch to before executing
35
+ # the given subcommand.
36
+ # * +:dry_run+: when +true+, prints out what would've been moved but doesn't
37
+ # actually move anything; defaults to +false+.
38
+ # * +:backup+: the path where Terraform should write the backup for the
39
+ # original state; this can't be disabled; if not set, Terraform will write
40
+ # it to the same path as the state file with a +".backup"+ extension.
41
+ # * +:backup_out+: the path where Terraform should write the backup for the
42
+ # destination state; this can't be disabled; if not set, Terraform will
43
+ # write it to the same path as the destination state file with a
44
+ # +".backup"+ extension; this only needs to be specified if +:state_out+
45
+ # is set to a different path than +:state+.
46
+ # * +:lock+: when +true+, locks the state file when locking is supported;
47
+ # when +false+, does not lock the state file; defaults to +true+.
48
+ # * +:lock_timeout+: the duration to retry a state lock; defaults to +"0s"+.
49
+ # * +:state+: the path to the source state file; defaults to the configured
50
+ # backend, or +"terraform.tfstate"+.
51
+ # * +:state_out+: the path to the destination state file to write to; if
52
+ # this isn't specified, the source state file will be used; this can be a
53
+ # new or existing path.
54
+ # * +:ignore_remote_version+: whether or not to continue even if remote and
55
+ # local Terraform versions are incompatible; this may result in an
56
+ # unusable workspace, and should be used with extreme caution; defaults to
57
+ # +false+.
58
+ #
59
+ # @example Basic Invocation
60
+ # RubyTerraform::Commands::StateMove.new.execute(
61
+ # source: 'packet_device.worker',
62
+ # destination: 'packet_device.helper')
63
+ #
8
64
  class StateMove < Base
9
- include RubyTerraform::Options::Common
65
+ include RubyTerraform::Options::Global
10
66
 
67
+ # @!visibility private
11
68
  def subcommands
12
69
  %w[state mv]
13
70
  end
14
71
 
72
+ # @!visibility private
15
73
  def options
16
74
  %w[
75
+ -dry-run
17
76
  -backup
18
77
  -backup-out
78
+ -lock
79
+ -lock-timeout
19
80
  -state
20
81
  -state-out
21
82
  -ignore-remote-version
22
83
  ] + super
23
84
  end
24
85
 
86
+ # @!visibility private
25
87
  def arguments(parameters)
26
88
  [parameters[:source], parameters[:destination]]
27
89
  end
28
-
29
- def parameter_overrides(parameters)
30
- { backup: parameters[:no_backup] ? '-' : parameters[:backup] }
31
- end
32
90
  end
33
91
  end
34
92
  end