inprovise 0.2.22 → 0.2.23

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDVhYzQ0OWYwZWZlNTIwYzlmYzc5NGNiZTAwZjA1Zjk5MmM0Njg5ZA==
4
+ ZDkwZjJmNjc5NzlhYjRiOTg1ODhhODI3YzI1YWNmZDViY2MxY2ExNA==
5
5
  data.tar.gz: !binary |-
6
- NTdiYWIxODU0YjE0MTViYjY5MGI0MjZkNmIxZjFiNmYwODJjOWZiOA==
6
+ M2Q4ZGI3OWJiMjU4ZmUyYzU2MTNhYzhkMGVlZTdjZmNlYjU0ODVhMw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MDMzMzYxZTU4ZjhkOWI4YzFhYmQzMzNmY2ExMDBlMjY1ZTYwMjQ4NDY3Mjcw
10
- MjdmYWM2MzYxYjk4ZGU4ZGE3YjI0ZmZjNzllNDNiMWQwZTQ3NGExYjRmNGU3
11
- ZWNhZmZmNzdhNzc4Njc2NDE5MmVjNGQxZDM5NDg4NDIyYzkzYTg=
9
+ MTQ4NzQ5MDhmYzU2MThlODMxZmE1MDQ3YjZjMjgwZDcxYjI4MzM2N2U2YWU3
10
+ MTJhMTkxNTNhZmNlNzYwODUyNmVkOTk0M2JiZWE3ZmE1MDY2Y2M1NzhiMmFi
11
+ NWIxOWI3OWEwNGUzZGI0MmY5NDQ3NGVhZTBkZjQxMWRjYWVkZjU=
12
12
  data.tar.gz: !binary |-
13
- MTAxYWU0YmEwZGFiYWNjNTMzZTlmZDQyZjM2OGI1M2EwMDA0Mjg4MjAyMzBk
14
- NzMxYTgxZGUwNDE0NjQ4Y2ExYzgxY2FlZTI3MzExMTViNjk4NjFiMGE0ZGY5
15
- MTQyODVhMjk3ZGY1YmY5OGU2MGNiZjMyZTdiNjdjYTRmNDI0ZjY=
13
+ NGQzMTczYjdmMDUxYjE2MDEyNThiYzcwOWY2NDMxOWE1Nzc2YjRiMzlmYjFl
14
+ MGRjNDhmOTU1NTNhYWFlY2YxY2FjNTQzMDU3NzkzYzdmYjM1YTM5MTM5MDJi
15
+ NjZlMjFkYTAxYWM3ZWUxMzJiYTJlYzhiMWE0ZTEyNzEwYTU5ZjM=
@@ -5,10 +5,11 @@
5
5
 
6
6
  class Inprovise::Cli
7
7
 
8
- def self.setup_provisioning_cmd(cmd, &block)
8
+ def self.setup_provisioning_cmd(cmd, with_force=true, &block)
9
9
  cmd.desc 'Path to a provisioning scheme to load'
10
10
  cmd.flag [:s,:scheme], :arg_name => 'FILE', :multiple => true, :default_value => Inprovise.default_scheme
11
11
  cmd.flag [:c, :config], :arg_name => 'CFGKEY=CFGVAL', :multiple => true, :desc => 'Specify a configuration setting for the script execution'
12
+ cmd.switch [:f, :force], negatable: false, :desc => 'Force command to run without verifying validity.' if with_force
12
13
  cmd.action(&block)
13
14
  end
14
15
 
@@ -40,7 +41,7 @@ class Inprovise::Cli
40
41
  arg_name 'SCRIPT NAME[ NAME[...]]'
41
42
  command :validate do |cvalid|
42
43
 
43
- Inprovise::Cli.setup_provisioning_cmd(cvalid) do |_global, options, args|
44
+ Inprovise::Cli.setup_provisioning_cmd(cvalid, false) do |_global, options, args|
44
45
  raise ArgumentError, 'Missing arguments!' if args.empty?
45
46
  raise ArgumentError, 'Missing targets!' if args.size < 2
46
47
  Inprovise::Controller.run(:validate, options, *args)
@@ -52,7 +53,7 @@ class Inprovise::Cli
52
53
  arg_name 'ACTION NAME[ NAME[...]]'
53
54
  command :trigger do |ctrigger|
54
55
 
55
- Inprovise::Cli.setup_provisioning_cmd(ctrigger) do |_global, options, args|
56
+ Inprovise::Cli.setup_provisioning_cmd(ctrigger, false) do |_global, options, args|
56
57
  raise ArgumentError, 'Missing arguments!' if args.empty?
57
58
  raise ArgumentError, 'Missing targets!' if args.size < 2
58
59
  Inprovise::Controller.run(:trigger, options, *args)
@@ -99,6 +99,7 @@ class Inprovise::Controller
99
99
  load_schemes(options)
100
100
  # extract config
101
101
  cfg = parse_config(options[:config])
102
+ cfg[:run_always] = true if options[:force]
102
103
  # get script/action
103
104
  sca = args.shift
104
105
  run_provisioning_command(command, sca, cfg, *args)
@@ -80,6 +80,7 @@ class Inprovise::ScriptRunner
80
80
  return false unless script.provides_command?(command_name)
81
81
  return true unless @perform
82
82
  return true unless command_name == :apply || command_name == :revert
83
+ return true if context.config[:run_always]
83
84
  return true unless script.provides_command?(:validate)
84
85
  is_present = is_valid?(script, context)
85
86
  return !is_present if command_name == :apply
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Inprovise
7
7
 
8
- VERSION = '0.2.22'
8
+ VERSION = '0.2.23'
9
9
 
10
10
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inprovise
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.22
4
+ version: 0.2.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Corino
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-03 00:00:00.000000000 Z
11
+ date: 2016-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colored