esp_sdk 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/CHANGELOG.md +6 -1
  4. data/Gemfile.lock +11 -1
  5. data/README.md +287 -28
  6. data/bin/esp +15 -0
  7. data/esp_sdk.gemspec +2 -0
  8. data/lib/esp/aws_clients.rb +60 -0
  9. data/lib/esp/commands/add_external_account.rb +57 -0
  10. data/lib/esp/commands/commands_tasks.rb +106 -0
  11. data/lib/esp/commands/console.rb +68 -0
  12. data/lib/esp/extensions/active_resource/formats/json_api_format.rb +12 -4
  13. data/lib/esp/extensions/active_resource/paginated_collection.rb +5 -5
  14. data/lib/esp/extensions/active_resource/validations.rb +1 -1
  15. data/lib/esp/external_account_creator.rb +77 -0
  16. data/lib/esp/resources/alert.rb +30 -34
  17. data/lib/esp/resources/cloud_trail_event.rb +5 -0
  18. data/lib/esp/resources/contact_request.rb +6 -5
  19. data/lib/esp/resources/custom_signature.rb +32 -56
  20. data/lib/esp/resources/dashboard.rb +8 -1
  21. data/lib/esp/resources/external_account.rb +27 -19
  22. data/lib/esp/resources/organization.rb +27 -3
  23. data/lib/esp/resources/region.rb +15 -3
  24. data/lib/esp/resources/report.rb +28 -24
  25. data/lib/esp/resources/resource.rb +26 -10
  26. data/lib/esp/resources/service.rb +5 -0
  27. data/lib/esp/resources/signature.rb +28 -12
  28. data/lib/esp/resources/stat.rb +21 -2
  29. data/lib/esp/resources/stat_custom_signature.rb +30 -4
  30. data/lib/esp/resources/stat_region.rb +29 -3
  31. data/lib/esp/resources/stat_service.rb +29 -3
  32. data/lib/esp/resources/stat_signature.rb +29 -3
  33. data/lib/esp/resources/sub_organization.rb +27 -3
  34. data/lib/esp/resources/suppression/region.rb +14 -32
  35. data/lib/esp/resources/suppression/signature.rb +14 -40
  36. data/lib/esp/resources/suppression/unique_identifier.rb +8 -6
  37. data/lib/esp/resources/suppression.rb +43 -5
  38. data/lib/esp/resources/tag.rb +5 -0
  39. data/lib/esp/resources/team.rb +33 -9
  40. data/lib/esp/resources/user.rb +29 -3
  41. data/lib/esp/version.rb +1 -1
  42. data/lib/esp.rb +25 -5
  43. data/test/esp/aws_clients_test.rb +101 -0
  44. data/test/esp/extensions/active_resource/formats/json_api_format_test.rb +26 -12
  45. data/test/esp/extensions/active_resource/paginated_collection_test.rb +93 -72
  46. data/test/esp/extensions/active_resource/validations_test.rb +2 -12
  47. data/test/esp/external_account_creator_test.rb +153 -0
  48. data/test/esp/resources/alert_test.rb +71 -33
  49. data/test/esp/resources/cloud_trail_event_test.rb +9 -1
  50. data/test/esp/resources/contact_request_test.rb +8 -0
  51. data/test/esp/resources/custom_signature_test.rb +8 -0
  52. data/test/esp/resources/dashboard_test.rb +8 -0
  53. data/test/esp/resources/external_account_test.rb +8 -0
  54. data/test/esp/resources/metadata_test.rb +1 -1
  55. data/test/esp/resources/organization_test.rb +8 -0
  56. data/test/esp/resources/region_test.rb +12 -4
  57. data/test/esp/resources/report_test.rb +13 -4
  58. data/test/esp/resources/resource_test.rb +208 -64
  59. data/test/esp/resources/service_test.rb +8 -0
  60. data/test/esp/resources/signature_test.rb +15 -9
  61. data/test/esp/resources/stat_custom_signature_test.rb +9 -1
  62. data/test/esp/resources/stat_region_test.rb +23 -1
  63. data/test/esp/resources/stat_service_test.rb +23 -1
  64. data/test/esp/resources/stat_signature_test.rb +23 -1
  65. data/test/esp/resources/stat_test.rb +52 -8
  66. data/test/esp/resources/sub_organization_test.rb +8 -0
  67. data/test/esp/resources/suppression/region_test.rb +10 -2
  68. data/test/esp/resources/suppression/signature_test.rb +10 -2
  69. data/test/esp/resources/suppression/unique_identifier_test.rb +10 -2
  70. data/test/esp/resources/suppression_test.rb +74 -14
  71. data/test/esp/resources/tag_test.rb +9 -1
  72. data/test/esp/resources/team_test.rb +8 -0
  73. data/test/esp/resources/user_test.rb +49 -19
  74. data/test/esp_test.rb +19 -1
  75. data/test/factories/alerts.rb +70 -0
  76. data/test/factories/organizations.rb +2 -2
  77. data/test/factories/regions.rb +1 -1
  78. data/test/factories/sub_organizations.rb +1 -1
  79. data/test/factories/suppressions.rb +109 -3
  80. data/test/factories/users.rb +65 -2
  81. data/test/test_helper.rb +9 -8
  82. metadata +41 -69
  83. data/bin/esp_console +0 -67
  84. data/rdoc/ActiveResource/Formats.html +0 -178
  85. data/rdoc/ActiveResource/PaginatedCollection.html +0 -912
  86. data/rdoc/ActiveResource.html +0 -182
  87. data/rdoc/ESP/Alert.html +0 -808
  88. data/rdoc/ESP/CloudTrailEvent.html +0 -377
  89. data/rdoc/ESP/ContactRequest.html +0 -368
  90. data/rdoc/ESP/CustomSignature.html +0 -748
  91. data/rdoc/ESP/Dashboard.html +0 -357
  92. data/rdoc/ESP/ExternalAccount.html +0 -567
  93. data/rdoc/ESP/Metadata.html +0 -411
  94. data/rdoc/ESP/Organization.html +0 -592
  95. data/rdoc/ESP/Region.html +0 -401
  96. data/rdoc/ESP/Report.html +0 -624
  97. data/rdoc/ESP/Service.html +0 -382
  98. data/rdoc/ESP/Signature.html +0 -557
  99. data/rdoc/ESP/Stat.html +0 -1780
  100. data/rdoc/ESP/StatCustomSignature.html +0 -1601
  101. data/rdoc/ESP/StatRegion.html +0 -1600
  102. data/rdoc/ESP/StatService.html +0 -1600
  103. data/rdoc/ESP/StatSignature.html +0 -1600
  104. data/rdoc/ESP/SubOrganization.html +0 -542
  105. data/rdoc/ESP/Suppression/Region.html +0 -456
  106. data/rdoc/ESP/Suppression/Signature.html +0 -472
  107. data/rdoc/ESP/Suppression/UniqueIdentifier.html +0 -419
  108. data/rdoc/ESP/Suppression.html +0 -651
  109. data/rdoc/ESP/Tag.html +0 -373
  110. data/rdoc/ESP/Team.html +0 -586
  111. data/rdoc/ESP/User.html +0 -485
  112. data/rdoc/ESP.html +0 -549
  113. data/rdoc/README_md.html +0 -503
  114. data/rdoc/created.rid +0 -31
  115. data/rdoc/images/add.png +0 -0
  116. data/rdoc/images/arrow_up.png +0 -0
  117. data/rdoc/images/brick.png +0 -0
  118. data/rdoc/images/brick_link.png +0 -0
  119. data/rdoc/images/bug.png +0 -0
  120. data/rdoc/images/bullet_black.png +0 -0
  121. data/rdoc/images/bullet_toggle_minus.png +0 -0
  122. data/rdoc/images/bullet_toggle_plus.png +0 -0
  123. data/rdoc/images/date.png +0 -0
  124. data/rdoc/images/delete.png +0 -0
  125. data/rdoc/images/find.png +0 -0
  126. data/rdoc/images/loadingAnimation.gif +0 -0
  127. data/rdoc/images/macFFBgHack.png +0 -0
  128. data/rdoc/images/package.png +0 -0
  129. data/rdoc/images/page_green.png +0 -0
  130. data/rdoc/images/page_white_text.png +0 -0
  131. data/rdoc/images/page_white_width.png +0 -0
  132. data/rdoc/images/plugin.png +0 -0
  133. data/rdoc/images/ruby.png +0 -0
  134. data/rdoc/images/tag_blue.png +0 -0
  135. data/rdoc/images/tag_green.png +0 -0
  136. data/rdoc/images/transparent.png +0 -0
  137. data/rdoc/images/wrench.png +0 -0
  138. data/rdoc/images/wrench_orange.png +0 -0
  139. data/rdoc/images/zoom.png +0 -0
  140. data/rdoc/index.html +0 -136
  141. data/rdoc/js/darkfish.js +0 -155
  142. data/rdoc/js/jquery.js +0 -4
  143. data/rdoc/js/navigation.js +0 -142
  144. data/rdoc/js/search.js +0 -94
  145. data/rdoc/js/search_index.js +0 -1
  146. data/rdoc/js/searcher.js +0 -228
  147. data/rdoc/rdoc.css +0 -595
  148. data/rdoc/table_of_contents.html +0 -942
