flapjack-diner 2.0.0b1 → 2.0.0.pre.alpha.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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +21 -0
  3. data/.rubocop_todo.yml +135 -0
  4. data/.travis.yml +10 -5
  5. data/README.md +125 -143
  6. data/flapjack-diner.gemspec +1 -1
  7. data/lib/flapjack-diner.rb +24 -54
  8. data/lib/flapjack-diner/argument_validator.rb +17 -0
  9. data/lib/flapjack-diner/resources/checks.rb +52 -0
  10. data/lib/flapjack-diner/resources/contacts.rb +54 -0
  11. data/lib/flapjack-diner/resources/events.rb +54 -0
  12. data/lib/flapjack-diner/resources/maintenance_periods.rb +76 -0
  13. data/lib/flapjack-diner/resources/media.rb +75 -0
  14. data/lib/flapjack-diner/resources/metrics.rb +23 -0
  15. data/lib/flapjack-diner/resources/relationships.rb +275 -0
  16. data/lib/flapjack-diner/resources/rules.rb +75 -0
  17. data/lib/flapjack-diner/resources/states.rb +24 -0
  18. data/lib/flapjack-diner/resources/statistics.rb +24 -0
  19. data/lib/flapjack-diner/resources/tags.rb +47 -0
  20. data/lib/flapjack-diner/tools.rb +456 -46
  21. data/lib/flapjack-diner/version.rb +1 -1
  22. data/spec/flapjack-diner_spec.rb +18 -9
  23. data/spec/resources/checks_spec.rb +7 -7
  24. data/spec/resources/contacts_spec.rb +12 -14
  25. data/spec/resources/events_spec.rb +13 -13
  26. data/spec/resources/maintenance_periods_spec.rb +3 -3
  27. data/spec/resources/media_spec.rb +3 -3
  28. data/spec/resources/metrics_spec.rb +1 -1
  29. data/spec/{relationships_spec.rb → resources/relationships_spec.rb} +25 -71
  30. data/spec/resources/rules_spec.rb +62 -62
  31. data/spec/resources/states_spec.rb +1 -1
  32. data/spec/resources/statistics_spec.rb +1 -1
  33. data/spec/resources/tags_spec.rb +19 -75
  34. data/spec/support/fixture_data.rb +43 -80
  35. metadata +22 -17
  36. data/lib/flapjack-diner/configuration.rb +0 -417
  37. data/lib/flapjack-diner/log_formatter.rb +0 -22
  38. data/lib/flapjack-diner/query.rb +0 -114
  39. data/lib/flapjack-diner/relationships.rb +0 -180
  40. data/lib/flapjack-diner/request.rb +0 -280
  41. data/lib/flapjack-diner/resources.rb +0 -64
  42. data/lib/flapjack-diner/response.rb +0 -91
  43. data/lib/flapjack-diner/utility.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4ce62bf38cc938f3b7f88f30ba160950e3e5cd1c
4
- data.tar.gz: 0490002709d57e4d15b6d3ca7e71c13381177c40
3
+ metadata.gz: 0ca71cf066fca99781cc543fb931e950771c52bc
4
+ data.tar.gz: 3487411a016d2d23688a188f74462dce813aa29d
5
5
  SHA512:
