sensu-settings 10.9.0 → 10.10.0

Sign up to get free protection for your applications and to get access to all the features.
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