chef-handler-datadog 0.7.0 → 0.8.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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/.env.example +2 -0
  3. data/CHANGELOG.md +15 -0
  4. data/Rakefile +7 -0
  5. data/lib/chef/handler/datadog.rb +1 -0
  6. data/lib/chef/handler/datadog_chef_metrics.rb +10 -1
  7. data/lib/chef/handler/datadog_chef_tags.rb +30 -9
  8. data/lib/chef_handler_datadog.rb +1 -1
  9. data/spec/datadog_spec.rb +74 -4
  10. data/spec/support/cassettes/Chef_Handler_Datadog/failed_Chef_run/sets_alert_handles_when_specified.yml +258 -122
  11. data/spec/support/cassettes/Chef_Handler_Datadog/failed_Chef_run/sets_event_title_correctly.yml +129 -61
  12. data/spec/support/cassettes/Chef_Handler_Datadog/failed_Chef_run/sets_priority_correctly.yml +129 -61
  13. data/spec/support/cassettes/Chef_Handler_Datadog/hostname/uses_the_node_name_when_no_config_specified.yml +124 -53
  14. data/spec/support/cassettes/Chef_Handler_Datadog/hostname/uses_the_specified_hostname_when_provided.yml +124 -53
  15. data/spec/support/cassettes/Chef_Handler_Datadog/reports_correct_hostname_on_an_ec2_node/does_not_use_the_instance_id_when_config_specified_to_false.yml +124 -53
  16. data/spec/support/cassettes/Chef_Handler_Datadog/reports_correct_hostname_on_an_ec2_node/uses_the_instance_id_when_config_is_specified.yml +124 -53
  17. data/spec/support/cassettes/Chef_Handler_Datadog/reports_correct_hostname_on_an_ec2_node/uses_the_instance_id_when_no_config_specified.yml +124 -53
  18. data/spec/support/cassettes/Chef_Handler_Datadog/reports_metrics_event_and_sets_tags/emits_events/posts_an_event.yml +124 -53
  19. data/spec/support/cassettes/Chef_Handler_Datadog/reports_metrics_event_and_sets_tags/emits_events/sets_priority_correctly.yml +124 -53
  20. data/spec/support/cassettes/Chef_Handler_Datadog/reports_metrics_event_and_sets_tags/emits_metrics/reports_metrics.yml +124 -53
  21. data/spec/support/cassettes/Chef_Handler_Datadog/reports_metrics_event_and_sets_tags/sets_tags/puts_the_tags_for_the_current_node.yml +124 -53
  22. data/spec/support/cassettes/Chef_Handler_Datadog/resources/failure_during_compile_phase/only_emits_a_failure_metric.yml +134 -0
  23. data/spec/support/cassettes/Chef_Handler_Datadog/resources/failure_during_compile_phase/posts_an_event.yml +77 -25
  24. data/spec/support/cassettes/Chef_Handler_Datadog/tags/when_specified/sets_the_role_and_env_and_tags.yml +89 -43
  25. data/spec/support/cassettes/Chef_Handler_Datadog/tags/when_unspecified/sets_role_env_and_nothing_else.yml +89 -42
  26. data/spec/support/cassettes/Chef_Handler_Datadog/tags_submission_retries/when_not_specified/does_not_retry_after_a_failed_submission.yml +241 -0
  27. data/spec/support/cassettes/Chef_Handler_Datadog/tags_submission_retries/when_specified_as_2_retries/retries_no_more_than_twice.yml +331 -0
  28. data/spec/support/cassettes/Chef_Handler_Datadog/tags_submission_retries/when_specified_as_2_retries/stops_retrying_once_submission_is_successful.yml +287 -0
  29. data/spec/support/cassettes/Chef_Handler_Datadog/updated_resources/posts_an_event.yml +126 -58
  30. metadata +11 -2
