sensu-settings 10.9.0 → 10.10.0

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 605d58f20eae60dba5ae4fbd4bbd4deea46373dd
4
- data.tar.gz: fa6d16f5e3637f6310f13a05d9f189ccf2e8249c
3
+ metadata.gz: c688fbfc882c64607771f71795541be631861b36
4
+ data.tar.gz: 15afa27b366876286f908d834c1932ad98b4aa0b
5
5
  SHA512:
6
- metadata.gz: '043909936ab89e0a5a7a5df4a298b53493c9de753a78667d4f8d6072889c136653ccf810aa4ad3057ebc70ef6fe6b7a6cb5d55c0434e684faf056e83ec804c3b'
7
- data.tar.gz: a51515efe93f5774d0b7db90f379b9b3d0445b5cdfa988455bd6560960a5c4665db276e1d5be41dbe5e4fa121d97ebd2ba963a5cd9eef90f2131de735cacb959
6
+ metadata.gz: 63b496deafec5a6d57e559270a9affd8d60f4c34dd75e8122e797a3f32b4e2a44f769d509685710f53abebd7660f95d327803bdee1c006d312909a46243d3127
7
+ data.tar.gz: 92efda1105c102520f847708a10dcb37c244254a9774f85d5ccfb23f4669cc2c792fea521165c8a845c1684b82d6fa89ee3744973fd26f81e7184d0f9f2d9eaa
@@ -56,6 +56,12 @@ module Sensu
56
56
  :sensu => {
57
57
  :spawn => {
58
58
  :limit => 12
59
+ },
60
+ :keepalives => {
61
+ :thresholds => {
62
+ :warning => 120,
63
+ :critical => 180
64
+ }
59
65
  }
60
66
  },
61
67
  :transport => {
@@ -20,13 +20,59 @@ module Sensu
20
20
  end
21
21
  end
22
22
 
23
+ # Validate Sensu keepalives thresholds.
24
+ # Validates: warning, critical
25
+ #
26
+ # @param sensu [Hash] sensu definition.
27
+ def validate_sensu_keepalives_thresholds(sensu)
28
+ thresholds = sensu[:keepalives][:thresholds]
29
+ must_be_a_hash_if_set(thresholds) ||
30
+ invalid(sensu, "sensu keepalives thresholds must be a hash")
31
+ if is_a_hash?(thresholds)
32
+ must_be_an_integer_if_set(thresholds[:warning]) ||
33
+ invalid(sensu, "sensu keepalives warning threshold must be an integer")
34
+ must_be_an_integer_if_set(thresholds[:critical]) ||
35
+ invalid(sensu, "sensu keepalives critical threshold must be an integer")
36
+ end
37
+ end
38
+
39
+ # Validate Sensu keepalives handlers.
40
+ # Validates: handler, handlers
41
+ #
42
+ # @param sensu [Hash] sensu definition.
43
+ def validate_sensu_keepalives_handlers(sensu)
44
+ must_be_a_string_if_set(sensu[:keepalives][:handler]) ||
45
+ invalid(sensu, "sensu keepalives handler must be a string")
46
+ must_be_an_array_if_set(sensu[:keepalives][:handlers]) ||
47
+ invalid(sensu, "sensu keepalives handlers must be an array")
48
+ if is_an_array?(sensu[:keepalives][:handlers])
49
+ items_must_be_strings(sensu[:keepalives][:handlers]) ||
50
+ invalid(sensu, "sensu keepalives handlers must each be a string")
51
+ end
52
+ end
53
+
54
+
55
+ # Validate Sensu keepalives.
56
+ # Validates: thresholds (warning, critical), handler, handlers
57
+ #
58
+ # @param sensu [Hash] sensu definition.
59
+ def validate_sensu_keepalives(sensu)
60
+ if is_a_hash?(sensu[:keepalives])
61
+ validate_sensu_keepalives_thresholds(sensu)
62
+ validate_sensu_keepalives_handlers(sensu)
63
+ else
64
+ invalid(sensu, "sensu keepalives must be a hash")
65
+ end
66
+ end
67
+
23
68
  # Validate a Sensu definition.
24
- # Validates: spawn
69
+ # Validates: spawn, keepalives
25
70
  #
26
71
  # @param sensu [Hash] sensu definition.
27
72
  def validate_sensu(sensu)
28
73
  if is_a_hash?(sensu)
29
74
  validate_sensu_spawn(sensu)
75
+ validate_sensu_keepalives(sensu)
30
76
  else
31
77
  invalid(sensu, "sensu must be a hash")
32
78
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "sensu-settings"
5
- spec.version = "10.9.0"
5
+ spec.version = "10.10.0"
6
6
  spec.authors = ["Sean Porter"]
7
7
  spec.email = ["portertech@gmail.com"]
8
8
  spec.summary = "The Sensu settings library, loader and validator"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.9.0
4
+ version: 10.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Porter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-27 00:00:00.000000000 Z
11
+ date: 2017-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sensu-json