dogapi 1.22.0 → 1.23.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 +4 -4
- data/.gitignore +1 -0
- data/.rspec +1 -1
- data/.rubocop.yml +13 -0
- data/.travis.yml +3 -1
- data/CHANGELOG.md +16 -1
- data/Gemfile +6 -3
- data/README.rdoc +1 -1
- data/Rakefile +8 -15
- data/lib/capistrano/datadog.rb +12 -12
- data/lib/capistrano/datadog/v2.rb +5 -5
- data/lib/capistrano/datadog/v3.rb +9 -4
- data/lib/dogapi/common.rb +43 -39
- data/lib/dogapi/event.rb +4 -4
- data/lib/dogapi/facade.rb +57 -54
- data/lib/dogapi/metric.rb +2 -2
- data/lib/dogapi/v1/alert.rb +17 -80
- data/lib/dogapi/v1/comment.rb +8 -39
- data/lib/dogapi/v1/dash.rb +20 -67
- data/lib/dogapi/v1/embed.rb +11 -57
- data/lib/dogapi/v1/event.rb +37 -72
- data/lib/dogapi/v1/metric.rb +17 -46
- data/lib/dogapi/v1/monitor.rb +54 -194
- data/lib/dogapi/v1/screenboard.rb +8 -77
- data/lib/dogapi/v1/search.rb +5 -11
- data/lib/dogapi/v1/service_check.rb +6 -15
- data/lib/dogapi/v1/snapshot.rb +10 -15
- data/lib/dogapi/v1/tag.rb +39 -99
- data/lib/dogapi/v1/user.rb +15 -69
- data/lib/dogapi/version.rb +1 -1
- data/spec/integration/alert_spec.rb +48 -0
- data/spec/integration/comment_spec.rb +32 -0
- data/spec/integration/common_spec.rb +32 -0
- data/spec/integration/dash_spec.rb +60 -0
- data/spec/integration/embed_spec.rb +43 -0
- data/spec/integration/event_spec.rb +73 -0
- data/spec/integration/metric_spec.rb +96 -0
- data/spec/integration/monitor_spec.rb +106 -0
- data/spec/integration/screenboard_spec.rb +61 -0
- data/spec/integration/search_spec.rb +11 -0
- data/spec/integration/service_check_spec.rb +12 -0
- data/spec/integration/snapshot_spec.rb +24 -0
- data/spec/integration/tag_spec.rb +66 -0
- data/spec/integration/user_spec.rb +46 -0
- data/spec/spec_helper.rb +85 -16
- data/spec/unit/common_spec.rb +101 -0
- data/spec/unit/facade_spec.rb +79 -0
- metadata +55 -52
- data/spec/alerts_spec.rb +0 -33
- data/spec/common_spec.rb +0 -37
- data/spec/facade_spec.rb +0 -166
- data/spec/support/cassettes/Alerts/create/returns_HTTP_code_200.yml +0 -114
- data/spec/support/cassettes/Alerts/create/returns_a_valid_event_ID.yml +0 -114
- data/spec/support/cassettes/Alerts/create/returns_the_same_query_as_sent.yml +0 -114
- data/spec/support/cassettes/Facade/Events/emits_aggregate_events.yml +0 -193
- data/spec/support/cassettes/Facade/Events/emits_events_and_retrieves_them.yml +0 -100
- data/spec/support/cassettes/Facade/Events/emits_events_with_specified_priority.yml +0 -98
- data/spec/support/cassettes/Facade/Tags/adds_updates_and_detaches_tags.yml +0 -442
- data/tests/test_alerts.rb +0 -38
- data/tests/test_base.rb +0 -30
- data/tests/test_client.rb +0 -23
- data/tests/test_comments.rb +0 -39
- data/tests/test_dashes.rb +0 -85
- data/tests/test_embed.rb +0 -194
- data/tests/test_monitors.rb +0 -192
- data/tests/test_screenboard.rb +0 -90
- data/tests/test_search.rb +0 -20
- data/tests/test_snapshot.rb +0 -28
- data/tests/test_users.rb +0 -65
data/lib/dogapi/v1/monitor.rb
CHANGED
@@ -8,255 +8,115 @@ module Dogapi
|
|
8
8
|
API_VERSION = 'v1'
|
9
9
|
|
10
10
|
def monitor(type, query, options = {})
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
}
|
11
|
+
body = {
|
12
|
+
'type' => type,
|
13
|
+
'query' => query,
|
14
|
+
}.merge options
|
16
15
|
|
17
|
-
|
18
|
-
'type' => type,
|
19
|
-
'query' => query,
|
20
|
-
}.merge options
|
21
|
-
|
22
|
-
request(Net::HTTP::Post, "/api/#{API_VERSION}/monitor", params, body, true)
|
23
|
-
rescue Exception => e
|
24
|
-
suppress_error_if_silent e
|
25
|
-
end
|
16
|
+
request(Net::HTTP::Post, "/api/#{API_VERSION}/monitor", nil, body, true)
|
26
17
|
end
|
27
18
|
|
28
19
|
def update_monitor(monitor_id, query, options)
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
:application_key => @application_key
|
33
|
-
}
|
34
|
-
|
35
|
-
body = {
|
36
|
-
'query' => query,
|
37
|
-
}.merge options
|
20
|
+
body = {
|
21
|
+
'query' => query,
|
22
|
+
}.merge options
|
38
23
|
|
39
|
-
|
40
|
-
rescue Exception => e
|
41
|
-
suppress_error_if_silent e
|
42
|
-
end
|
24
|
+
request(Net::HTTP::Put, "/api/#{API_VERSION}/monitor/#{monitor_id}", nil, body, true)
|
43
25
|
end
|
44
26
|
|
45
27
|
def get_monitor(monitor_id, options = {})
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
# :group_states is an optional list of statuses to filter returned
|
53
|
-
# groups. If no value is given then no group states will be returned.
|
54
|
-
# Possible values are: "all", "ok", "warn", "alert", "no data".
|
55
|
-
params[:group_states] = options[:group_states].join(',') if options[:group_states]
|
28
|
+
# :group_states is an optional list of statuses to filter returned
|
29
|
+
# groups. If no value is given then no group states will be returned.
|
30
|
+
# Possible values are: "all", "ok", "warn", "alert", "no data".
|
31
|
+
extra_params = {}
|
32
|
+
extra_params[:group_states] = options[:group_states].join(',') if options[:group_states]
|
56
33
|
|
57
|
-
|
58
|
-
rescue Exception => e
|
59
|
-
suppress_error_if_silent e
|
60
|
-
end
|
34
|
+
request(Net::HTTP::Get, "/api/#{API_VERSION}/monitor/#{monitor_id}", extra_params, nil, false)
|
61
35
|
end
|
62
36
|
|
63
37
|
def delete_monitor(monitor_id)
|
64
|
-
|
65
|
-
params = {
|
66
|
-
:api_key => @api_key,
|
67
|
-
:application_key => @application_key
|
68
|
-
}
|
69
|
-
|
70
|
-
request(Net::HTTP::Delete, "/api/#{API_VERSION}/monitor/#{monitor_id}", params, nil, false)
|
71
|
-
rescue Exception => e
|
72
|
-
suppress_error_if_silent e
|
73
|
-
end
|
38
|
+
request(Net::HTTP::Delete, "/api/#{API_VERSION}/monitor/#{monitor_id}", nil, nil, false)
|
74
39
|
end
|
75
40
|
|
76
41
|
def get_all_monitors(options = {})
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
# groups. If no value is given then no group states will be returned.
|
85
|
-
# Possible values are: "all", "ok", "warn", "alert", "no data".
|
86
|
-
if options[:group_states]
|
87
|
-
params[:group_states] = options[:group_states]
|
88
|
-
params[:group_states] = params[:group_states].join(',') if params[:group_states].respond_to?(:join)
|
89
|
-
end
|
90
|
-
|
91
|
-
# :tags is an optional list of scope tags to filter the list of monitors
|
92
|
-
# returned. If no value is given, then all monitors, regardless of
|
93
|
-
# scope, will be returned.
|
94
|
-
if options[:tags]
|
95
|
-
params[:tags] = options[:tags]
|
96
|
-
params[:tags] = params[:tags].join(',') if params[:tags].respond_to?(:join)
|
97
|
-
end
|
98
|
-
|
99
|
-
request(Net::HTTP::Get, "/api/#{API_VERSION}/monitor", params, nil, false)
|
100
|
-
rescue Exception => e
|
101
|
-
suppress_error_if_silent e
|
42
|
+
extra_params = {}
|
43
|
+
# :group_states is an optional list of statuses to filter returned
|
44
|
+
# groups. If no value is given then no group states will be returned.
|
45
|
+
# Possible values are: "all", "ok", "warn", "alert", "no data".
|
46
|
+
if options[:group_states]
|
47
|
+
extra_params[:group_states] = options[:group_states]
|
48
|
+
extra_params[:group_states] = extra_params[:group_states].join(',') if extra_params[:group_states].respond_to?(:join)
|
102
49
|
end
|
103
|
-
end
|
104
50
|
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
request(Net::HTTP::Post, "/api/#{API_VERSION}/monitor/mute_all", params, nil, false)
|
113
|
-
rescue Exception => e
|
114
|
-
suppress_error_if_silent e
|
51
|
+
# :tags is an optional list of scope tags to filter the list of monitors
|
52
|
+
# returned. If no value is given, then all monitors, regardless of
|
53
|
+
# scope, will be returned.
|
54
|
+
if options[:tags]
|
55
|
+
extra_params[:tags] = options[:tags]
|
56
|
+
extra_params[:tags] = extra_params[:tags].join(',') if extra_params[:tags].respond_to?(:join)
|
115
57
|
end
|
58
|
+
|
59
|
+
request(Net::HTTP::Get, "/api/#{API_VERSION}/monitor", extra_params, nil, false)
|
116
60
|
end
|
117
61
|
|
118
|
-
def
|
119
|
-
|
120
|
-
|
121
|
-
:api_key => @api_key,
|
122
|
-
:application_key => @application_key
|
123
|
-
}
|
62
|
+
def mute_monitors
|
63
|
+
request(Net::HTTP::Post, "/api/#{API_VERSION}/monitor/mute_all", nil, nil, false)
|
64
|
+
end
|
124
65
|
|
125
|
-
|
126
|
-
|
127
|
-
suppress_error_if_silent e
|
128
|
-
end
|
66
|
+
def unmute_monitors
|
67
|
+
request(Net::HTTP::Post, "/api/#{API_VERSION}/monitor/unmute_all", nil, nil, false)
|
129
68
|
end
|
130
69
|
|
131
70
|
def mute_monitor(monitor_id, options = {})
|
132
|
-
|
133
|
-
params = {
|
134
|
-
:api_key => @api_key,
|
135
|
-
:application_key => @application_key
|
136
|
-
}
|
137
|
-
|
138
|
-
request(Net::HTTP::Post, "/api/#{API_VERSION}/monitor/#{monitor_id}/mute", params, options, true)
|
139
|
-
rescue Exception => e
|
140
|
-
suppress_error_if_silent e
|
141
|
-
end
|
71
|
+
request(Net::HTTP::Post, "/api/#{API_VERSION}/monitor/#{monitor_id}/mute", nil, options, true)
|
142
72
|
end
|
143
73
|
|
144
74
|
def unmute_monitor(monitor_id, options = {})
|
145
|
-
|
146
|
-
params = {
|
147
|
-
:api_key => @api_key,
|
148
|
-
:application_key => @application_key
|
149
|
-
}
|
150
|
-
|
151
|
-
request(Net::HTTP::Post, "/api/#{API_VERSION}/monitor/#{monitor_id}/unmute", params, options, true)
|
152
|
-
rescue Exception => e
|
153
|
-
suppress_error_if_silent e
|
154
|
-
end
|
75
|
+
request(Net::HTTP::Post, "/api/#{API_VERSION}/monitor/#{monitor_id}/unmute", nil, options, true)
|
155
76
|
end
|
156
77
|
|
157
78
|
#
|
158
79
|
# DOWNTIMES
|
159
80
|
|
160
81
|
def schedule_downtime(scope, options = {})
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
:application_key => @application_key
|
165
|
-
}
|
166
|
-
|
167
|
-
body = {
|
168
|
-
'scope' => scope
|
169
|
-
}.merge options
|
82
|
+
body = {
|
83
|
+
'scope' => scope
|
84
|
+
}.merge options
|
170
85
|
|
171
|
-
|
172
|
-
rescue Exception => e
|
173
|
-
suppress_error_if_silent e
|
174
|
-
end
|
86
|
+
request(Net::HTTP::Post, "/api/#{API_VERSION}/downtime", nil, body, true)
|
175
87
|
end
|
176
88
|
|
177
89
|
def update_downtime(downtime_id, options = {})
|
178
|
-
|
179
|
-
params = {
|
180
|
-
:api_key => @api_key,
|
181
|
-
:application_key => @application_key
|
182
|
-
}
|
183
|
-
|
184
|
-
request(Net::HTTP::Put, "/api/#{API_VERSION}/downtime/#{downtime_id}", params, options, true)
|
185
|
-
rescue Exception => e
|
186
|
-
suppress_error_if_silent e
|
187
|
-
end
|
90
|
+
request(Net::HTTP::Put, "/api/#{API_VERSION}/downtime/#{downtime_id}", nil, options, true)
|
188
91
|
end
|
189
92
|
|
190
93
|
def get_downtime(downtime_id)
|
191
|
-
|
192
|
-
params = {
|
193
|
-
:api_key => @api_key,
|
194
|
-
:application_key => @application_key
|
195
|
-
}
|
196
|
-
|
197
|
-
request(Net::HTTP::Get, "/api/#{API_VERSION}/downtime/#{downtime_id}", params, nil, false)
|
198
|
-
rescue Exception => e
|
199
|
-
suppress_error_if_silent e
|
200
|
-
end
|
94
|
+
request(Net::HTTP::Get, "/api/#{API_VERSION}/downtime/#{downtime_id}", nil, nil, false)
|
201
95
|
end
|
202
96
|
|
203
97
|
def cancel_downtime(downtime_id)
|
204
|
-
|
205
|
-
params = {
|
206
|
-
:api_key => @api_key,
|
207
|
-
:application_key => @application_key
|
208
|
-
}
|
209
|
-
|
210
|
-
request(Net::HTTP::Delete, "/api/#{API_VERSION}/downtime/#{downtime_id}", params, nil, false)
|
211
|
-
rescue Exception => e
|
212
|
-
suppress_error_if_silent e
|
213
|
-
end
|
98
|
+
request(Net::HTTP::Delete, "/api/#{API_VERSION}/downtime/#{downtime_id}", nil, nil, false)
|
214
99
|
end
|
215
100
|
|
216
101
|
def get_all_downtimes(options = {})
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
}
|
222
|
-
|
223
|
-
if options[:current_only]
|
224
|
-
params[:current_only] = options[:current_only]
|
225
|
-
options.delete :current_only
|
226
|
-
end
|
227
|
-
|
228
|
-
request(Net::HTTP::Get, "/api/#{API_VERSION}/downtime", params, nil, false)
|
229
|
-
rescue Exception => e
|
230
|
-
suppress_error_if_silent e
|
102
|
+
extra_params = {}
|
103
|
+
if options[:current_only]
|
104
|
+
extra_params[:current_only] = options[:current_only]
|
105
|
+
options.delete :current_only
|
231
106
|
end
|
107
|
+
|
108
|
+
request(Net::HTTP::Get, "/api/#{API_VERSION}/downtime", extra_params, nil, false)
|
232
109
|
end
|
233
110
|
|
234
111
|
#
|
235
112
|
# HOST MUTING
|
236
113
|
|
237
114
|
def mute_host(hostname, options = {})
|
238
|
-
|
239
|
-
params = {
|
240
|
-
:api_key => @api_key,
|
241
|
-
:application_key => @application_key
|
242
|
-
}
|
243
|
-
|
244
|
-
request(Net::HTTP::Post, "/api/#{API_VERSION}/host/#{hostname}/mute", params, options, true)
|
245
|
-
rescue Exception => e
|
246
|
-
suppress_error_if_silent e
|
247
|
-
end
|
115
|
+
request(Net::HTTP::Post, "/api/#{API_VERSION}/host/#{hostname}/mute", nil, options, true)
|
248
116
|
end
|
249
|
-
def unmute_host(hostname)
|
250
|
-
begin
|
251
|
-
params = {
|
252
|
-
:api_key => @api_key,
|
253
|
-
:application_key => @application_key
|
254
|
-
}
|
255
117
|
|
256
|
-
|
257
|
-
|
258
|
-
suppress_error_if_silent e
|
259
|
-
end
|
118
|
+
def unmute_host(hostname)
|
119
|
+
request(Net::HTTP::Post, "/api/#{API_VERSION}/host/#{hostname}/unmute", nil, {}, true)
|
260
120
|
end
|
261
121
|
end
|
262
122
|
|
@@ -5,103 +5,34 @@ module Dogapi
|
|
5
5
|
|
6
6
|
class ScreenboardService < Dogapi::APIService
|
7
7
|
|
8
|
-
API_VERSION =
|
8
|
+
API_VERSION = 'v1'
|
9
9
|
|
10
10
|
def create_screenboard(description)
|
11
|
-
|
12
|
-
begin
|
13
|
-
params = {
|
14
|
-
:api_key => @api_key,
|
15
|
-
:application_key => @application_key
|
16
|
-
}
|
17
|
-
|
18
|
-
body = description
|
19
|
-
|
20
|
-
request(Net::HTTP::Post, "/api/#{API_VERSION}/screen", params, description, true)
|
21
|
-
rescue Exception => e
|
22
|
-
suppress_error_if_silent e
|
23
|
-
end
|
11
|
+
request(Net::HTTP::Post, "/api/#{API_VERSION}/screen", nil, description, true)
|
24
12
|
end
|
25
13
|
|
26
14
|
def update_screenboard(board_id, description)
|
27
|
-
|
28
|
-
begin
|
29
|
-
params = {
|
30
|
-
:api_key => @api_key,
|
31
|
-
:application_key => @application_key
|
32
|
-
}
|
33
|
-
|
34
|
-
body = description
|
35
|
-
|
36
|
-
request(Net::HTTP::Put, "/api/#{API_VERSION}/screen/#{board_id}", params, body, true)
|
37
|
-
rescue Exception => e
|
38
|
-
suppress_error_if_silent e
|
39
|
-
end
|
15
|
+
request(Net::HTTP::Put, "/api/#{API_VERSION}/screen/#{board_id}", nil, description, true)
|
40
16
|
end
|
41
17
|
|
42
18
|
def get_screenboard(board_id)
|
43
|
-
|
44
|
-
params = {
|
45
|
-
:api_key => @api_key,
|
46
|
-
:application_key => @application_key
|
47
|
-
}
|
48
|
-
|
49
|
-
request(Net::HTTP::Get, "/api/#{API_VERSION}/screen/#{board_id}", params, nil, false)
|
50
|
-
rescue Exception => e
|
51
|
-
suppress_error_if_silent e
|
52
|
-
end
|
19
|
+
request(Net::HTTP::Get, "/api/#{API_VERSION}/screen/#{board_id}", nil, nil, false)
|
53
20
|
end
|
54
21
|
|
55
22
|
def get_all_screenboards()
|
56
|
-
|
57
|
-
params = {
|
58
|
-
:api_key => @api_key,
|
59
|
-
:application_key => @application_key
|
60
|
-
}
|
61
|
-
|
62
|
-
request(Net::HTTP::Get, "/api/#{API_VERSION}/screen", params, nil, false)
|
63
|
-
rescue Exception => e
|
64
|
-
suppress_error_if_silent e
|
65
|
-
end
|
23
|
+
request(Net::HTTP::Get, "/api/#{API_VERSION}/screen", nil, nil, false)
|
66
24
|
end
|
67
25
|
|
68
26
|
def delete_screenboard(board_id)
|
69
|
-
|
70
|
-
params = {
|
71
|
-
:api_key => @api_key,
|
72
|
-
:application_key => @application_key
|
73
|
-
}
|
74
|
-
|
75
|
-
request(Net::HTTP::Delete, "/api/#{API_VERSION}/screen/#{board_id}", params, nil, false)
|
76
|
-
rescue Exception => e
|
77
|
-
suppress_error_if_silent e
|
78
|
-
end
|
27
|
+
request(Net::HTTP::Delete, "/api/#{API_VERSION}/screen/#{board_id}", nil, nil, false)
|
79
28
|
end
|
80
29
|
|
81
30
|
def share_screenboard(board_id)
|
82
|
-
|
83
|
-
params = {
|
84
|
-
:api_key => @api_key,
|
85
|
-
:application_key => @application_key
|
86
|
-
}
|
87
|
-
|
88
|
-
request(Net::HTTP::Get, "/api/#{API_VERSION}/screen/share/#{board_id}", params, nil, false)
|
89
|
-
rescue Exception => e
|
90
|
-
suppress_error_if_silent e
|
91
|
-
end
|
31
|
+
request(Net::HTTP::Get, "/api/#{API_VERSION}/screen/share/#{board_id}", nil, nil, false)
|
92
32
|
end
|
93
33
|
|
94
34
|
def revoke_screenboard(board_id)
|
95
|
-
|
96
|
-
params = {
|
97
|
-
:api_key => @api_key,
|
98
|
-
:application_key => @application_key
|
99
|
-
}
|
100
|
-
|
101
|
-
request(Net::HTTP::Delete, "/api/#{API_VERSION}/screen/share/#{board_id}", params, nil, false)
|
102
|
-
rescue Exception => e
|
103
|
-
suppress_error_if_silent e
|
104
|
-
end
|
35
|
+
request(Net::HTTP::Delete, "/api/#{API_VERSION}/screen/share/#{board_id}", nil, nil, false)
|
105
36
|
end
|
106
37
|
|
107
38
|
end
|
data/lib/dogapi/v1/search.rb
CHANGED
@@ -5,20 +5,14 @@ module Dogapi
|
|
5
5
|
|
6
6
|
class SearchService < Dogapi::APIService
|
7
7
|
|
8
|
-
API_VERSION =
|
8
|
+
API_VERSION = 'v1'
|
9
9
|
|
10
10
|
def search(query)
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
:application_key => @application_key,
|
15
|
-
:q => query
|
16
|
-
}
|
11
|
+
extra_params = {
|
12
|
+
:q => query
|
13
|
+
}
|
17
14
|
|
18
|
-
|
19
|
-
rescue Exception => e
|
20
|
-
suppress_error_if_silent e
|
21
|
-
end
|
15
|
+
request(Net::HTTP::Get, "/api/#{API_VERSION}/search", extra_params, nil, false)
|
22
16
|
end
|
23
17
|
|
24
18
|
end
|
@@ -8,22 +8,13 @@ module Dogapi
|
|
8
8
|
API_VERSION = 'v1'
|
9
9
|
|
10
10
|
def service_check(check, host, status, options = {})
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
11
|
+
body = {
|
12
|
+
'check' => check,
|
13
|
+
'host_name' => host,
|
14
|
+
'status' => status
|
15
|
+
}.merge options
|
16
16
|
|
17
|
-
|
18
|
-
'check' => check,
|
19
|
-
'host_name' => host,
|
20
|
-
'status' => status
|
21
|
-
}.merge options
|
22
|
-
|
23
|
-
request(Net::HTTP::Post, "/api/#{API_VERSION}/check_run", params, body, true)
|
24
|
-
rescue Exception => e
|
25
|
-
suppress_error_if_silent e
|
26
|
-
end
|
17
|
+
request(Net::HTTP::Post, "/api/#{API_VERSION}/check_run", nil, body, true)
|
27
18
|
end
|
28
19
|
|
29
20
|
end
|