@@ -0,0 +1,241 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://app.datadoghq.com/api/v1/series?api_key=<API_KEY>
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"series":[{"metric":"chef.run.success","points":[[1453838676,1.0]],"type":"counter","host":"chef.handler.datadog.test-tags-retries","device":null}]}'
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ Content-Type:
17
+ - application/json
18
+ response:
19
+ status:
20
+ code: 202
21
+ message: Accepted
22
+ headers:
23
+ Content-Type:
24
+ - text/json; charset=UTF-8
25
+ Date:
26
+ - Sun, 05 Apr 2015 15:49:21 GMT
27
+ Server:
28
+ - dogdispatcher/6.1.23
29
+ Strict-Transport-Security:
30
+ - max-age=15724800;
31
+ Content-Length:
32
+ - '15'
33
+ Connection:
34
+ - keep-alive
35
+ body:
36
+ encoding: UTF-8
37
+ string: '{"status":"ok"}'
38
+ http_version:
39
+ recorded_at: Sun, 05 Apr 2015 15:49:26 GMT
40
+ - request:
41
+ method: post
42
+ uri: https://app.datadoghq.com/api/v1/series?api_key=<API_KEY>
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"series":[{"metric":"chef.resources.total","points":[[1428248966,0.0]],"type":"gauge","host":"chef.handler.datadog.test-tags-retries","device":null}]}'
46
+ headers:
47
+ Accept-Encoding:
48
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
49
+ Accept:
50
+ - "*/*"
51
+ User-Agent:
52
+ - Ruby
53
+ Content-Type:
54
+ - application/json
55
+ response:
56
+ status:
57
+ code: 202
58
+ message: Accepted
59
+ headers:
60
+ Content-Type:
61
+ - text/json; charset=UTF-8
62
+ Date:
63
+ - Sun, 05 Apr 2015 15:49:21 GMT
64
+ Server:
65
+ - dogdispatcher/6.1.23
66
+ Strict-Transport-Security:
67
+ - max-age=15724800;
68
+ Content-Length:
69
+ - '15'
70
+ Connection:
71
+ - keep-alive
72
+ body:
73
+ encoding: UTF-8
74
+ string: '{"status":"ok"}'
75
+ http_version:
76
+ recorded_at: Sun, 05 Apr 2015 15:49:26 GMT
77
+ - request:
78
+ method: post
79
+ uri: https://app.datadoghq.com/api/v1/series?api_key=<API_KEY>
80
+ body:
81
+ encoding: UTF-8
82
+ string: '{"series":[{"metric":"chef.resources.updated","points":[[1428248966,0.0]],"type":"gauge","host":"chef.handler.datadog.test-tags-retries","device":null}]}'
83
+ headers:
84
+ Accept-Encoding:
85
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
86
+ Accept:
87
+ - "*/*"
88
+ User-Agent:
89
+ - Ruby
90
+ Content-Type:
91
+ - application/json
92
+ response:
93
+ status:
94
+ code: 202
95
+ message: Accepted
96
+ headers:
97
+ Content-Type:
98
+ - text/json; charset=UTF-8
99
+ Date:
100
+ - Sun, 05 Apr 2015 15:49:22 GMT
101
+ Server:
102
+ - dogdispatcher/6.1.23
103
+ Strict-Transport-Security:
104
+ - max-age=15724800;
105
+ Content-Length:
106
+ - '15'
107
+ Connection:
108
+ - keep-alive
109
+ body:
110
+ encoding: UTF-8
111
+ string: '{"status":"ok"}'
112
+ http_version:
113
+ recorded_at: Sun, 05 Apr 2015 15:49:26 GMT
114
+ - request:
115
+ method: post
116
+ uri: https://app.datadoghq.com/api/v1/series?api_key=<API_KEY>
117
+ body:
118
+ encoding: UTF-8
119
+ string: '{"series":[{"metric":"chef.resources.elapsed_time","points":[[1428248966,5.0]],"type":"gauge","host":"chef.handler.datadog.test-tags-retries","device":null}]}'
120
+ headers:
121
+ Accept-Encoding:
122
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
123
+ Accept:
124
+ - "*/*"
125
+ User-Agent:
126
+ - Ruby
127
+ Content-Type:
128
+ - application/json
129
+ response:
130
+ status:
131
+ code: 202
132
+ message: Accepted
133
+ headers:
134
+ Content-Type:
135
+ - text/json; charset=UTF-8
136
+ Date:
137
+ - Sun, 05 Apr 2015 15:49:23 GMT
138
+ Server:
139
+ - dogdispatcher/6.1.23
140
+ Strict-Transport-Security:
141
+ - max-age=15724800;
142
+ Content-Length:
143
+ - '15'
144
+ Connection:
145
+ - keep-alive
146
+ body:
147
+ encoding: UTF-8
148
+ string: '{"status":"ok"}'
149
+ http_version:
150
+ recorded_at: Sun, 05 Apr 2015 15:49:26 GMT
151
+ - request:
152
+ method: post
153
+ uri: https://app.datadoghq.com/api/v1/events?api_key=<API_KEY>
154
+ body:
155
+ encoding: UTF-8
156
+ string: '{"msg_text":"Chef updated 0 resources out of 0 resources total.","date_happened":1428248966,"msg_title":"Chef
157
+ completed in 5 seconds on chef.handler.datadog.test-tags ","priority":"low","parent":null,"tags":["env:hostile","role:highlander","tag:the_one_and_only"],"aggregation_key":"chef.handler.datadog.test-tags-retries","alert_type":"success","event_type":"config_management.run","source_type_name":"chef","title":"Chef
158
+ completed in 5 seconds on chef.handler.datadog.test-tags ","text":"Chef updated
159
+ 0 resources out of 0 resources total.","host":"chef.handler.datadog.test-tags","device":null}'
160
+ headers:
161
+ Accept-Encoding:
162
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
163
+ Accept:
164
+ - "*/*"
165
+ User-Agent:
166
+ - Ruby
167
+ Content-Type:
168
+ - application/json
169
+ response:
170
+ status:
171
+ code: 202
172
+ message: Accepted
173
+ headers:
174
+ Content-Type:
175
+ - text/json; charset=UTF-8
176
+ Date:
177
+ - Sun, 05 Apr 2015 15:49:23 GMT
178
+ Server:
179
+ - dogdispatcher/6.1.23
180
+ Strict-Transport-Security:
181
+ - max-age=15724800;
182
+ Content-Length:
183
+ - '420'
184
+ Connection:
185
+ - keep-alive
186
+ body:
187
+ encoding: UTF-8
188
+ string: '{"status": "ok", "event": {"priority": "low", "date_happened": 1428248966,
189
+ "handle": null, "title": "Chef completed in 5 seconds on chef.handler.datadog.test-tags
190
+ ", "url": "https://app.datadoghq.com/event/event?id=2751230185062799345",
191
+ "text": "Chef updated 0 resources out of 0 resources total.", "tags": ["env:hostile",
192
+ "role:highlander", "tag:the_one_and_only"], "related_event_id": null, "id":
193
+ 2751230185062799345}}'
194
+ http_version:
195
+ recorded_at: Sun, 05 Apr 2015 15:49:26 GMT
196
+ - request:
197
+ method: put
198
+ uri: https://app.datadoghq.com/api/v1/tags/hosts/chef.handler.datadog.test-tags-retries?api_key=<API_KEY>&application_key=<APPLICATION_KEY>&source=chef
199
+ body:
200
+ encoding: UTF-8
201
+ string: '{"tags":["env:hostile","role:highlander","tag:the_one_and_only"]}'
202
+ headers:
203
+ Accept-Encoding:
204
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
205
+ Accept:
206
+ - "*/*"
207
+ User-Agent:
208
+ - Ruby
209
+ Content-Type:
210
+ - application/json
211
+ response:
212
+ status:
213
+ code: 404
214
+ message: Not Found
215
+ headers:
216
+ Cache-Control:
217
+ - no-cache
218
+ Content-Type:
219
+ - application/json
220
+ Date:
221
+ - Sun, 05 Apr 2015 15:49:24 GMT
222
+ Pragma:
223
+ - no-cache
224
+ Server:
225
+ - gunicorn/19.1.0
226
+ Strict-Transport-Security:
227
+ - max-age=15724800;
228
+ X-Dd-Debug:
229
+ - mPU4gm+hKkKT8ia9ZdY5CzVKb87xvoCEvNtumo6b6Z8=
230
+ X-Frame-Options:
231
+ - SAMEORIGIN
232
+ Content-Length:
233
+ - '44'
234
+ Connection:
235
+ - keep-alive
236
+ body:
237
+ encoding: UTF-8
238
+ string: '{"errors": ["No host matches that host_id"]}'
239
+ http_version:
240
+ recorded_at: Sun, 05 Apr 2015 15:49:26 GMT
241
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,331 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://app.datadoghq.com/api/v1/series?api_key=<API_KEY>
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"series":[{"metric":"chef.run.success","points":[[1453838676,1.0]],"type":"counter","host":"chef.handler.datadog.test-tags-retries","device":null}]}'
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ Content-Type:
17
+ - application/json
18
+ response:
19
+ status:
20
+ code: 202
21
+ message: Accepted
22
+ headers:
23
+ Content-Type:
24
+ - text/json; charset=UTF-8
25
+ Date:
26
+ - Sun, 05 Apr 2015 15:49:21 GMT
27
+ Server:
28
+ - dogdispatcher/6.1.23
29
+ Strict-Transport-Security:
30
+ - max-age=15724800;
31
+ Content-Length:
32
+ - '15'
33
+ Connection:
34
+ - keep-alive
35
+ body:
36
+ encoding: UTF-8
37
+ string: '{"status":"ok"}'
38
+ http_version:
39
+ recorded_at: Sun, 05 Apr 2015 15:49:26 GMT
40
+ - request:
41
+ method: post
42
+ uri: https://app.datadoghq.com/api/v1/series?api_key=<API_KEY>
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"series":[{"metric":"chef.resources.total","points":[[1428248966,0.0]],"type":"gauge","host":"chef.handler.datadog.test-tags-retries","device":null}]}'
46
+ headers:
47
+ Accept-Encoding:
48
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
49
+ Accept:
50
+ - "*/*"
51
+ User-Agent:
52
+ - Ruby
53
+ Content-Type:
54
+ - application/json
55
+ response:
56
+ status:
57
+ code: 202
58
+ message: Accepted
59
+ headers:
60
+ Content-Type:
61
+ - text/json; charset=UTF-8
62
+ Date:
63
+ - Sun, 05 Apr 2015 15:49:21 GMT
64
+ Server:
65
+ - dogdispatcher/6.1.23
66
+ Strict-Transport-Security:
67
+ - max-age=15724800;
68
+ Content-Length:
69
+ - '15'
70
+ Connection:
71
+ - keep-alive
72
+ body:
73
+ encoding: UTF-8
74
+ string: '{"status":"ok"}'
75
+ http_version:
76
+ recorded_at: Sun, 05 Apr 2015 15:49:26 GMT
77
+ - request:
78
+ method: post
79
+ uri: https://app.datadoghq.com/api/v1/series?api_key=<API_KEY>
80
+ body:
81
+ encoding: UTF-8
82
+ string: '{"series":[{"metric":"chef.resources.updated","points":[[1428248966,0.0]],"type":"gauge","host":"chef.handler.datadog.test-tags-retries","device":null}]}'
83
+ headers:
84
+ Accept-Encoding:
85
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
86
+ Accept:
87
+ - "*/*"
88
+ User-Agent:
89
+ - Ruby
90
+ Content-Type:
91
+ - application/json
92
+ response:
93
+ status:
94
+ code: 202
95
+ message: Accepted
96
+ headers:
97
+ Content-Type:
98
+ - text/json; charset=UTF-8
99
+ Date:
100
+ - Sun, 05 Apr 2015 15:49:22 GMT
101
+ Server:
102
+ - dogdispatcher/6.1.23
103
+ Strict-Transport-Security:
104
+ - max-age=15724800;
105
+ Content-Length:
106
+ - '15'
107
+ Connection:
108
+ - keep-alive
109
+ body:
110
+ encoding: UTF-8
111
+ string: '{"status":"ok"}'
112
+ http_version:
113
+ recorded_at: Sun, 05 Apr 2015 15:49:26 GMT
114
+ - request:
115
+ method: post
116
+ uri: https://app.datadoghq.com/api/v1/series?api_key=<API_KEY>
117
+ body:
118
+ encoding: UTF-8
119
+ string: '{"series":[{"metric":"chef.resources.elapsed_time","points":[[1428248966,5.0]],"type":"gauge","host":"chef.handler.datadog.test-tags-retries","device":null}]}'
120
+ headers:
121
+ Accept-Encoding:
122
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
123
+ Accept:
124
+ - "*/*"
125
+ User-Agent:
126
+ - Ruby
127
+ Content-Type:
128
+ - application/json
129
+ response:
130
+ status:
131
+ code: 202
132
+ message: Accepted
133
+ headers:
134
+ Content-Type:
135
+ - text/json; charset=UTF-8
136
+ Date:
137
+ - Sun, 05 Apr 2015 15:49:23 GMT
138
+ Server:
139
+ - dogdispatcher/6.1.23
140
+ Strict-Transport-Security:
141
+ - max-age=15724800;
142
+ Content-Length:
143
+ - '15'
144
+ Connection:
145
+ - keep-alive
146
+ body:
147
+ encoding: UTF-8
148
+ string: '{"status":"ok"}'
149
+ http_version:
150
+ recorded_at: Sun, 05 Apr 2015 15:49:26 GMT
151
+ - request:
152
+ method: post
153
+ uri: https://app.datadoghq.com/api/v1/events?api_key=<API_KEY>
154
+ body:
155
+ encoding: UTF-8
156
+ string: '{"msg_text":"Chef updated 0 resources out of 0 resources total.","date_happened":1428248966,"msg_title":"Chef
157
+ completed in 5 seconds on chef.handler.datadog.test-tags ","priority":"low","parent":null,"tags":["env:hostile","role:highlander","tag:the_one_and_only"],"aggregation_key":"chef.handler.datadog.test-tags-retries","alert_type":"success","event_type":"config_management.run","source_type_name":"chef","title":"Chef
158
+ completed in 5 seconds on chef.handler.datadog.test-tags ","text":"Chef updated
159
+ 0 resources out of 0 resources total.","host":"chef.handler.datadog.test-tags","device":null}'
160
+ headers:
161
+ Accept-Encoding:
162
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
163
+ Accept:
164
+ - "*/*"
165
+ User-Agent:
166
+ - Ruby
167
+ Content-Type:
168
+ - application/json
169
+ response:
170
+ status:
171
+ code: 202
172
+ message: Accepted
173
+ headers:
174
+ Content-Type:
175
+ - text/json; charset=UTF-8
176
+ Date:
177
+ - Sun, 05 Apr 2015 15:49:23 GMT
178
+ Server:
179
+ - dogdispatcher/6.1.23
180
+ Strict-Transport-Security:
181
+ - max-age=15724800;
182
+ Content-Length:
183
+ - '420'
184
+ Connection:
185
+ - keep-alive
186
+ body:
187
+ encoding: UTF-8
188
+ string: '{"status": "ok", "event": {"priority": "low", "date_happened": 1428248966,
189
+ "handle": null, "title": "Chef completed in 5 seconds on chef.handler.datadog.test-tags
190
+ ", "url": "https://app.datadoghq.com/event/event?id=2751230185062799345",
191
+ "text": "Chef updated 0 resources out of 0 resources total.", "tags": ["env:hostile",
192
+ "role:highlander", "tag:the_one_and_only"], "related_event_id": null, "id":
193
+ 2751230185062799345}}'
194
+ http_version:
195
+ recorded_at: Sun, 05 Apr 2015 15:49:26 GMT
196
+ - request:
197
+ method: put
198
+ uri: https://app.datadoghq.com/api/v1/tags/hosts/chef.handler.datadog.test-tags-retries?api_key=<API_KEY>&application_key=<APPLICATION_KEY>&source=chef
199
+ body:
200
+ encoding: UTF-8
201
+ string: '{"tags":["env:hostile","role:highlander","tag:the_one_and_only"]}'
202
+ headers:
203
+ Accept-Encoding:
204
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
205
+ Accept:
206
+ - "*/*"
207
+ User-Agent:
208
+ - Ruby
209
+ Content-Type:
210
+ - application/json
211
+ response:
212
+ status:
213
+ code: 404
214
+ message: Not Found
215
+ headers:
216
+ Cache-Control:
217
+ - no-cache
218
+ Content-Type:
219
+ - application/json
220
+ Date:
221
+ - Sun, 05 Apr 2015 15:49:24 GMT
222
+ Pragma:
223
+ - no-cache
224
+ Server:
225
+ - gunicorn/19.1.0
226
+ Strict-Transport-Security:
227
+ - max-age=15724800;
228
+ X-Dd-Debug:
229
+ - mPU4gm+hKkKT8ia9ZdY5CzVKb87xvoCEvNtumo6b6Z8=
230
+ X-Frame-Options:
231
+ - SAMEORIGIN
232
+ Content-Length:
233
+ - '44'
234
+ Connection:
235
+ - keep-alive
236
+ body:
237
+ encoding: UTF-8
238
+ string: '{"errors": ["No host matches that host_id"]}'
239
+ http_version:
240
+ recorded_at: Sun, 05 Apr 2015 15:49:26 GMT
241
+ - request:
242
+ method: put
243
+ uri: https://app.datadoghq.com/api/v1/tags/hosts/chef.handler.datadog.test-tags-retries?api_key=<API_KEY>&application_key=<APPLICATION_KEY>&source=chef
244
+ body:
245
+ encoding: UTF-8
246
+ string: '{"tags":["env:hostile","role:highlander","tag:the_one_and_only"]}'
247
+ headers:
248
+ Accept-Encoding:
249
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
250
+ Accept:
251
+ - "*/*"
252
+ User-Agent:
253
+ - Ruby
254
+ Content-Type:
255
+ - application/json
256
+ response:
257
+ status:
258
+ code: 404
259
+ message: Not Found
260
+ headers:
261
+ Cache-Control:
262
+ - no-cache
263
+ Content-Type:
264
+ - application/json
265
+ Date:
266
+ - Sun, 05 Apr 2015 15:49:24 GMT
267
+ Pragma:
268
+ - no-cache
269
+ Server:
270
+ - gunicorn/19.1.0
271
+ Strict-Transport-Security:
272
+ - max-age=15724800;
273
+ X-Dd-Debug:
274
+ - mPU4gm+hKkKT8ia9ZdY5CzVKb87xvoCEvNtumo6b6Z8=
275
+ X-Frame-Options:
276
+ - SAMEORIGIN
277
+ Content-Length:
278
+ - '44'
279
+ Connection:
280
+ - keep-alive
281
+ body:
282
+ encoding: UTF-8
283
+ string: '{"errors": ["No host matches that host_id"]}'
284
+ http_version:
285
+ recorded_at: Sun, 05 Apr 2015 15:49:26 GMT
286
+ - request:
287
+ method: put
288
+ uri: https://app.datadoghq.com/api/v1/tags/hosts/chef.handler.datadog.test-tags-retries?api_key=<API_KEY>&application_key=<APPLICATION_KEY>&source=chef
289
+ body:
290
+ encoding: UTF-8
291
+ string: '{"tags":["env:hostile","role:highlander","tag:the_one_and_only"]}'
292
+ headers:
293
+ Accept-Encoding:
294
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
295
+ Accept:
296
+ - "*/*"
297
+ User-Agent:
298
+ - Ruby
299
+ Content-Type:
300
+ - application/json
301
+ response:
302
+ status:
303
+ code: 404
304
+ message: Not Found
305
+ headers:
306
+ Cache-Control:
307
+ - no-cache
308
+ Content-Type:
309
+ - application/json
310
+ Date:
311
+ - Sun, 05 Apr 2015 15:49:24 GMT
312
+ Pragma:
313
+ - no-cache
314
+ Server:
315
+ - gunicorn/19.1.0
316
+ Strict-Transport-Security:
317
+ - max-age=15724800;
318
+ X-Dd-Debug:
319
+ - mPU4gm+hKkKT8ia9ZdY5CzVKb87xvoCEvNtumo6b6Z8=
320
+ X-Frame-Options:
321
+ - SAMEORIGIN
322
+ Content-Length:
323
+ - '44'
324
+ Connection:
325
+ - keep-alive
326
+ body:
327
+ encoding: UTF-8
328
+ string: '{"errors": ["No host matches that host_id"]}'
329
+ http_version:
330
+ recorded_at: Sun, 05 Apr 2015 15:49:26 GMT
331
+ recorded_with: VCR 2.9.3