ruby-terraform 1.6.0.pre.2 → 1.6.0.pre.5
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 +4 -2
- data/README.md +36 -11
- data/Rakefile +1 -1
- data/lib/ruby_terraform/commands/apply.rb +5 -0
- data/lib/ruby_terraform/commands/base.rb +4 -0
- data/lib/ruby_terraform/commands/destroy.rb +5 -0
- data/lib/ruby_terraform/commands/force_unlock.rb +5 -0
- data/lib/ruby_terraform/commands/format.rb +5 -0
- data/lib/ruby_terraform/commands/get.rb +5 -0
- data/lib/ruby_terraform/commands/graph.rb +5 -0
- data/lib/ruby_terraform/commands/import.rb +5 -0
- data/lib/ruby_terraform/commands/init.rb +5 -0
- data/lib/ruby_terraform/commands/login.rb +5 -0
- data/lib/ruby_terraform/commands/logout.rb +5 -0
- data/lib/ruby_terraform/commands/output.rb +5 -0
- data/lib/ruby_terraform/commands/plan.rb +5 -0
- data/lib/ruby_terraform/commands/providers.rb +5 -0
- data/lib/ruby_terraform/commands/providers_lock.rb +5 -0
- data/lib/ruby_terraform/commands/providers_mirror.rb +5 -0
- data/lib/ruby_terraform/commands/providers_schema.rb +5 -0
- data/lib/ruby_terraform/commands/refresh.rb +5 -0
- data/lib/ruby_terraform/commands/show.rb +5 -0
- data/lib/ruby_terraform/commands/state_list.rb +5 -0
- data/lib/ruby_terraform/commands/state_move.rb +5 -0
- data/lib/ruby_terraform/commands/state_pull.rb +5 -0
- data/lib/ruby_terraform/commands/state_push.rb +5 -0
- data/lib/ruby_terraform/commands/state_remove.rb +5 -0
- data/lib/ruby_terraform/commands/state_replace_provider.rb +5 -0
- data/lib/ruby_terraform/commands/state_show.rb +5 -0
- data/lib/ruby_terraform/commands/taint.rb +5 -0
- data/lib/ruby_terraform/commands/untaint.rb +5 -0
- data/lib/ruby_terraform/commands/validate.rb +5 -0
- data/lib/ruby_terraform/commands/workspace_delete.rb +5 -0
- data/lib/ruby_terraform/commands/workspace_list.rb +5 -0
- data/lib/ruby_terraform/commands/workspace_new.rb +5 -0
- data/lib/ruby_terraform/commands/workspace_select.rb +5 -0
- data/lib/ruby_terraform/commands/workspace_show.rb +5 -0
- data/lib/ruby_terraform/version.rb +1 -1
- data/lib/ruby_terraform.rb +237 -74
- metadata +2 -2
data/lib/ruby_terraform.rb
CHANGED
@@ -95,6 +95,10 @@ module RubyTerraform
|
|
95
95
|
# @option parameters [Array<String>] :var_files An array of paths to
|
96
96
|
# terraform var files; if both +:var_file+ and +:var_files+ are provided,
|
97
97
|
# all var files will be passed to terraform.
|
98
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
99
|
+
# controlling the invocation of the command.
|
100
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
101
|
+
# of environment variables to expose at command invocation time.
|
98
102
|
#
|
99
103
|
# @example Basic Invocation
|
100
104
|
# RubyTerraform.apply(
|
@@ -103,8 +107,8 @@ module RubyTerraform
|
|
103
107
|
# region: 'eu-central'
|
104
108
|
# })
|
105
109
|
#
|
106
|
-
def apply(parameters = {})
|
107
|
-
exec(RubyTerraform::Commands::Apply, parameters)
|
110
|
+
def apply(parameters = {}, invocation_options = {})
|
111
|
+
exec(RubyTerraform::Commands::Apply, parameters, invocation_options)
|
108
112
|
end
|
109
113
|
|
110
114
|
# Invokes the +terraform destroy+ command which destroys terraform managed
|
@@ -170,8 +174,9 @@ module RubyTerraform
|
|
170
174
|
# region: 'eu-central'
|
171
175
|
# })
|
172
176
|
#
|
173
|
-
def destroy(parameters = {})
|
174
|
-
exec(RubyTerraform::Commands::Destroy,
|
177
|
+
def destroy(parameters = {}, invocation_options = {})
|
178
|
+
exec(RubyTerraform::Commands::Destroy,
|
179
|
+
parameters, invocation_options)
|
175
180
|
end
|
176
181
|
|
177
182
|
# Invokes the +terraform force-unlock+ command which manually unlocks the
|
@@ -192,13 +197,18 @@ module RubyTerraform
|
|
192
197
|
# switch to before executing the given subcommand.
|
193
198
|
# @option parameters [Boolean] :force (false) If +true+, does not ask for
|
194
199
|
# input for unlock confirmation.
|
200
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
201
|
+
# controlling the invocation of the command.
|
202
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
203
|
+
# of environment variables to expose at command invocation time.
|
195
204
|
#
|
196
205
|
# @example Basic Invocation
|
197
206
|
# RubyTerraform.force_unlock(
|
198
207
|
# lock_id: '50e844a7-ebb0-fcfd-da85-5cce5bd1ec90')
|
199
208
|
#
|
200
|
-
def force_unlock(parameters = {})
|
201
|
-
exec(RubyTerraform::Commands::ForceUnlock,
|
209
|
+
def force_unlock(parameters = {}, invocation_options = {})
|
210
|
+
exec(RubyTerraform::Commands::ForceUnlock,
|
211
|
+
parameters, invocation_options)
|
202
212
|
end
|
203
213
|
|
204
214
|
# Invokes the +terraform fmt+ command which rewrites all terraform
|
@@ -232,13 +242,18 @@ module RubyTerraform
|
|
232
242
|
# @option parameters [Boolean] :recursive (false) If +true+, also processes
|
233
243
|
# files in subdirectories; by default, only the provided +:directory+ is
|
234
244
|
# processed.
|
245
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
246
|
+
# controlling the invocation of the command.
|
247
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
248
|
+
# of environment variables to expose at command invocation time.
|
235
249
|
#
|
236
250
|
# @example Basic Invocation
|
237
251
|
# RubyTerraform.format(
|
238
252
|
# directory: 'infra/networking')
|
239
253
|
#
|
240
|
-
def format(parameters = {})
|
241
|
-
exec(RubyTerraform::Commands::Format,
|
254
|
+
def format(parameters = {}, invocation_options = {})
|
255
|
+
exec(RubyTerraform::Commands::Format,
|
256
|
+
parameters, invocation_options)
|
242
257
|
end
|
243
258
|
alias fmt format
|
244
259
|
|
@@ -264,13 +279,18 @@ module RubyTerraform
|
|
264
279
|
# newest versions available.
|
265
280
|
# @option parameters [Boolean] :no_color (false) Whether or not the output
|
266
281
|
# from the command should be in color.
|
282
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
283
|
+
# controlling the invocation of the command.
|
284
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
285
|
+
# of environment variables to expose at command invocation time.
|
267
286
|
#
|
268
287
|
# @example Basic Invocation
|
269
288
|
# RubyTerraform.get(
|
270
289
|
# directory: 'infra/networking')
|
271
290
|
#
|
272
|
-
def get(parameters = {})
|
273
|
-
exec(RubyTerraform::Commands::Get,
|
291
|
+
def get(parameters = {}, invocation_options = {})
|
292
|
+
exec(RubyTerraform::Commands::Get,
|
293
|
+
parameters, invocation_options)
|
274
294
|
end
|
275
295
|
|
276
296
|
# Invokes the +terraform graph+ command which outputs the visual execution
|
@@ -304,12 +324,17 @@ module RubyTerraform
|
|
304
324
|
# otherwise.
|
305
325
|
# @option parameters [Integer] :module_depth In prior versions of terraform,
|
306
326
|
# specified the depth of modules to show in the output (deprecated).
|
327
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
328
|
+
# controlling the invocation of the command.
|
329
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
330
|
+
# of environment variables to expose at command invocation time.
|
307
331
|
#
|
308
332
|
# @example Basic Invocation
|
309
333
|
# RubyTerraform.graph
|
310
334
|
#
|
311
|
-
def graph(parameters = {})
|
312
|
-
exec(RubyTerraform::Commands::Graph,
|
335
|
+
def graph(parameters = {}, invocation_options = {})
|
336
|
+
exec(RubyTerraform::Commands::Graph,
|
337
|
+
parameters, invocation_options)
|
313
338
|
end
|
314
339
|
|
315
340
|
# Invokes the +terraform import+ command which imports existing
|
@@ -390,6 +415,10 @@ module RubyTerraform
|
|
390
415
|
# even if remote and local Terraform versions differ; this may result in
|
391
416
|
# an unusable Terraform Cloud workspace, and should be used with extreme
|
392
417
|
# caution.
|
418
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
419
|
+
# controlling the invocation of the command.
|
420
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
421
|
+
# of environment variables to expose at command invocation time.
|
393
422
|
#
|
394
423
|
# @example Basic Invocation
|
395
424
|
# RubyTerraform.import(
|
@@ -400,8 +429,9 @@ module RubyTerraform
|
|
400
429
|
# region: 'eu-central'
|
401
430
|
# })
|
402
431
|
#
|
403
|
-
def import(parameters = {})
|
404
|
-
exec(RubyTerraform::Commands::Import,
|
432
|
+
def import(parameters = {}, invocation_options = {})
|
433
|
+
exec(RubyTerraform::Commands::Import,
|
434
|
+
parameters, invocation_options)
|
405
435
|
end
|
406
436
|
|
407
437
|
# Invokes the +terraform init+ command which initializes a new or existing
|
@@ -466,14 +496,19 @@ module RubyTerraform
|
|
466
496
|
# 0.15).
|
467
497
|
# @option parameters [String] :lockfile Sets a dependency lockfile mode;
|
468
498
|
# currently only "readonly" is valid.
|
499
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
500
|
+
# controlling the invocation of the command.
|
501
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
502
|
+
# of environment variables to expose at command invocation time.
|
469
503
|
#
|
470
504
|
# @example Basic Invocation
|
471
505
|
# RubyTerraform.init(
|
472
506
|
# from_module: 'some/module/path',
|
473
507
|
# path: 'infra/module')
|
474
508
|
#
|
475
|
-
def init(parameters = {})
|
476
|
-
exec(RubyTerraform::Commands::Init,
|
509
|
+
def init(parameters = {}, invocation_options = {})
|
510
|
+
exec(RubyTerraform::Commands::Init,
|
511
|
+
parameters, invocation_options)
|
477
512
|
end
|
478
513
|
|
479
514
|
# Invokes the +terraform login+ command which retrieves an authentication
|
@@ -490,12 +525,17 @@ module RubyTerraform
|
|
490
525
|
# @param parameters The parameters used to invoke the command
|
491
526
|
# @option parameters [String] :chdir The path of a working directory to
|
492
527
|
# switch to before executing the given subcommand.
|
528
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
529
|
+
# controlling the invocation of the command.
|
530
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
531
|
+
# of environment variables to expose at command invocation time.
|
493
532
|
#
|
494
533
|
# @example Basic Invocation
|
495
534
|
# RubyTerraform.login
|
496
535
|
#
|
497
|
-
def login(parameters = {})
|
498
|
-
exec(RubyTerraform::Commands::Login,
|
536
|
+
def login(parameters = {}, invocation_options = {})
|
537
|
+
exec(RubyTerraform::Commands::Login,
|
538
|
+
parameters, invocation_options)
|
499
539
|
end
|
500
540
|
|
501
541
|
# Invokes the +terraform logout+ command which removes locally-stored
|
@@ -509,12 +549,17 @@ module RubyTerraform
|
|
509
549
|
# @param parameters The parameters used to invoke the command
|
510
550
|
# @option parameters [String] :chdir The path of a working directory to
|
511
551
|
# switch to before executing the given subcommand.
|
552
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
553
|
+
# controlling the invocation of the command.
|
554
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
555
|
+
# of environment variables to expose at command invocation time.
|
512
556
|
#
|
513
557
|
# @example Basic Invocation
|
514
558
|
# RubyTerraform.logout
|
515
559
|
#
|
516
|
-
def logout(parameters = {})
|
517
|
-
exec(RubyTerraform::Commands::Logout,
|
560
|
+
def logout(parameters = {}, invocation_options = {})
|
561
|
+
exec(RubyTerraform::Commands::Logout,
|
562
|
+
parameters, invocation_options)
|
518
563
|
end
|
519
564
|
|
520
565
|
# Invokes the +terraform output+ command which reads an output variable from
|
@@ -535,13 +580,18 @@ module RubyTerraform
|
|
535
580
|
# @option parameters [Boolean] :raw (false) If +true+, for value types that
|
536
581
|
# can be automatically converted to a string, will print the raw string
|
537
582
|
# directly, rather than a human-oriented representation of the value.
|
583
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
584
|
+
# controlling the invocation of the command.
|
585
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
586
|
+
# of environment variables to expose at command invocation time.
|
538
587
|
#
|
539
588
|
# @example Basic Invocation
|
540
589
|
# RubyTerraform.output(
|
541
590
|
# name: 'vpc_id')
|
542
591
|
#
|
543
|
-
def output(parameters = {})
|
544
|
-
exec(RubyTerraform::Commands::Output,
|
592
|
+
def output(parameters = {}, invocation_options = {})
|
593
|
+
exec(RubyTerraform::Commands::Output,
|
594
|
+
parameters, invocation_options)
|
545
595
|
end
|
546
596
|
|
547
597
|
# Invokes the +terraform plan+ command which generates a speculative
|
@@ -607,6 +657,10 @@ module RubyTerraform
|
|
607
657
|
# @option parameters [Array<String>] :var_files An array of paths to
|
608
658
|
# terraform var files; if both +:var_file+ and +:var_files+ are provided,
|
609
659
|
# all var files will be passed to terraform.
|
660
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
661
|
+
# controlling the invocation of the command.
|
662
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
663
|
+
# of environment variables to expose at command invocation time.
|
610
664
|
#
|
611
665
|
# @example Basic Invocation
|
612
666
|
# RubyTerraform.plan(
|
@@ -615,8 +669,8 @@ module RubyTerraform
|
|
615
669
|
# region: 'eu-central'
|
616
670
|
# })
|
617
671
|
#
|
618
|
-
def plan(parameters = {})
|
619
|
-
exec(RubyTerraform::Commands::Plan, parameters)
|
672
|
+
def plan(parameters = {}, invocation_options = {})
|
673
|
+
exec(RubyTerraform::Commands::Plan, parameters, invocation_options)
|
620
674
|
end
|
621
675
|
|
622
676
|
# Invokes the +terraform providers+ command which prints out a tree of
|
@@ -633,12 +687,17 @@ module RubyTerraform
|
|
633
687
|
# terraform 0.15, use +:chdir+ instead).
|
634
688
|
# @option parameters [String] :chdir The path of a working directory to
|
635
689
|
# switch to before executing the given subcommand.
|
690
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
691
|
+
# controlling the invocation of the command.
|
692
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
693
|
+
# of environment variables to expose at command invocation time.
|
636
694
|
#
|
637
695
|
# @example Basic Invocation
|
638
696
|
# RubyTerraform.providers
|
639
697
|
#
|
640
|
-
def providers(parameters = {})
|
641
|
-
exec(RubyTerraform::Commands::Providers,
|
698
|
+
def providers(parameters = {}, invocation_options = {})
|
699
|
+
exec(RubyTerraform::Commands::Providers,
|
700
|
+
parameters, invocation_options)
|
642
701
|
end
|
643
702
|
|
644
703
|
# Invokes the +terraform providers lock+ command which writes out dependency
|
@@ -700,6 +759,10 @@ module RubyTerraform
|
|
700
759
|
# to request package checksums for; see +:platform+ for more details; if
|
701
760
|
# both +:platform+ and +:platforms+ are provided, all platforms will be
|
702
761
|
# passed to Terraform.
|
762
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
763
|
+
# controlling the invocation of the command.
|
764
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
765
|
+
# of environment variables to expose at command invocation time.
|
703
766
|
#
|
704
767
|
# @example Basic Invocation
|
705
768
|
# RubyTerraform.providers_lock(
|
@@ -707,8 +770,9 @@ module RubyTerraform
|
|
707
770
|
# platforms: ["windows_amd64", "darwin_amd64", "linux_amd64"],
|
708
771
|
# provider: "tf.example.com/ourcompany/ourplatform")
|
709
772
|
#
|
710
|
-
def providers_lock(parameters = {})
|
711
|
-
exec(RubyTerraform::Commands::ProvidersLock,
|
773
|
+
def providers_lock(parameters = {}, invocation_options = {})
|
774
|
+
exec(RubyTerraform::Commands::ProvidersLock,
|
775
|
+
parameters, invocation_options)
|
712
776
|
end
|
713
777
|
|
714
778
|
# Invokes the +terraform providers mirror+ command which saves local copies
|
@@ -742,14 +806,19 @@ module RubyTerraform
|
|
742
806
|
# to build a mirror for for; see +:platform+ for more details; if both
|
743
807
|
# +:platform+ and +:platforms+ are provided, all platforms will be passed
|
744
808
|
# to Terraform.
|
809
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
810
|
+
# controlling the invocation of the command.
|
811
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
812
|
+
# of environment variables to expose at command invocation time.
|
745
813
|
#
|
746
814
|
# @example Basic Invocation
|
747
815
|
# RubyTerraform.providers_mirror(
|
748
816
|
# directory: './plugins',
|
749
817
|
# platforms: ["windows_amd64", "darwin_amd64", "linux_amd64"])
|
750
818
|
#
|
751
|
-
def providers_mirror(parameters = {})
|
752
|
-
exec(RubyTerraform::Commands::ProvidersMirror,
|
819
|
+
def providers_mirror(parameters = {}, invocation_options = {})
|
820
|
+
exec(RubyTerraform::Commands::ProvidersMirror,
|
821
|
+
parameters, invocation_options)
|
753
822
|
end
|
754
823
|
|
755
824
|
# Invokes the +terraform providers schema+ command which prints out a json
|
@@ -759,13 +828,18 @@ module RubyTerraform
|
|
759
828
|
# @param parameters The parameters used to invoke the command
|
760
829
|
# @option parameters [String] :chdir The path of a working directory to
|
761
830
|
# switch to before executing the given subcommand.
|
831
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
832
|
+
# controlling the invocation of the command.
|
833
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
834
|
+
# of environment variables to expose at command invocation time.
|
762
835
|
#
|
763
836
|
# @example Basic Invocation
|
764
837
|
# RubyTerraform.providers_schema(
|
765
838
|
# directory: 'infra/networking')
|
766
839
|
#
|
767
|
-
def providers_schema(parameters = {})
|
768
|
-
exec(RubyTerraform::Commands::ProvidersSchema,
|
840
|
+
def providers_schema(parameters = {}, invocation_options = {})
|
841
|
+
exec(RubyTerraform::Commands::ProvidersSchema,
|
842
|
+
parameters, invocation_options)
|
769
843
|
end
|
770
844
|
|
771
845
|
# Invokes the +terraform refresh+ command which updates the state file of
|
@@ -826,6 +900,10 @@ module RubyTerraform
|
|
826
900
|
# @option parameters [Array<String>] :var_files An array of paths to
|
827
901
|
# terraform var files; if both +:var_file+ and +:var_files+ are provided,
|
828
902
|
# all var files will be passed to terraform.
|
903
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
904
|
+
# controlling the invocation of the command.
|
905
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
906
|
+
# of environment variables to expose at command invocation time.
|
829
907
|
#
|
830
908
|
# @example Basic Invocation
|
831
909
|
# RubyTerraform.refresh(
|
@@ -834,8 +912,8 @@ module RubyTerraform
|
|
834
912
|
# region: 'eu-central'
|
835
913
|
# })
|
836
914
|
#
|
837
|
-
def refresh(parameters = {})
|
838
|
-
exec(RubyTerraform::Commands::Refresh, parameters)
|
915
|
+
def refresh(parameters = {}, invocation_options = {})
|
916
|
+
exec(RubyTerraform::Commands::Refresh, parameters, invocation_options)
|
839
917
|
end
|
840
918
|
|
841
919
|
# Invokes the +terraform show+ command which reads and outputs a Terraform
|
@@ -851,12 +929,17 @@ module RubyTerraform
|
|
851
929
|
# from the command should be in color.
|
852
930
|
# @option parameters [Boolean] :json (false) If +true+, outputs the
|
853
931
|
# Terraform plan or state in a machine-readable form.
|
932
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
933
|
+
# controlling the invocation of the command.
|
934
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
935
|
+
# of environment variables to expose at command invocation time.
|
854
936
|
#
|
855
937
|
# @example Basic Invocation
|
856
938
|
# RubyTerraform.show
|
857
939
|
#
|
858
|
-
def show(parameters = {})
|
859
|
-
exec(RubyTerraform::Commands::Show,
|
940
|
+
def show(parameters = {}, invocation_options = {})
|
941
|
+
exec(RubyTerraform::Commands::Show,
|
942
|
+
parameters, invocation_options)
|
860
943
|
end
|
861
944
|
|
862
945
|
# Invokes the +terraform state list+ command which lists resources in the
|
@@ -892,12 +975,17 @@ module RubyTerraform
|
|
892
975
|
# @option parameters [String] :id When provided, filters the results to
|
893
976
|
# include only instances whose resource types have an attribute named "id"
|
894
977
|
# whose value equals the given id string.
|
978
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
979
|
+
# controlling the invocation of the command.
|
980
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
981
|
+
# of environment variables to expose at command invocation time.
|
895
982
|
#
|
896
983
|
# @example Basic Invocation
|
897
984
|
# RubyTerraform.state_list
|
898
985
|
#
|
899
|
-
def state_list(parameters = {})
|
900
|
-
exec(RubyTerraform::Commands::StateList,
|
986
|
+
def state_list(parameters = {}, invocation_options = {})
|
987
|
+
exec(RubyTerraform::Commands::StateList,
|
988
|
+
parameters, invocation_options)
|
901
989
|
end
|
902
990
|
|
903
991
|
# Invokes the +terraform state mv+ command which moves an item in the state.
|
@@ -951,14 +1039,19 @@ module RubyTerraform
|
|
951
1039
|
# to continue even if remote and local Terraform versions are
|
952
1040
|
# incompatible; this may result in an unusable workspace, and should be
|
953
1041
|
# used with extreme caution.
|
1042
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
1043
|
+
# controlling the invocation of the command.
|
1044
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
1045
|
+
# of environment variables to expose at command invocation time.
|
954
1046
|
#
|
955
1047
|
# @example Basic Invocation
|
956
1048
|
# RubyTerraform.state_move(
|
957
1049
|
# source: 'packet_device.worker',
|
958
1050
|
# destination: 'packet_device.helper')
|
959
1051
|
#
|
960
|
-
def state_move(parameters = {})
|
961
|
-
exec(RubyTerraform::Commands::StateMove,
|
1052
|
+
def state_move(parameters = {}, invocation_options = {})
|
1053
|
+
exec(RubyTerraform::Commands::StateMove,
|
1054
|
+
parameters, invocation_options)
|
962
1055
|
end
|
963
1056
|
alias state_mv state_move
|
964
1057
|
|
@@ -975,12 +1068,17 @@ module RubyTerraform
|
|
975
1068
|
# @param parameters The parameters used to invoke the command
|
976
1069
|
# @option parameters [String] :chdir The path of a working directory to
|
977
1070
|
# switch to before executing the given subcommand.
|
1071
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
1072
|
+
# controlling the invocation of the command.
|
1073
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
1074
|
+
# of environment variables to expose at command invocation time.
|
978
1075
|
#
|
979
1076
|
# @example Basic Invocation
|
980
1077
|
# RubyTerraform.state_pull
|
981
1078
|
#
|
982
|
-
def state_pull(parameters = {})
|
983
|
-
exec(RubyTerraform::Commands::StatePull,
|
1079
|
+
def state_pull(parameters = {}, invocation_options = {})
|
1080
|
+
exec(RubyTerraform::Commands::StatePull,
|
1081
|
+
parameters, invocation_options)
|
984
1082
|
end
|
985
1083
|
|
986
1084
|
# Invokes the +terraform state push+ command which updates remote state from
|
@@ -1014,13 +1112,18 @@ module RubyTerraform
|
|
1014
1112
|
# continue even if remote and local Terraform versions are incompatible;
|
1015
1113
|
# this may result in an unusable workspace, and should be used with
|
1016
1114
|
# extreme caution.
|
1115
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
1116
|
+
# controlling the invocation of the command.
|
1117
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
1118
|
+
# of environment variables to expose at command invocation time.
|
1017
1119
|
#
|
1018
1120
|
# @example Basic Invocation
|
1019
1121
|
# RubyTerraform.state_push(
|
1020
1122
|
# path: 'some/statefile.tfstate')
|
1021
1123
|
#
|
1022
|
-
def state_push(parameters = {})
|
1023
|
-
exec(RubyTerraform::Commands::StatePush,
|
1124
|
+
def state_push(parameters = {}, invocation_options = {})
|
1125
|
+
exec(RubyTerraform::Commands::StatePush,
|
1126
|
+
parameters, invocation_options)
|
1024
1127
|
end
|
1025
1128
|
|
1026
1129
|
# Invokes the +terraform state rm+ command which removes one or more items
|
@@ -1063,13 +1166,18 @@ module RubyTerraform
|
|
1063
1166
|
# to continue even if remote and local Terraform versions are
|
1064
1167
|
# incompatible; this may result in an unusable workspace, and should be
|
1065
1168
|
# used with extreme caution.
|
1169
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
1170
|
+
# controlling the invocation of the command.
|
1171
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
1172
|
+
# of environment variables to expose at command invocation time.
|
1066
1173
|
#
|
1067
1174
|
# @example Basic Invocation
|
1068
1175
|
# RubyTerraform.state_remove(
|
1069
1176
|
# address: 'packet_device.worker')
|
1070
1177
|
#
|
1071
|
-
def state_remove(parameters = {})
|
1072
|
-
exec(RubyTerraform::Commands::StateRemove,
|
1178
|
+
def state_remove(parameters = {}, invocation_options = {})
|
1179
|
+
exec(RubyTerraform::Commands::StateRemove,
|
1180
|
+
parameters, invocation_options)
|
1073
1181
|
end
|
1074
1182
|
alias state_rm state_remove
|
1075
1183
|
|
@@ -1100,14 +1208,19 @@ module RubyTerraform
|
|
1100
1208
|
# to continue even if remote and local Terraform versions are
|
1101
1209
|
# incompatible; this may result in an unusable workspace, and should be
|
1102
1210
|
# used with extreme caution.
|
1211
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
1212
|
+
# controlling the invocation of the command.
|
1213
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
1214
|
+
# of environment variables to expose at command invocation time.
|
1103
1215
|
#
|
1104
1216
|
# @example Basic Invocation
|
1105
1217
|
# RubyTerraform.state_replace_provider(
|
1106
1218
|
# from: 'hashicorp/aws',
|
1107
1219
|
# to: 'registry.acme.corp/acme/aws')
|
1108
1220
|
#
|
1109
|
-
def state_replace_provider(parameters = {})
|
1110
|
-
exec(RubyTerraform::Commands::StateReplaceProvider,
|
1221
|
+
def state_replace_provider(parameters = {}, invocation_options = {})
|
1222
|
+
exec(RubyTerraform::Commands::StateReplaceProvider,
|
1223
|
+
parameters, invocation_options)
|
1111
1224
|
end
|
1112
1225
|
|
1113
1226
|
# Invokes the +terraform state show+ command which shows the attributes of a
|
@@ -1122,13 +1235,18 @@ module RubyTerraform
|
|
1122
1235
|
# resource address of the resource instance to show; required.
|
1123
1236
|
# @option parameters [String] :chdir The path of a working directory to
|
1124
1237
|
# switch to before executing the given subcommand.
|
1238
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
1239
|
+
# controlling the invocation of the command.
|
1240
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
1241
|
+
# of environment variables to expose at command invocation time.
|
1125
1242
|
#
|
1126
1243
|
# @example Basic Invocation
|
1127
1244
|
# RubyTerraform.state_show(
|
1128
1245
|
# address: 'packet_device.worker')
|
1129
1246
|
#
|
1130
|
-
def state_show(parameters = {})
|
1131
|
-
exec(RubyTerraform::Commands::StateShow,
|
1247
|
+
def state_show(parameters = {}, invocation_options = {})
|
1248
|
+
exec(RubyTerraform::Commands::StateShow,
|
1249
|
+
parameters, invocation_options)
|
1132
1250
|
end
|
1133
1251
|
|
1134
1252
|
# Invokes the +terraform taint+ command which marks a resource instance as
|
@@ -1183,13 +1301,18 @@ module RubyTerraform
|
|
1183
1301
|
# to continue even if remote and local Terraform versions are
|
1184
1302
|
# incompatible; this may result in an unusable workspace, and should be
|
1185
1303
|
# used with extreme caution.
|
1304
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
1305
|
+
# controlling the invocation of the command.
|
1306
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
1307
|
+
# of environment variables to expose at command invocation time.
|
1186
1308
|
#
|
1187
1309
|
# @example Basic Invocation
|
1188
1310
|
# RubyTerraform.taint(
|
1189
1311
|
# address: 'aws_security_group.allow_all')
|
1190
1312
|
#
|
1191
|
-
def taint(parameters = {})
|
1192
|
-
exec(RubyTerraform::Commands::Taint,
|
1313
|
+
def taint(parameters = {}, invocation_options = {})
|
1314
|
+
exec(RubyTerraform::Commands::Taint,
|
1315
|
+
parameters, invocation_options)
|
1193
1316
|
end
|
1194
1317
|
|
1195
1318
|
# Invokes the +terraform untaint+ command which removes the 'tainted' state
|
@@ -1237,13 +1360,18 @@ module RubyTerraform
|
|
1237
1360
|
# to continue even if remote and local Terraform versions are
|
1238
1361
|
# incompatible; this may result in an unusable workspace, and should be
|
1239
1362
|
# used with extreme caution.
|
1363
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
1364
|
+
# controlling the invocation of the command.
|
1365
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
1366
|
+
# of environment variables to expose at command invocation time.
|
1240
1367
|
#
|
1241
1368
|
# @example Basic Invocation
|
1242
1369
|
# RubyTerraform.untaint(
|
1243
1370
|
# name: 'aws_security_group.allow_all')
|
1244
1371
|
#
|
1245
|
-
def untaint(parameters = {})
|
1246
|
-
exec(RubyTerraform::Commands::Untaint,
|
1372
|
+
def untaint(parameters = {}, invocation_options = {})
|
1373
|
+
exec(RubyTerraform::Commands::Untaint,
|
1374
|
+
parameters, invocation_options)
|
1247
1375
|
end
|
1248
1376
|
|
1249
1377
|
# Invokes the +terraform validate+ command which checks whether a
|
@@ -1283,13 +1411,18 @@ module RubyTerraform
|
|
1283
1411
|
# editor integrations and other automated systems; always disables color.
|
1284
1412
|
# @option parameters [Boolean] :no_color (false) Whether or not the output
|
1285
1413
|
# from the command should be in color.
|
1414
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
1415
|
+
# controlling the invocation of the command.
|
1416
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
1417
|
+
# of environment variables to expose at command invocation time.
|
1286
1418
|
#
|
1287
1419
|
# @example Basic Invocation
|
1288
1420
|
# RubyTerraform.validate(
|
1289
1421
|
# directory: 'infra/networking')
|
1290
1422
|
#
|
1291
|
-
def validate(parameters = {})
|
1292
|
-
exec(RubyTerraform::Commands::Validate,
|
1423
|
+
def validate(parameters = {}, invocation_options = {})
|
1424
|
+
exec(RubyTerraform::Commands::Validate,
|
1425
|
+
parameters, invocation_options)
|
1293
1426
|
end
|
1294
1427
|
|
1295
1428
|
# Invokes the +terraform workspace delete+ command which deletes a
|
@@ -1310,13 +1443,18 @@ module RubyTerraform
|
|
1310
1443
|
# file.
|
1311
1444
|
# @option parameters [String] :lock_timeout ("0s") The duration to retry a
|
1312
1445
|
# state lock.
|
1446
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
1447
|
+
# controlling the invocation of the command.
|
1448
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
1449
|
+
# of environment variables to expose at command invocation time.
|
1313
1450
|
#
|
1314
1451
|
# @example Basic Invocation
|
1315
1452
|
# RubyTerraform.workspace_delete(
|
1316
1453
|
# name: 'example')
|
1317
1454
|
#
|
1318
|
-
def workspace_delete(parameters = {})
|
1319
|
-
exec(RubyTerraform::Commands::WorkspaceDelete,
|
1455
|
+
def workspace_delete(parameters = {}, invocation_options = {})
|
1456
|
+
exec(RubyTerraform::Commands::WorkspaceDelete,
|
1457
|
+
parameters, invocation_options)
|
1320
1458
|
end
|
1321
1459
|
|
1322
1460
|
# Invokes the +terraform workspace list+ command which lists workspaces.
|
@@ -1327,13 +1465,18 @@ module RubyTerraform
|
|
1327
1465
|
# terraform 0.15, use +:chdir+ instead).
|
1328
1466
|
# @option parameters [String] :chdir the path of a working directory to
|
1329
1467
|
# switch to before executing the given subcommand.
|
1468
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
1469
|
+
# controlling the invocation of the command.
|
1470
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
1471
|
+
# of environment variables to expose at command invocation time.
|
1330
1472
|
#
|
1331
1473
|
# @example Basic Invocation
|
1332
1474
|
# RubyTerraform.workspace_list(
|
1333
1475
|
# directory: 'infra/networking')
|
1334
1476
|
#
|
1335
|
-
def workspace_list(parameters = {})
|
1336
|
-
exec(RubyTerraform::Commands::WorkspaceList,
|
1477
|
+
def workspace_list(parameters = {}, invocation_options = {})
|
1478
|
+
exec(RubyTerraform::Commands::WorkspaceList,
|
1479
|
+
parameters, invocation_options)
|
1337
1480
|
end
|
1338
1481
|
|
1339
1482
|
# Invokes the +terraform workspace new+ command which creates a new
|
@@ -1354,13 +1497,18 @@ module RubyTerraform
|
|
1354
1497
|
# state lock.
|
1355
1498
|
# @option parameters [String] :state The path to a state file to copy into
|
1356
1499
|
# the new workspace.
|
1500
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
1501
|
+
# controlling the invocation of the command.
|
1502
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
1503
|
+
# of environment variables to expose at command invocation time.
|
1357
1504
|
#
|
1358
1505
|
# @example Basic Invocation
|
1359
1506
|
# RubyTerraform.workspace_new(
|
1360
1507
|
# name: 'example')
|
1361
1508
|
#
|
1362
|
-
def workspace_new(parameters = {})
|
1363
|
-
exec(RubyTerraform::Commands::WorkspaceNew,
|
1509
|
+
def workspace_new(parameters = {}, invocation_options = {})
|
1510
|
+
exec(RubyTerraform::Commands::WorkspaceNew,
|
1511
|
+
parameters, invocation_options)
|
1364
1512
|
end
|
1365
1513
|
|
1366
1514
|
# Invokes the +terraform workspace select+ command which selects a
|
@@ -1374,13 +1522,18 @@ module RubyTerraform
|
|
1374
1522
|
# terraform 0.15, use +:chdir+ instead).
|
1375
1523
|
# @option parameters [String] :chdir The path of a working directory to
|
1376
1524
|
# switch to before executing the given subcommand.
|
1525
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
1526
|
+
# controlling the invocation of the command.
|
1527
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
1528
|
+
# of environment variables to expose at command invocation time.
|
1377
1529
|
#
|
1378
1530
|
# @example BasicInvocation
|
1379
1531
|
# RubyTerraform.workspace_select(
|
1380
1532
|
# name: 'example')
|
1381
1533
|
#
|
1382
|
-
def workspace_select(parameters = {})
|
1383
|
-
exec(RubyTerraform::Commands::WorkspaceSelect,
|
1534
|
+
def workspace_select(parameters = {}, invocation_options = {})
|
1535
|
+
exec(RubyTerraform::Commands::WorkspaceSelect,
|
1536
|
+
parameters, invocation_options)
|
1384
1537
|
end
|
1385
1538
|
|
1386
1539
|
# Invokes the +terraform workspace show+ command which shows the name of the
|
@@ -1389,28 +1542,38 @@ module RubyTerraform
|
|
1389
1542
|
# @param parameters The parameters used to invoke the command
|
1390
1543
|
# @option parameters [String] :chdir The path of a working directory to
|
1391
1544
|
# switch to before executing the given subcommand.
|
1545
|
+
# @param [Hash<String, Object>] invocation_options Additional options
|
1546
|
+
# controlling the invocation of the command.
|
1547
|
+
# @option invocation_options [Hash<String, String>] :environment A map
|
1548
|
+
# of environment variables to expose at command invocation time.
|
1392
1549
|
#
|
1393
1550
|
# @example Basic Invocation
|
1394
1551
|
# RubyTerraform.workspace_show
|
1395
1552
|
#
|
1396
|
-
def workspace_show(parameters = {})
|
1397
|
-
exec(RubyTerraform::Commands::WorkspaceShow,
|
1553
|
+
def workspace_show(parameters = {}, invocation_options = {})
|
1554
|
+
exec(RubyTerraform::Commands::WorkspaceShow,
|
1555
|
+
parameters, invocation_options)
|
1398
1556
|
end
|
1399
1557
|
|
1400
1558
|
# rubocop:disable Metrics/MethodLength
|
1401
1559
|
|
1402
|
-
def workspace(parameters = {})
|
1560
|
+
def workspace(parameters = {}, invocation_options = {})
|
1403
1561
|
case parameters[:operation]
|
1404
1562
|
when nil, 'list'
|
1405
|
-
exec(RubyTerraform::Commands::WorkspaceList,
|
1563
|
+
exec(RubyTerraform::Commands::WorkspaceList,
|
1564
|
+
parameters, invocation_options)
|
1406
1565
|
when 'select'
|
1407
|
-
exec(RubyTerraform::Commands::WorkspaceSelect,
|
1566
|
+
exec(RubyTerraform::Commands::WorkspaceSelect,
|
1567
|
+
parameters, invocation_options)
|
1408
1568
|
when 'new'
|
1409
|
-
exec(RubyTerraform::Commands::WorkspaceNew,
|
1569
|
+
exec(RubyTerraform::Commands::WorkspaceNew,
|
1570
|
+
parameters, invocation_options)
|
1410
1571
|
when 'delete'
|
1411
|
-
exec(RubyTerraform::Commands::WorkspaceDelete,
|
1572
|
+
exec(RubyTerraform::Commands::WorkspaceDelete,
|
1573
|
+
parameters, invocation_options)
|
1412
1574
|
when 'show'
|
1413
|
-
exec(RubyTerraform::Commands::WorkspaceShow,
|
1575
|
+
exec(RubyTerraform::Commands::WorkspaceShow,
|
1576
|
+
parameters, invocation_options)
|
1414
1577
|
else
|
1415
1578
|
raise(
|
1416
1579
|
"Invalid operation '#{parameters[:operation]}' supplied to workspace"
|
@@ -1422,8 +1585,8 @@ module RubyTerraform
|
|
1422
1585
|
|
1423
1586
|
private
|
1424
1587
|
|
1425
|
-
def exec(command_class, parameters)
|
1426
|
-
command_class.new.execute(parameters)
|
1588
|
+
def exec(command_class, parameters, invocation_options)
|
1589
|
+
command_class.new.execute(parameters, invocation_options)
|
1427
1590
|
end
|
1428
1591
|
end
|
1429
1592
|
|