data/rdoc/ESP/Tag.html DELETED
@@ -1,373 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
-
7
- <title>class ESP::Tag - ESPSDK</title>
8
-
9
- <link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet">
10
-
11
- <script type="text/javascript">
12
- var rdoc_rel_prefix = "../";
13
- </script>
14
-
15
- <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
16
- <script type="text/javascript" charset="utf-8" src="../js/navigation.js"></script>
17
- <script type="text/javascript" charset="utf-8" src="../js/search_index.js"></script>
18
- <script type="text/javascript" charset="utf-8" src="../js/search.js"></script>
19
- <script type="text/javascript" charset="utf-8" src="../js/searcher.js"></script>
20
- <script type="text/javascript" charset="utf-8" src="../js/darkfish.js"></script>
21
-
22
-
23
- <body id="top" class="class">
24
- <nav id="metadata">
25
- <nav id="home-section" class="section">
26
- <h3 class="section-header">
27
- <a href="../index.html">Home</a>
28
- <a href="../table_of_contents.html#classes">Classes</a>
29
- <a href="../table_of_contents.html#methods">Methods</a>
30
- </h3>
31
- </nav>
32
-
33
-
34
- <nav id="search-section" class="section project-section" class="initially-hidden">
35
- <form action="#" method="get" accept-charset="utf-8">
36
- <h3 class="section-header">
37
- <input type="text" name="search" placeholder="Search" id="search-field"
38
- title="Type to search, Up and Down to navigate, Enter to load">
39
- </h3>
40
- </form>
41
-
42
- <ul id="search-results" class="initially-hidden"></ul>
43
- </nav>
44
-
45
-
46
-
47
-
48
- <div id="file-metadata">
49
- <nav id="file-list-section" class="section">
50
- <h3 class="section-header">Defined In</h3>
51
- <ul>
52
- <li>lib/esp/resources/tag.rb
53
- </ul>
54
- </nav>
55
-
56
-
57
- </div>
58
-
59
- <div id="class-metadata">
60
-
61
- <nav id="parent-class-section" class="section">
62
- <h3 class="section-header">Parent</h3>
63
-
64
- <p class="link">ESP::Resource
65
-
66
- </nav>
67
-
68
-
69
-
70
- <!-- Method Quickref -->
71
- <nav id="method-list-section" class="section">
72
- <h3 class="section-header">Methods</h3>
73
-
74
- <ul class="link-list">
75
-
76
- <li class="calls-super" ><a href="#method-c-find">::find</a>
77
-
78
- <li ><a href="#method-c-for_alert">::for_alert</a>
79
-
80
- <li ><a href="#method-i-destroy">#destroy</a>
81
-
82
- <li ><a href="#method-i-save">#save</a>
83
-
84
- </ul>
85
- </nav>
86
-
87
- </div>
88
-
89
- <div id="project-metadata">
90
- <nav id="fileindex-section" class="section project-section">
91
- <h3 class="section-header">Pages</h3>
92
-
93
- <ul>
94
-
95
- <li class="file"><a href="../README_md.html">README</a>
96
-
97
- </ul>
98
- </nav>
99
-
100
- <nav id="classindex-section" class="section project-section">
101
- <h3 class="section-header">Class and Module Index</h3>
102
-
103
- <ul class="link-list">
104
-
105
- <li><a href="../ActiveResource.html">ActiveResource</a>
106
-
107
- <li><a href="../ActiveResource/Formats.html">ActiveResource::Formats</a>
108
-
109
- <li><a href="../ActiveResource/PaginatedCollection.html">ActiveResource::PaginatedCollection</a>
110
-
111
- <li><a href="../ESP.html">ESP</a>
112
-
113
- <li><a href="../ESP/Alert.html">ESP::Alert</a>
114
-
115
- <li><a href="../ESP/CloudTrailEvent.html">ESP::CloudTrailEvent</a>
116
-
117
- <li><a href="../ESP/ContactRequest.html">ESP::ContactRequest</a>
118
-
119
- <li><a href="../ESP/CustomSignature.html">ESP::CustomSignature</a>
120
-
121
- <li><a href="../ESP/Dashboard.html">ESP::Dashboard</a>
122
-
123
- <li><a href="../ESP/ExternalAccount.html">ESP::ExternalAccount</a>
124
-
125
- <li><a href="../ESP/Metadata.html">ESP::Metadata</a>
126
-
127
- <li><a href="../ESP/Organization.html">ESP::Organization</a>
128
-
129
- <li><a href="../ESP/Region.html">ESP::Region</a>
130
-
131
- <li><a href="../ESP/Report.html">ESP::Report</a>
132
-
133
- <li><a href="../ESP/Service.html">ESP::Service</a>
134
-
135
- <li><a href="../ESP/Signature.html">ESP::Signature</a>
136
-
137
- <li><a href="../ESP/Stat.html">ESP::Stat</a>
138
-
139
- <li><a href="../ESP/StatCustomSignature.html">ESP::StatCustomSignature</a>
140
-
141
- <li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>
142
-
143
- <li><a href="../ESP/StatService.html">ESP::StatService</a>
144
-
145
- <li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>
146
-
147
- <li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
148
-
149
- <li><a href="../ESP/Suppression.html">ESP::Suppression</a>
150
-
151
- <li><a href="../ESP/Suppression/Region.html">ESP::Suppression::Region</a>
152
-
153
- <li><a href="../ESP/Suppression/Signature.html">ESP::Suppression::Signature</a>
154
-
155
- <li><a href="../ESP/Suppression/UniqueIdentifier.html">ESP::Suppression::UniqueIdentifier</a>
156
-
157
- <li><a href="../ESP/Tag.html">ESP::Tag</a>
158
-
159
- <li><a href="../ESP/Team.html">ESP::Team</a>
160
-
161
- <li><a href="../ESP/User.html">ESP::User</a>
162
-
163
- </ul>
164
- </nav>
165
-
166
- </div>
167
- </nav>
168
-
169
- <div id="documentation">
170
- <h1 class="class">class ESP::Tag</h1>
171
-
172
- <div id="description" class="description">
173
-
174
- </div><!-- description -->
175
-
176
-
177
-
178
-
179
- <section id="5Buntitled-5D" class="documentation-section">
180
-
181
-
182
-
183
-
184
-
185
-
186
-
187
-
188
- <!-- Methods -->
189
-
190
- <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
191
- <h3 class="section-header">Public Class Methods</h3>
192
-
193
-
194
- <div id="method-c-find" class="method-detail ">
195
-
196
-
197
- <div class="method-heading">
198
- <span class="method-callseq">
199
- find(id)
200
- </span>
201
-
202
- <span class="method-click-advice">click to toggle source</span>
203
-
204
- </div>
205
-
206
-
207
-
208
- <div class="method-description">
209
-
210
- <p>Find a <a href="Tag.html">Tag</a> by id</p>
211
-
212
- <h4 id="method-c-find-label-Parameter">Parameter<span><a href="#method-c-find-label-Parameter">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
213
-
214
- <p><code>id</code> | Required | The ID of the tag to retrieve</p>
215
-
216
-
217
- <div class="method-calls-super">
218
- Calls superclass method
219
-
220
- </div>
221
-
222
-
223
-
224
- <div class="method-source-code" id="find-source">
225
- <pre><span class="ruby-comment"># File lib/esp/resources/tag.rb, line 36</span>
226
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">arguments</span>)
227
- <span class="ruby-identifier">scope</span> = <span class="ruby-identifier">arguments</span>.<span class="ruby-identifier">slice!</span>(<span class="ruby-value">0</span>)
228
- <span class="ruby-identifier">options</span> = (<span class="ruby-identifier">arguments</span>.<span class="ruby-identifier">slice!</span>(<span class="ruby-value">0</span>) <span class="ruby-operator">||</span> {}).<span class="ruby-identifier">with_indifferent_access</span>
229
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">super</span>(<span class="ruby-identifier">scope</span>, <span class="ruby-identifier">options</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">scope</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Numeric</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:from</span>].<span class="ruby-identifier">present?</span>
230
- <span class="ruby-identifier">params</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:params</span>, {}).<span class="ruby-identifier">with_indifferent_access</span>
231
- <span class="ruby-identifier">alert_id</span> = <span class="ruby-identifier">params</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:alert_id</span>)
232
- <span class="ruby-identifier">for_alert</span>(<span class="ruby-identifier">alert_id</span>)
233
- <span class="ruby-keyword">end</span></pre>
234
- </div><!-- find-source -->
235
-
236
- </div>
237
-
238
-
239
-
240
-
241
- </div><!-- find-method -->
242
-
243
-
244
- <div id="method-c-for_alert" class="method-detail ">
245
-
246
- <div class="method-heading">
247
- <span class="method-name">for_alert</span><span
248
- class="method-args">(alert_id = nil)</span>
249
-
250
- <span class="method-click-advice">click to toggle source</span>
251
-
252
- </div>
253
-
254
-
255
- <div class="method-description">
256
-
257
- <p>Returns a paginated collection of tags for the given alert_id Convenience
258
- method to use instead of <a href="Tag.html#method-c-find">::find</a> since
259
- an alert_id is required to return tags.</p>
260
-
261
- <h4 id="method-c-for_alert-label-Parameter">Parameter<span><a href="#method-c-for_alert-label-Parameter">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
262
-
263
- <p><code>alert_id</code> | Required | The ID of the alert to list tags for</p>
264
-
265
- <h4 id="method-c-for_alert-label-Example">Example<span><a href="#method-c-for_alert-label-Example">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
266
-
267
- <pre>alerts = ESP::Tag.for_alert(1194)</pre>
268
-
269
-
270
-
271
-
272
- <div class="method-source-code" id="for_alert-source">
273
- <pre><span class="ruby-comment"># File lib/esp/resources/tag.rb, line 22</span>
274
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">for_alert</span>(<span class="ruby-identifier">alert_id</span> = <span class="ruby-keyword">nil</span>)
275
- <span class="ruby-identifier">fail</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">&quot;You must supply an alert id.&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">alert_id</span>.<span class="ruby-identifier">present?</span>
276
- <span class="ruby-identifier">from</span> = <span class="ruby-node">&quot;#{prefix}alerts/#{alert_id}/tags.json&quot;</span>
277
- <span class="ruby-identifier">find</span>(<span class="ruby-value">:all</span>, <span class="ruby-identifier">from</span><span class="ruby-operator">:</span> <span class="ruby-identifier">from</span>)
278
- <span class="ruby-keyword">end</span></pre>
279
- </div><!-- for_alert-source -->
280
-
281
- </div>
282
-
283
-
284
-
285
-
286
- </div><!-- for_alert-method -->
287
-
288
-
289
- </section><!-- public-class-method-details -->
290
-
291
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
292
- <h3 class="section-header">Public Instance Methods</h3>
293
-
294
-
295
- <div id="method-i-destroy" class="method-detail ">
296
-
297
- <div class="method-heading">
298
- <span class="method-name">destroy</span><span
299
- class="method-args">()</span>
300
-
301
- <span class="method-click-advice">click to toggle source</span>
302
-
303
- </div>
304
-
305
-
306
- <div class="method-description">
307
-
308
- <p>Not Implemented. You cannot destroy a <a href="Tag.html">Tag</a>.</p>
309
-
310
-
311
-
312
-
313
- <div class="method-source-code" id="destroy-source">
314
- <pre><span class="ruby-comment"># File lib/esp/resources/tag.rb, line 9</span>
315
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">destroy</span>
316
- <span class="ruby-identifier">fail</span> <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">NotImplementedError</span>
317
- <span class="ruby-keyword">end</span></pre>
318
- </div><!-- destroy-source -->
319
-
320
- </div>
321
-
322
-
323
-
324
-
325
- </div><!-- destroy-method -->
326
-
327
-
328
- <div id="method-i-save" class="method-detail ">
329
-
330
- <div class="method-heading">
331
- <span class="method-name">save</span><span
332
- class="method-args">()</span>
333
-
334
- <span class="method-click-advice">click to toggle source</span>
335
-
336
- </div>
337
-
338
-
339
- <div class="method-description">
340
-
341
- <p>Not Implemented. You cannot create or update a <a href="Tag.html">Tag</a>.</p>
342
-
343
-
344
-
345
-
346
- <div class="method-source-code" id="save-source">
347
- <pre><span class="ruby-comment"># File lib/esp/resources/tag.rb, line 4</span>
348
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">save</span>
349
- <span class="ruby-identifier">fail</span> <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">NotImplementedError</span>
350
- <span class="ruby-keyword">end</span></pre>
351
- </div><!-- save-source -->
352
-
353
- </div>
354
-
355
-
356
-
357
-
358
- </div><!-- save-method -->
359
-
360
-
361
- </section><!-- public-instance-method-details -->
362
-
363
- </section><!-- 5Buntitled-5D -->
364
-
365
- </div><!-- documentation -->
366
-
367
-
368
- <footer id="validator-badges">
369
- <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
370
- <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 4.0.0.
371
- <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
372
- </footer>
373
-