6
- metadata.gz: 48f6e46083c60efbd5f0b644270123aecd49d384ea73bc04200e081c906532774f6de9635fb58a5992ee6bb8eb93716e91603a5ae6a50368fd3bc3376e2e21be
7
- data.tar.gz: 40a15fc6103dd47ec15aac237d983b44f8ec0ce38e4f8a184acd8de0930fa7b146b0a84c1ca20b49708ce95689600e82517516e98974df1e847aa99a34d6c490
6
+ metadata.gz: 6d48ca39d5c3bc2eeee576baf6f469a7afde1bfc68e67356ce076caeba28c0ef9a613157a49006c12305e5746d0a87328fa3e86340cb47eeb495241f15ea3348
7
+ data.tar.gz: f54b0e2abd6e8836c8d46c9328a9af2e23aa8fb19f4169787370b0a9b29102cc3704b308a470dfd9f88aef9bb0af534a97e351b402b1de6ddabbf89072a26bb5
@@ -0,0 +1,21 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ AllCops:
4
+ Exclude:
5
+ - 'lib/flapjack-diner.rb'
6
+
7
+ # doesn't handle multi-file state
8
+ Documentation:
9
+ Enabled: false
10
+
11
+ Style/HashSyntax:
12
+ EnforcedStyle: hash_rockets
13
+
14
+ Style/SignalException:
15
+ EnforcedStyle: only_raise
16
+
17
+ Style/SpaceInsideBlockBraces:
18
+ SpaceBeforeBlockParameters: false
19
+
20
+ Style/SpaceInsideHashLiteralBraces:
21
+ EnforcedStyle: no_space
@@ -0,0 +1,135 @@
1
+ # This configuration was generated by `rubocop --auto-gen-config`.
2
+ # The point is for the user to remove these configuration records
3
+ # one by one as the offences are removed from the code base.
4
+
5
+ # AccessorMethodName:
6
+ # Enabled: false
7
+
8
+ # AlignArray:
9
+ # Enabled: false
10
+
11
+ # AlignHash:
12
+ # Enabled: false
13
+
14
+ # AlignParameters:
15
+ # Enabled: false
16
+
17
+ # AndOr:
18
+ # Enabled: false
19
+
20
+ # AssignmentInCondition:
21
+ # Enabled: false
22
+
23
+ # BlockAlignment:
24
+ # Enabled: false
25
+
26
+ # BlockNesting:
27
+ # Max: 4
28
+
29
+ # Blocks:
30
+ # Enabled: false
31
+
32
+ # BracesAroundHashParameters:
33
+ # Enabled: false
34
+
35
+ # CaseIndentation:
36
+ # Enabled: false
37
+
38
+ # ClassLength:
39
+ # Max: 221
40
+
41
+ # CollectionMethods:
42
+ # Enabled: false
43
+
44
+ # CommentAnnotation:
45
+ # Enabled: false
46
+
47
+ # CyclomaticComplexity:
48
+ # Max: 32
49
+
50
+ # DotPosition:
51
+ # Enabled: false
52
+
53
+ # EmptyLines:
54
+ # Enabled: false
55
+
56
+ # EmptyLinesAroundBody:
57
+ # Enabled: false
58
+
59
+ # EndAlignment:
60
+ # Enabled: false
61
+
62
+ # FavorUnlessOverNegatedIf:
63
+ # Enabled: false
64
+
65
+ # FinalNewline:
66
+ # Enabled: false
67
+
68
+ # HashMethods:
69
+ # Enabled: false
70
+
71
+ # IfUnlessModifier:
72
+ # Enabled: false
73
+
74
+ # IndentationWidth:
75
+ # Enabled: false
76
+
77
+ # LineLength:
78
+ # Max: 120
79
+
80
+ # MethodCallParentheses:
81
+ # Enabled: false
82
+
83
+ # MethodLength:
84
+ # Max: 95
85
+
86
+ # MultilineBlockChain:
87
+ # Enabled: false
88
+
89
+ # ParenthesesAroundCondition:
90
+ # Enabled: false
91
+
92
+ # PredicateName:
93
+ # Enabled: false
94
+
95
+ # RaiseArgs:
96
+ # Enabled: false
97
+
98
+ # RedundantSelf:
99
+ # Enabled: false
100
+
101
+ # RescueException:
102
+ # Enabled: false
103
+
104
+ # Semicolon:
105
+ # Enabled: false
106
+
107
+ # ShadowingOuterLocalVariable:
108
+ # Enabled: false
109
+
110
+ # SpaceAfterNot:
111
+ # Enabled: false
112
+
113
+ # SpaceAroundOperators:
114
+ # Enabled: false
115
+
116
+ # SpaceInsideHashLiteralBraces:
117
+ # Enabled: false
118
+
119
+ # SpaceInsideParens:
120
+ # Enabled: false
121
+
122
+ # SpecialGlobalVars:
123
+ # Enabled: false
124
+
125
+ # StringLiterals:
126
+ # Enabled: false
127
+
128
+ # TrivialAccessors:
129
+ # Enabled: false
130
+
131
+ # UselessAssignment:
132
+ # Enabled: false
133
+
134
+ # WordArray:
135
+ # Enabled: false
@@ -5,12 +5,17 @@ rvm:
5
5
  - '2.1'
6
6
  - '2.2'
7
7
  cache: bundler
8
- script: bundle exec rspec
8
+ script: "bundle exec rspec"
9
9
  notifications:
10
10
  irc:
11
11
  channels:
12
- - irc.freenode.net#flapjack
12
+ - 'irc.freenode.net#flapjack'
13
13
  template:
14
- - "%{message} %{repository}#%{build_number} (%{branch} - %{commit} : %{author})"
15
- slack:
16
- secure: OSSVSOzOOsGV58lo88tiXQiOlFt4YeRz7yQ0r2kaGV1IFpCISbLxMPTCR6qyngGJWV/QB7cgfKs39xUiAD/bU0cqz1D8BgnhLjRKcU53CymMEWV6s/TTyCgoQy+b/7DM3d7ebvEySS7fxWtApJ/DdpqbkhcgGJbNMIpaXuWd5Ro=
14
+ - '%{message} %{repository}#%{build_number} (%{branch} - %{commit} : %{author})'
15
+ hipchat:
16
+ template:
17
+ - '%{repository}#%{build_number} (%{branch} - %{commit} : %{author}): %{message}
18
+ (<a href="%{build_url}">Details</a>/<a href="%{compare_url}">Change view</a>)'
19
+ format: html
20
+ rooms:
21
+ secure: BfENxsVOSS6YKJn/kMr8ctXTvOvZHHlpgRN8AWshCEEaorPwFlCwlQuEYz+DSR7COjwLNZav5xnTFRaPkcCG8wc4ztMgSdv9XkrGjwJHxEEIzsjPT556LtLF4d8U2Di1MNsD6YGU7kvvzhh5hAPpEn0LBGhYlz+TCv+XCjI8/6I=
data/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  Access the JSON API of a [Flapjack](http://flapjack.io/) system monitoring server.
9
9
 
10
- Please note that the following documentation refers to the `v2.0.0b1` pre-release of this gem. You may instead be looking for [documentation for the latest stable version](https://github.com/flapjack/flapjack-diner/blob/maint/1.x/README.md).
10
+ Please note that the following documentation refers to the `v2.0.0-alpha.1` pre-release of this gem. You may instead be looking for [documentation for the latest stable version](https://github.com/flapjack/flapjack-diner/blob/maint/1.x/README.md).
11
11
 
12
12
  ## Installation
13
13
 
@@ -45,7 +45,7 @@ Flapjack::Diner.open_timeout(30)
45
45
  Flapjack::Diner.read_timeout(300)
46
46
  ```
47
47
 
48
- If you want the old behaviour with respect to returning hashes with keys as strings (they're now symbols by default) then:
48
+ If you want the old behaviour wrt returning hashes with keys as strings (they're now symbols by default) then:
49
49
 
50
50
  ```ruby
51
51
  Flapjack::Diner.return_keys_as_strings = true
@@ -55,8 +55,8 @@ Flapjack::Diner.return_keys_as_strings = true
55
55
 
56
56
  Options for all of **flapjack-diner**'s functions are organised as either:
57
57
 
58
- * Ids -- One or more String or Integer values; or
59
- * Parameters -- One or more Hashes
58
+ * Ids &emdash; One or more String or Integer values; or
59
+ * Parameters &emdash; One or more Hashes
60
60
 
61
61
  While these can be passed in in any order, the convention is that they will be ordered as listed above.
62
62
 
@@ -136,12 +136,10 @@ Flapjack::Diner.create_checks(CHECK, ...)
136
136
  ```
137
137
  CHECK
138
138
  {
139
- :id => UUID_STRING,
139
+ :id => STRING,
140
140
  :name => STRING,
141
141
  :enabled => BOOLEAN,
142
- :initial_failure_delay => INTEGER,
143
- :repeat_failure_delay => INTEGER,
144
- :tags => [UUID_STRING, ...]
142
+ :tags => [TAG_NAME, ...]
145
143
  }
146
144
  ```
147
145
 
@@ -155,8 +153,8 @@ Returns false if creation failed, or the created object(s) if it succeeded.
155
153
  Return data for one, some or all checks.
156
154
 
157
155
  ```ruby
158
- check = Flapjack::Diner.checks(UUID_STRING)
159
- some_checks = Flapjack::Diner.checks(UUID_STRING, UUID_STRING, ...)
156
+ check = Flapjack::Diner.checks(CHECK_ID)
157
+ some_checks = Flapjack::Diner.checks(CHECK_ID, CHECK_ID, ...)
160
158
  first_page_of_checks = Flapjack::Diner.checks
161
159
  ```
162
160
 
@@ -169,15 +167,15 @@ Update data for one or more checks.
169
167
 
170
168
  ```ruby
171
169
  # update values for one check
172
- Flapjack::Diner.update_checks(UUID_STRING, KEY => VALUE, ...)
170
+ Flapjack::Diner.update_checks(CHECK_ID, KEY => VALUE, ...)
173
171
 
174
172
  # update values for multiple checks
175
- Flapjack::Diner.update_checks({UUID_STRING, KEY => VALUE, ...}, {UUID_STRING, KEY => VALUE, ...})
173
+ Flapjack::Diner.update_checks({CHECK_ID, KEY => VALUE, ...}, {CHECK_ID, KEY => VALUE, ...})
176
174
  ```
177
175
 
178
176
  Acceptable update field keys are
179
177
 
180
- `:enabled`, `:name`, `:initial_failure_delay`, `:repeat_failure_delay` and `:tags`
178
+ `:enabled`, `:name` and `:tags`
181
179
 
182
180
  Returns true if updating succeeded or false if updating failed.
183
181
 
@@ -190,10 +188,10 @@ Delete one or more checks.
190
188
 
191
189
  ```ruby
192
190
  # delete one check
193
- Flapjack::Diner.delete_checks(UUID_STRING)
191
+ Flapjack::Diner.delete_checks(CHECK_ID)
194
192
 
195
193
  # delete multiple check
196
- Flapjack::Diner.delete_checks(UUID_STRING, UUID_STRING, ...)
194
+ Flapjack::Diner.delete_checks(CHECK_ID, CHECK_ID, ...)
197
195
  ```
198
196
 
199
197
  Returns true if deletion succeeded or false if deletion failed.
@@ -214,13 +212,13 @@ Create one or more contacts.
214
212
  Flapjack::Diner.create_contacts(CONTACT, ...)
215
213
  ```
216
214
 
217
- ```ruby
218
- # CONTACT
215
+ ```
216
+ CONTACT
219
217
  {
220
- :id => UUID_STRING,
218
+ :id => STRING,
221
219
  :name => STRING,
222
220
  :timezone => STRING,
223
- :tags => [UUID_STRING, ...]
221
+ :tags => [TAG_NAME, ...]
224
222
  }
225
223
  ```
226
224
 
@@ -234,8 +232,8 @@ Returns false if creation failed, or the created object(s) if it succeeded.
234
232
  Return data for one, some or all contacts.
235
233
 
236
234
  ```ruby
237
- contact = Flapjack::Diner.contacts(UUID_STRING)
238
- some_contacts = Flapjack::Diner.contacts(UUID_STRING, UUID_STRING, ...)
235
+ contact = Flapjack::Diner.contacts(CONTACT_ID)
236
+ some_contacts = Flapjack::Diner.contacts(CONTACT_ID, CONTACT_ID, ...)
239
237
  first_page_of_contacts = Flapjack::Diner.contacts
240
238
  ```
241
239
 
@@ -248,10 +246,10 @@ Update data for one or more contacts.
248
246
 
249
247
  ```ruby
250
248
  # update values for one contact
251
- Flapjack::Diner.update_contacts(UUID_STRING, KEY => VALUE, ...)
249
+ Flapjack::Diner.update_contacts(CONTACT_ID, KEY => VALUE, ...)
252
250
 
253
251
  # update values for multiple contacts
254
- Flapjack::Diner.update_contacts({UUID_STRING, KEY => VALUE, ...}, {UUID_STRING, KEY => VALUE, ...})
252
+ Flapjack::Diner.update_contacts({CONTACT_ID, KEY => VALUE, ...}, {CONTACT_ID, KEY => VALUE, ...})
255
253
  ```
256
254
 
257
255
  Acceptable update field keys are
@@ -269,10 +267,10 @@ Delete one or more contacts.
269
267
 
270
268
  ```ruby
271
269
  # delete one contact
272
- Flapjack::Diner.delete_contacts(UUID_STRING)
270
+ Flapjack::Diner.delete_contacts(CONTACT_ID)
273
271
 
274
272
  # delete multiple contacts
275
- Flapjack::Diner.delete_contacts(UUID_STRING, UUID_STRING, ...)
273
+ Flapjack::Diner.delete_contacts(CONTACT_ID, CONTACT_ID, ...)
276
274
  ```
277
275
 
278
276
  Returns true if deletion succeeded or false if deletion failed.
@@ -296,7 +294,7 @@ Flapjack::Diner.create_media(MEDIUM, MEDIUM, ...)
296
294
  ```ruby
297
295
  # MEDIUM
298
296
  {
299
- :id => UUID_STRING,
297
+ :id => UUID,
300
298
  :transport => STRING, # required
301
299
  :address => STRING, # required (context depends on transport)
302
300
  :interval => INTEGER, # required (if transport != 'pagerduty')
@@ -304,8 +302,8 @@ Flapjack::Diner.create_media(MEDIUM, MEDIUM, ...)
304
302
  :pagerduty_subdomain => STRING, # required (if transport == 'pagerduty')
305
303
  :pagerduty_token => STRING, # required (if transport == 'pagerduty')
306
304
  :pagerduty_ack_duration => INTEGER, # required (if transport == 'pagerduty')
307
- :contact => UUID_STRING, # required
308
- :rules => [UUID_STRING, UUID_STRING, ...]
305
+ :contact => CONTACT_ID, # required
306
+ :rules => [RULE_ID, RULE_ID, ...]
309
307
  }
310
308
  ```
311
309
 
@@ -319,8 +317,8 @@ Returns false if creation failed, or the created object(s) if it succeeded.
319
317
  Return data for one, some or all notification media.
320
318
 
321
319
  ```ruby
322
- medium = Flapjack::Diner.media(UUID_STRING)
323
- some_media = Flapjack::Diner.media(UUID_STRING, UUID_STRING, ...)
320
+ medium = Flapjack::Diner.media(MEDIUM_ID)
321
+ some_media = Flapjack::Diner.media(MEDIUM_ID, MEDIUM_ID, ...)
324
322
  first_page_of_media = Flapjack::Diner.media
325
323
  ```
326
324
 
@@ -333,10 +331,10 @@ Update data for one or more notification media.
333
331
 
334
332
  ```ruby
335
333
  # update values for one medium
336
- Flapjack::Diner.update_media(UUID_STRING, KEY => VALUE, ...)
334
+ Flapjack::Diner.update_media(MEDIUM_ID, KEY => VALUE, ...)
337
335
 
338
336
  # update values for multiple media
339
- Flapjack::Diner.update_media({UUID_STRING, KEY => VALUE, ...}, {UUID_STRING, KEY => VALUE, ...})
337
+ Flapjack::Diner.update_media({MEDIUM_ID, KEY => VALUE, ...}, {MEDIUM_ID, KEY => VALUE, ...})
340
338
  ```
341
339
 
342
340
  Acceptable update field keys are
@@ -354,10 +352,10 @@ Delete one or more notification media.
354
352
 
355
353
  ```ruby
356
354
  # delete one medium
357
- Flapjack::Diner.delete_media(UUID_STRING)
355
+ Flapjack::Diner.delete_media(MEDIUM_ID)
358
356
 
359
357
  # delete multiple media
360
- Flapjack::Diner.delete_media(UUID_STRING, UUID_STRING, ...)
358
+ Flapjack::Diner.delete_media(MEDIUM_ID, MEDIUM_ID, ...)
361
359
  ```
362
360
 
363
361
  Returns true if deletion succeeded or false if deletion failed.
@@ -378,21 +376,22 @@ Create one or more notification rules.
378
376
  Flapjack::Diner.create_rules(RULE, ...)
379
377
  ```
380
378
 
379
+ **FIXME** time_restrictions data structure isn't handled yet
380
+
381
+ **FIXME** should empty `conditions_list` implicitly specify blackhole -- thus
382
+ remove the `is_blackhole` boolean?
383
+
381
384
  ```ruby
382
385
  # RULE
383
386
  {
384
- :id => UUID_STRING,
385
- :name => STRING,
386
- :enabled => BOOLEAN,
387
- :blackhole => BOOLEAN,
388
- :strategy => STRING, # one of ['global', 'all_tags', 'any_tag', 'no_tag']
389
- :conditions_list => STRING, # which conditions the rule will match;
390
- # all if empty, or comma-separated subset
391
- # of 'critical,warning,unknown'
392
- :time_restriction_ical => STRING,
393
- :contact => UUID_STRING, # required
394
- :media => [UUID_STRING, ...]
395
- :tags => [UUID_STRING, ...]
387
+ :id => UUID_STRING,
388
+ :conditions_list => STRING, # which conditions the rule will match;
389
+ # all if empty, or comma-separated subset
390
+ # of 'critical,warning,unknown'
391
+ :is_blackhole => BOOLEAN,
392
+ :contact => CONTACT_ID, # required
393
+ :media => [MEDIUM_ID, ...]
394
+ :tags => [TAG_NAME, ...]
396
395
  }
397
396
  ```
398
397
 
@@ -406,8 +405,8 @@ Returns false if creation failed, or the created object(s) if it succeeded.
406
405
  Return data for one, some or all notification rules.
407
406
 
408
407
  ```ruby
409
- rule = Flapjack::Diner.rules(UUID_STRING)
410
- some_rules = Flapjack::Diner.rules(UUID_STRING, UUID_STRING, ...)
408
+ rule = Flapjack::Diner.rules(RULE_ID)
409
+ some_rules = Flapjack::Diner.rules(RULE_ID, RULE_ID, ...)
411
410
  first_page_of_rules = Flapjack::Diner.rules
412
411
  ```
413
412
 
@@ -420,15 +419,15 @@ Update data for one or more notification rules.
420
419
 
421
420
  ```ruby
422
421
  # update values for one rule
423
- Flapjack::Diner.update_rules(:id => UUID_STRING, KEY => VALUE, ...)
422
+ Flapjack::Diner.update_rules(:id => RULE_ID, KEY => VALUE, ...)
424
423
 
425
424
  # update values for multiple rules
426
- Flapjack::Diner.update_rules({:id => UUID_STRING, KEY => VALUE, ...}, {:id => UUID_STRING, KEY => VALUE, ...})
425
+ Flapjack::Diner.update_rules({:id => RULE_ID, KEY => VALUE, ...}, {:id => RULE_ID, KEY => VALUE, ...})
427
426
  ```
428
427
 
429
428
  Acceptable update field keys are
430
429
 
431
- `:name`, `:enabled`, `:blackhole`, `:strategy`, `:conditions_list`, `:time_restrictiosn_ical`, `:media` and `:tags`
430
+ `:conditions_list`, `:is_blackhole`, `:media` and `:tags`
432
431
 
433
432
  Returns true if updating succeeded or false if updating failed.
434
433
 
@@ -441,10 +440,10 @@ Delete one or more notification rules.
441
440
 
442
441
  ```ruby
443
442
  # delete one rule
444
- Flapjack::Diner.delete_rules(UUID_STRING)
443
+ Flapjack::Diner.delete_rules(RULE_ID)
445
444
 
446
445
  # delete multiple rules
447
- Flapjack::Diner.delete_rules(UUID_STRING, UUID_STRING, ...)
446
+ Flapjack::Diner.delete_rules(RULE_ID, RULE_ID, ...)
448
447
  ```
449
448
 
450
449
  Returns true if deletion succeeded or false if deletion failed.
@@ -468,11 +467,10 @@ Flapjack::Diner.create_tags(TAG, ...)
468
467
  ```ruby
469
468
  # TAG
470
469
  {
471
- :id => UUID_STRING,
472
- :name => STRING, # required
473
- :checks => [UUID_STRING, ...],
474
- :contacts => [UUID_STRING, ...],
475
- :rules => [UUID_STRING, ...]
470
+ :name => STRING, # required
471
+ :checks => [CHECK_ID, ...]
472
+ :rules => [RULE_ID, ...]
473
+ }
476
474
  ```
477
475
 
478
476
  Returns false if creation failed, or the created object(s) if it succeeded.
@@ -485,8 +483,8 @@ Returns false if creation failed, or the created object(s) if it succeeded.
485
483
  Return data for one, some or all tags.
486
484
 
487
485
  ```ruby
488
- tag = Flapjack::Diner.tags(UUID_STRING)
489
- some_tags = Flapjack::Diner.tags(UUID_STRING, UUID_STRING, ...)
486
+ tag = Flapjack::Diner.tags(TAG_NAME)
487
+ some_tags = Flapjack::Diner.tags(TAG_NAME, TAG_NAME, ...)
490
488
  first_page_of_tags = Flapjack::Diner.tags
491
489
  ```
492
490
 
@@ -499,15 +497,15 @@ Update data for one or more tags.
499
497
 
500
498
  ```ruby
501
499
  # update values for one tag
502
- Flapjack::Diner.update_tags(:id => UUID_STRING, KEY => VALUE, ...)
500
+ Flapjack::Diner.update_tags(:id => TAG_NAME, KEY => VALUE, ...)
503
501
 
504
502
  # update values for multiple tags
505
- Flapjack::Diner.update_tags({:id => UUID_STRING, KEY => VALUE, ...}, {:id => UUID_STRING, KEY => VALUE, ...})
503
+ Flapjack::Diner.update_tags({:id => TAG_NAME, KEY => VALUE, ...}, {:id => TAG_NAME, KEY => VALUE, ...})
506
504
  ```
507
505
 
508
506
  Acceptable update field keys are
509
507
 
510
- `:checks`, `:contacts` and `:rules`
508
+ `:checks` and `:rules`
511
509
 
512
510
  Returns true if updating succeeded or false if updating failed.
513
511
 
@@ -520,10 +518,10 @@ Delete one or more tags.
520
518
 
521
519
  ```ruby
522
520
  # delete one tag
523
- Flapjack::Diner.delete_tags(UUID_STRING)
521
+ Flapjack::Diner.delete_tags(TAG_NAME)
524
522
 
525
523
  # delete multiple tags
526
- Flapjack::Diner.delete_tags(UUID_STRING, UUID_STRING, ...)
524
+ Flapjack::Diner.delete_tags(TAG_NAME, TAG_NAME, ...)
527
525
  ```
528
526
 
529
527
  Returns true if deletion succeeded or false if deletion failed.
@@ -547,12 +545,12 @@ Flapjack::Diner.create_scheduled_maintenances(SCHEDULED_MAINTENANCE, ...)
547
545
  ```ruby
548
546
  SCHEDULED_MAINTENANCE
549
547
  {
550
- :id => UUID_STRING,
548
+ :id => UUID,
551
549
  :start_time => DATETIME, # required
552
550
  :end_time => DATETIME, # required
553
551
  :summary => STRING,
554
- :check => UUID_STRING, # one (and only one) of :check or :tag must be provided
555
- :tag => UUID_STRING # :tag will create scheduled maintenance periods for all checks that this tag is associated with
552
+ :check => CHECK_ID, # one (and only one) of :check or :tag must be provided
553
+ :tag => TAG_NAME # :tag will create scheduled maintenance periods for all checks that this tag is associated with
556
554
  }
557
555
  ```
558
556
 
@@ -566,8 +564,8 @@ Returns false if creation failed, or the created object(s) if it succeeded.
566
564
  Return data for one, some or all scheduled maintenance periods.
567
565
 
568
566
  ```ruby
569
- scheduled_maintenance = Flapjack::Diner.scheduled_maintenances(UUID_STRING)
570
- some_scheduled_maintenances = Flapjack::Diner.scheduled_maintenances(UUID_STRING, UUID_STRING, ...)
567
+ scheduled_maintenance = Flapjack::Diner.scheduled_maintenances(SCHEDULED_MAINTENANCE_ID)
568
+ some_scheduled_maintenances = Flapjack::Diner.scheduled_maintenances(SCHEDULED_MAINTENANCE_ID, SCHEDULED_MAINTENANCE_ID, ...)
571
569
  first_page_of_scheduled_maintenances = Flapjack::Diner.scheduled_maintenances
572
570
  ```
573
571
 
@@ -580,10 +578,10 @@ Update data for one or more scheduled maintenance periods.
580
578
 
581
579
  ```ruby
582
580
  # update values for one scheduled maintenance period
583
- Flapjack::Diner.update_scheduled_maintenances(:id => UUID_STRING, KEY => VALUE, ...)
581
+ Flapjack::Diner.update_scheduled_maintenances(:id => SCHEDULED_MAINTENANCE_ID, KEY => VALUE, ...)
584
582
 
585
583
  # update values for multiple scheduled maintenance periods
586
- Flapjack::Diner.update_scheduled_maintenances({:id => UUID_STRING, KEY => VALUE, ...}, {:id => UUID_STRING, KEY => VALUE, ...})
584
+ Flapjack::Diner.update_scheduled_maintenances({:id => SCHEDULED_MAINTENANCE_ID, KEY => VALUE, ...}, {:id => SCHEDULED_MAINTENANCE_ID, KEY => VALUE, ...})
587
585
  ```
588
586
 
589
587
  Acceptable update field keys are
@@ -602,8 +600,8 @@ Returns true if updating succeeded or false if updating failed.
602
600
  Delete one or more scheduled maintenance periods.
603
601
 
604
602
  ```ruby
605
- Flapjack::Diner.delete_scheduled_maintenances(UUID_STRING)
606
- Flapjack::Diner.delete_scheduled_maintenances(UUID_STRING, UUID_STRING, ...)
603
+ Flapjack::Diner.delete_scheduled_maintenances(SCHEDULED_MAINTENANCE_ID)
604
+ Flapjack::Diner.delete_scheduled_maintenances(SCHEDULED_MAINTENANCE_ID, SCHEDULED_MAINTENANCE_ID, ...)
607
605
  ```
608
606
 
609
607
  Returns true if deletion succeeded or false if deletion failed.
@@ -618,8 +616,8 @@ Returns true if deletion succeeded or false if deletion failed.
618
616
  Return data for one, some or all unscheduled maintenance periods.
619
617
 
620
618
  ```ruby
621
- unscheduled_maintenance = Flapjack::Diner.unscheduled_maintenances(UUID_STRING)
622
- some_unscheduled_maintenances = Flapjack::Diner.unscheduled_maintenances(UUID_STRING, UUID_STRING, ...)
619
+ unscheduled_maintenance = Flapjack::Diner.unscheduled_maintenances(UNSCHEDULED_MAINTENANCE_ID)
620
+ some_unscheduled_maintenances = Flapjack::Diner.unscheduled_maintenances(UNSCHEDULED_MAINTENANCE_ID, UNSCHEDULED_MAINTENANCE_ID, ...)
623
621
  first_page_of_unscheduled_maintenances = Flapjack::Diner.unscheduled_maintenances
624
622
  ```
625
623
 
@@ -631,10 +629,10 @@ first_page_of_unscheduled_maintenances = Flapjack::Diner.unscheduled_maintenance
631
629
  Update data for one or more unscheduled maintenance periods.
632
630
 
633
631
  ```ruby
634
- Flapjack::Diner.update_unscheduled_maintenances(:id => UUID_STRING, KEY => VALUE)
632
+ Flapjack::Diner.update_unscheduled_maintenances(:id => UNSCHEDULED_MAINTENANCE_ID, KEY => VALUE)
635
633
 
636
- Flapjack::Diner.update_unscheduled_maintenances({:id => UUID_STRING, KEY => VALUE},
637
- {:id => UUID_STRING, KEY => VALUE}, ...)
634
+ Flapjack::Diner.update_unscheduled_maintenances({:id => UNSCHEDULED_MAINTENANCE_ID, KEY => VALUE},
635
+ {:id => UNSCHEDULED_MAINTENANCE_ID, KEY => VALUE}, ...)
638
636
  ```
639
637
 
640
638
  Acceptable update field keys are
@@ -653,8 +651,8 @@ Returns true if updating succeeded or false if updating failed.
653
651
  Delete one or more unscheduled maintenance periods.
654
652
 
655
653
  ```ruby
656
- Flapjack::Diner.delete_unscheduled_maintenances(UUID_STRING)
657
- Flapjack::Diner.delete_unscheduled_maintenances(UUID_STRING, UUID_STRING, ...)
654
+ Flapjack::Diner.delete_unscheduled_maintenances(UNSCHEDULED_MAINTENANCE_ID)
655
+ Flapjack::Diner.delete_unscheduled_maintenances(UNSCHEDULED_MAINTENANCE_ID, UNSCHEDULED_MAINTENANCE_ID, ...)
658
656
  ```
659
657
 
660
658
  Returns true if deletion succeeded or false if deletion failed.
@@ -682,8 +680,8 @@ Flapjack::Diner.create_acknowledgements(ACKNOWLEDGEMENT, ...)
682
680
  {
683
681
  :summary => STRING,
684
682
  :duration => INTEGER,
685
- :check => UUID_STRING, # one (and only one) of :check or :tag must be provided
686
- :tag => UUID_STRING # :tag will acknowledge all failing checks that this tag is associated with
683
+ :check => CHECK_ID, # one (and only one) of :check or :tag must be provided
684
+ :tag => TAG_NAME # :tag will acknowledge all failing checks that this tag is associated with
687
685
  }
688
686
  ```
689
687
 
@@ -704,9 +702,8 @@ Flapjack::Diner.create_test_notifications(TEST_NOTIFICATION, ...)
704
702
  # TEST_NOTIFICATION
705
703
  {
706
704
  :summary => STRING,
707
- :condition => STRING,
708
- :check => UUID_STRING, # one (and only one) of :check or :tag must be provided
709
- :tag => UUID_STRING # :tag will send test notifications for all checks that this tag is associated with
705
+ :check => CHECK_ID, # one (and only one) of :check or :tag must be provided
706
+ :tag => TAG_NAME # :tag will send test notifications for all checks that this tag is associated with
710
707
  }
711
708
  ```
712
709
 
@@ -725,8 +722,8 @@ Returns false if creation failed, or the created object(s) if it succeeded.
725
722
  Return data for one, some or all check states.
726
723
 
727
724
  ```ruby
728
- states = Flapjack::Diner.states(UUID_STRING)
729
- some_states = Flapjack::Diner.states(UUID_STRING, UUID_STRING, ...)
725
+ states = Flapjack::Diner.states(STATE_ID)
726
+ some_states = Flapjack::Diner.states(STATE_ID, STATE_ID, ...)
730
727
  first_page_of_states = Flapjack::Diner.states
731
728
  ```
732
729
 
@@ -749,8 +746,8 @@ metrics = Flapjack::Diner.metrics
749
746
  Return data for one, some or all flapjack processor instances.
750
747
 
751
748
  ```ruby
752
- statistics = Flapjack::Diner.statistics(UUID_STRING)
753
- some_statistics = Flapjack::Diner.statistics(UUID_STRING, UUID_STRING, ...)
749
+ statistics = Flapjack::Diner.statistics(STATISTICS_ID)
750
+ some_statistics = Flapjack::Diner.statistics(STATISTICS_ID, STATISTICS_ID, ...)
754
751
  first_page_of_statistics = Flapjack::Diner.statistics
755
752
  ```
756
753
 
@@ -774,31 +771,29 @@ first_page_of_statistics = Flapjack::Diner.statistics
774
771
  <a name="common_options_get_include">&nbsp;</a>
775
772
  ### Associated data allowed for the include parameter
776
773
 
777
- | Method | Association | Assoc. Type |
778
- |-----------------------------|-----------------------------------|--------------------------------|
779
- | `.checks` | 'alerting_media' | ['medium', ...] |
780
- | `.checks` | 'contacts' | ['contact', ...] |
781
- | `.checks` | 'current_scheduled_maintenances' | ['scheduled_maintenance', ...] |
782
- | `.checks` | 'current_state' | 'state' |
783
- | `.checks` | 'current_unscheduled_maintenance' | 'unscheduled_maintenance' |
784
- | `.checks` | 'latest_notifications' | ['state', ...] |
785
- | `.checks` | 'tags' | ['tag', ...] |
786
- | `.contacts` | 'checks' | ['check', ...] |
787
- | `.contacts` | 'media' | ['medium', ...] |
788
- | `.contacts` | 'rules' | ['rule', ...] |
789
- | `.contacts` | 'tags' | ['tag', ...] |
790
- | `.media` | 'alerting_checks' | ['check', ...] |
791
- | `.media` | 'contact' | 'contact' |
792
- | `.media` | 'rules' | ['rule', ...] |
793
- | `.rules` | 'contact' | 'contact' |
794
- | `.rules` | 'media' | ['medium', ...] |
795
- | `.rules` | 'tags' | ['tag', ...] |
796
- | `.scheduled_maintenances` | 'check' | 'check' |
797
- | `.states` | 'check' | 'check' |
798
- | `.tags` | 'checks' | ['check', ...] |
799
- | `.tags` | 'contacts' | ['contact', ...] |
800
- | `.tags` | 'rules' | ['rule', ...] |
801
- | `.unscheduled_maintenances` | 'check' | 'check' |
774
+ | Method | Association | Assoc. Type |
775
+ |-----------|--------------|-------------|
776
+ | `.checks` | 'alerting_media' | ['medium', ...] |
777
+ | `.checks` | 'contacts' | ['contact', ...] |
778
+ | `.checks` | 'current_scheduled_maintenances' | ['scheduled_maintenance', ...] |
779
+ | `.checks` | 'current_state' | 'state' |
780
+ | `.checks` | 'current_unscheduled_maintenance' | 'unscheduled_maintenance' |
781
+ | `.checks` | 'latest_notifications' | ['state', ...] |
782
+ | `.checks` | 'tags' | ['tag', ...] |
783
+ | `.contacts` | 'checks' | ['check', ...] |
784
+ | `.contacts` | 'media' | ['medium', ...] |
785
+ | `.contacts` | 'rules' | ['rule', ...] |
786
+ | `.media` | 'alerting_checks' | ['check', ...] |
787
+ | `.media` | 'contact' | 'contact' |
788
+ | `.media` | 'rules' | ['rule', ...] |
789
+ | `.rules` | 'contact' | 'contact' |
790
+ | `.rules` | 'media' | ['medium', ...] |
791
+ | `.rules` | 'tags' | ['tag', ...] |
792
+ | `.scheduled_maintenances` | 'check' | 'check' |
793
+ | `.states` | 'check' | 'check' |
794
+ | `.tags` | 'checks' | ['check', ...] |
795
+ | `.tags` | 'rules' | ['rule', ...] |
796
+ | `.unscheduled_maintenances` | 'check' | 'check' |
802
797
 
803
798
  NB: these may be chained, as long as they follow the allowed paths above; e.g.
804
799
 
@@ -842,7 +837,6 @@ check_link_unscheduled_maintenances(check_id, opts = {})
842
837
  contact_link_checks(contact_id, opts = {})
843
838
  contact_link_media(contact_id, opts = {})
844
839
  contact_link_rules(contact_id, opts = {})
845
- contact_link_tags(contact_id, opts = {})
846
840
 
847
841
  medium_link_alerting_checks(medium_id, opts = {})
848
842
  medium_link_contact(medium_id, opts = {})
@@ -854,12 +848,8 @@ rule_link_tags(rule_id, opts = {})
854
848
 
855
849
  state_link_check(state_id, opts = {})
856
850
 
857
- tag_link_checks(tag_id, opts = {})
858
- tag_link_contacts(tag_id, opts = {})
859
- tag_link_rules(tag_id, opts = {})
860
- tag_link_scheduled_maintenances(tag_id, opts = {})
861
- tag_link_states(tag_id, opts = {})
862
- tag_link_unscheduled_maintenances(tag_id, opts = {})
851
+ tag_link_checks(tag_name, opts = {})
852
+ tag_link_rules(tag_name, opts = {})
863
853
  ```
864
854
 
865
855
  All returned results are paginated, and the [common options for GET requests](#common_options_get) apply here too.
@@ -867,16 +857,12 @@ All returned results are paginated, and the [common options for GET requests](#c
867
857
  <a name="object_relationships_write">&nbsp;</a>
868
858
  ### Manipulating object relationships
869
859
 
870
- The following operations are supported; please note that some associations (e.g. associating an rule with a contact) must be made on object creation, via the secondary resource's create method, and cannot be altered later.
860
+ The following operations are supported; please note that some associations (e.g. associating a rule with a contact) must be made on object creation, via the secondary resource's create method, and cannot be altered later.
871
861
 
872
862
  ```
873
- create_check_link_tags(check_id, *tags_ids)
874
- update_check_link_tags(check_id, *tags_ids)
875
- delete_check_link_tags(check_id, *tags_ids)
876
-
877
- create_contact_link_tags(contact_id, *tags_ids)
878
- update_contact_link_tags(contact_id, *tags_ids)
879
- delete_contact_link_tags(contact_id, *tags_ids)
863
+ create_check_link_tags(check_id, *tags_names)
864
+ update_check_link_tags(check_id, *tags_names)
865
+ delete_check_link_tags(check_id, *tags_names)
880
866
 
881
867
  create_medium_link_rules(medium_id, *rules_ids)
882
868
  update_medium_link_rules(medium_id, *rules_ids)
@@ -886,21 +872,17 @@ create_rule_link_media(rule_id, *media_ids)
886
872
  update_rule_link_media(rule_id, *media_ids)
887
873
  delete_rule_link_media(rule_id, *media_ids)
888
874
 
889
- create_rule_link_tags(rule_id, *tags_ids)
890
- update_rule_link_tags(rule_id, *tags_ids)
891
- delete_rule_link_tags(rule_id, *tags_ids)
892
-
893
- create_tag_link_checks(tag_id, *checks_ids)
894
- update_tag_link_checks(tag_id, *checks_ids)
895
- delete_tag_link_checks(tag_id, *checks_ids)
875
+ create_rule_link_tags(rule_id, *tags_names)
876
+ update_rule_link_tags(rule_id, *tags_names)
877
+ delete_rule_link_tags(rule_id, *tags_names)
896
878
 
897
- create_tag_link_contacts(tag_id, *contacts_ids)
898
- update_tag_link_contacts(tag_id, *contacts_ids)
899
- delete_tag_link_contacts(tag_id, *contacts_ids)
879
+ create_tag_link_checks(tag_name, *checks_ids)
880
+ update_tag_link_checks(tag_name, *checks_ids)
881
+ delete_tag_link_checks(tag_name, *checks_ids)
900
882
 
901
- create_tag_link_rules(tag_id, *rules_ids)
902
- update_tag_link_rules(tag_id, *rules_ids)
903
- delete_tag_link_rules(tag_id, *rules_ids)
883
+ create_tag_link_rules(tag_name, *rules_ids)
884
+ update_tag_link_rules(tag_name, *rules_ids)
885
+ delete_tag_link_rules(tag_name, *rules_ids)
904
886
  ```
905
887
 
906
888
  <a name="object_relationships_write_create">&nbsp;</a>