esp_sdk 2.0.0 → 2.1.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 (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/Region.html DELETED
@@ -1,401 +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::Region - 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/region.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 ><a href="#method-c-all">::all</a>
77
-
78
- <li ><a href="#method-c-find">::find</a>
79
-
80
- <li ><a href="#method-i-destroy">#destroy</a>
81
-
82
- <li ><a href="#method-i-save">#save</a>
83
-
84
- <li ><a href="#method-i-suppress">#suppress</a>
85
-
86
- </ul>
87
- </nav>
88
-
89
- </div>
90
-
91
- <div id="project-metadata">
92
- <nav id="fileindex-section" class="section project-section">
93
- <h3 class="section-header">Pages</h3>
94
-
95
- <ul>
96
-
97
- <li class="file"><a href="../README_md.html">README</a>
98
-
99
- </ul>
100
- </nav>
101
-
102
- <nav id="classindex-section" class="section project-section">
103
- <h3 class="section-header">Class and Module Index</h3>
104
-
105
- <ul class="link-list">
106
-
107
- <li><a href="../ActiveResource.html">ActiveResource</a>
108
-
109
- <li><a href="../ActiveResource/Formats.html">ActiveResource::Formats</a>
110
-
111
- <li><a href="../ActiveResource/PaginatedCollection.html">ActiveResource::PaginatedCollection</a>
112
-
113
- <li><a href="../ESP.html">ESP</a>
114
-
115
- <li><a href="../ESP/Alert.html">ESP::Alert</a>
116
-
117
- <li><a href="../ESP/CloudTrailEvent.html">ESP::CloudTrailEvent</a>
118
-
119
- <li><a href="../ESP/ContactRequest.html">ESP::ContactRequest</a>
120
-
121
- <li><a href="../ESP/CustomSignature.html">ESP::CustomSignature</a>
122
-
123
- <li><a href="../ESP/Dashboard.html">ESP::Dashboard</a>
124
-
125
- <li><a href="../ESP/ExternalAccount.html">ESP::ExternalAccount</a>
126
-
127
- <li><a href="../ESP/Metadata.html">ESP::Metadata</a>
128
-
129
- <li><a href="../ESP/Organization.html">ESP::Organization</a>
130
-
131
- <li><a href="../ESP/Region.html">ESP::Region</a>
132
-
133
- <li><a href="../ESP/Report.html">ESP::Report</a>
134
-
135
- <li><a href="../ESP/Service.html">ESP::Service</a>
136
-
137
- <li><a href="../ESP/Signature.html">ESP::Signature</a>
138
-
139
- <li><a href="../ESP/Stat.html">ESP::Stat</a>
140
-
141
- <li><a href="../ESP/StatCustomSignature.html">ESP::StatCustomSignature</a>
142
-
143
- <li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>
144
-
145
- <li><a href="../ESP/StatService.html">ESP::StatService</a>
146
-
147
- <li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>
148
-
149
- <li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
150
-
151
- <li><a href="../ESP/Suppression.html">ESP::Suppression</a>
152
-
153
- <li><a href="../ESP/Suppression/Region.html">ESP::Suppression::Region</a>
154
-
155
- <li><a href="../ESP/Suppression/Signature.html">ESP::Suppression::Signature</a>
156
-
157
- <li><a href="../ESP/Suppression/UniqueIdentifier.html">ESP::Suppression::UniqueIdentifier</a>
158
-
159
- <li><a href="../ESP/Tag.html">ESP::Tag</a>
160
-
161
- <li><a href="../ESP/Team.html">ESP::Team</a>
162
-
163
- <li><a href="../ESP/User.html">ESP::User</a>
164
-
165
- </ul>
166
- </nav>
167
-
168
- </div>
169
- </nav>
170
-
171
- <div id="documentation">
172
- <h1 class="class">class ESP::Region</h1>
173
-
174
- <div id="description" class="description">
175
-
176
- </div><!-- description -->
177
-
178
-
179
-
180
-
181
- <section id="5Buntitled-5D" class="documentation-section">
182
-
183
-
184
-
185
-
186
-
187
-
188
-
189
-
190
- <!-- Methods -->
191
-
192
- <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
193
- <h3 class="section-header">Public Class Methods</h3>
194
-
195
-
196
- <div id="method-c-all" class="method-detail ">
197
-
198
- <div class="method-heading">
199
- <span class="method-name">all</span><span
200
- class="method-args">()</span>
201
-
202
- <span class="method-click-advice">click to toggle source</span>
203
-
204
- </div>
205
-
206
-
207
- <div class="method-description">
208
-
209
- <p>Return a paginated <a href="Region.html">Region</a> list</p>
210
-
211
-
212
-
213
-
214
- <div class="method-source-code" id="all-source">
215
- <pre><span class="ruby-comment"># File lib/esp/resources/region.rb, line 45</span>
216
- </pre>
217
- </div><!-- all-source -->
218
-
219
- </div>
220
-
221
-
222
-
223
-
224
- </div><!-- all-method -->
225
-
226
-
227
- <div id="method-c-find" class="method-detail ">
228
-
229
-
230
- <div class="method-heading">
231
- <span class="method-callseq">
232
- find(id)
233
- </span>
234
-
235
- <span class="method-click-advice">click to toggle source</span>
236
-
237
- </div>
238
-
239
-
240
-
241
- <div class="method-description">
242
-
243
- <p>Find a <a href="Region.html">Region</a> by id</p>
244
-
245
- <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>
246
-
247
- <p><code>id</code> | Required | The ID of the region to retrieve</p>
248
-
249
-
250
-
251
-
252
- <div class="method-source-code" id="find-source">
253
- <pre><span class="ruby-comment"># File lib/esp/resources/region.rb, line 43</span>
254
- </pre>
255
- </div><!-- find-source -->
256
-
257
- </div>
258
-
259
-
260
-
261
-
262
- </div><!-- find-method -->
263
-
264
-
265
- </section><!-- public-class-method-details -->
266
-
267
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
268
- <h3 class="section-header">Public Instance Methods</h3>
269
-
270
-
271
- <div id="method-i-destroy" class="method-detail ">
272
-
273
- <div class="method-heading">
274
- <span class="method-name">destroy</span><span
275
- class="method-args">()</span>
276
-
277
- <span class="method-click-advice">click to toggle source</span>
278
-
279
- </div>
280
-
281
-
282
- <div class="method-description">
283
-
284
- <p>Not Implemented. You cannot destroy a an <a
285
- href="CloudTrailEvent.html">CloudTrailEvent</a>.</p>
286
-
287
-
288
-
289
-
290
- <div class="method-source-code" id="destroy-source">
291
- <pre><span class="ruby-comment"># File lib/esp/resources/region.rb, line 9</span>
292
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">destroy</span>
293
- <span class="ruby-identifier">fail</span> <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">NotImplementedError</span>
294
- <span class="ruby-keyword">end</span></pre>
295
- </div><!-- destroy-source -->
296
-
297
- </div>
298
-
299
-
300
-
301
-
302
- </div><!-- destroy-method -->
303
-
304
-
305
- <div id="method-i-save" class="method-detail ">
306
-
307
- <div class="method-heading">
308
- <span class="method-name">save</span><span
309
- class="method-args">()</span>
310
-
311
- <span class="method-click-advice">click to toggle source</span>
312
-
313
- </div>
314
-
315
-
316
- <div class="method-description">
317
-
318
- <p>Not Implemented. You cannot create or update a <a
319
- href="CloudTrailEvent.html">CloudTrailEvent</a>.</p>
320
-
321
-
322
-
323
-
324
- <div class="method-source-code" id="save-source">
325
- <pre><span class="ruby-comment"># File lib/esp/resources/region.rb, line 4</span>
326
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">save</span>
327
- <span class="ruby-identifier">fail</span> <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">NotImplementedError</span>
328
- <span class="ruby-keyword">end</span></pre>
329
- </div><!-- save-source -->
330
-
331
- </div>
332
-
333
-
334
-
335
-
336
- </div><!-- save-method -->
337
-
338
-
339
- <div id="method-i-suppress" class="method-detail ">
340
-
341
- <div class="method-heading">
342
- <span class="method-name">suppress</span><span
343
- class="method-args">(arguments = {})</span>
344
-
345
- <span class="method-click-advice">click to toggle source</span>
346
-
347
- </div>
348
-
349
-
350
- <div class="method-description">
351
-
352
- <p>Create a suppression for this region.</p>
353
-
354
- <h4 id="method-i-suppress-label-Parameter">Parameter<span><a href="#method-i-suppress-label-Parameter">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
355
-
356
- <p><code>arguments</code> | Required | A hash of region suppression attributes</p>
357
-
358
- <h5 id="method-i-suppress-label-Valid+Arguments">Valid Arguments<span><a href="#method-i-suppress-label-Valid+Arguments">&para;</a> <a href="#documentation">&uarr;</a></span></h5>
359
-
360
- <p><code>external_account_ids</code> | Required | An Array of the external
361
- accounts identified by <code>external_account_id</code> to suppress the
362
- signature or custom signature on.</p>
363
-
364
- <p><code>reason</code> | Required | The reason for creating the suppression.</p>
365
-
366
- <h4 id="method-i-suppress-label-Example">Example<span><a href="#method-i-suppress-label-Example">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
367
-
368
- <pre>suppress(external_account_ids: [5], reason: &#39;My very good reason for creating this suppression&#39;)</pre>
369
-
370
-
371
-
372
-
373
- <div class="method-source-code" id="suppress-source">
374
- <pre><span class="ruby-comment"># File lib/esp/resources/region.rb, line 27</span>
375
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">suppress</span>(<span class="ruby-identifier">arguments</span> = {})
376
- <span class="ruby-identifier">arguments</span> = <span class="ruby-identifier">arguments</span>.<span class="ruby-identifier">with_indifferent_access</span>
377
- <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">Suppression</span><span class="ruby-operator">::</span><span class="ruby-constant">Region</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">regions</span><span class="ruby-operator">:</span> [<span class="ruby-identifier">code</span>], <span class="ruby-identifier">external_account_ids</span><span class="ruby-operator">:</span> <span class="ruby-constant">Array</span>(<span class="ruby-identifier">arguments</span>[<span class="ruby-value">:external_account_ids</span>]), <span class="ruby-identifier">reason</span><span class="ruby-operator">:</span> <span class="ruby-identifier">arguments</span>[<span class="ruby-value">:reason</span>])
378
- <span class="ruby-keyword">end</span></pre>
379
- </div><!-- suppress-source -->
380
-
381
- </div>
382
-
383
-
384
-
385
-
386
- </div><!-- suppress-method -->
387
-
388
-
389
- </section><!-- public-instance-method-details -->
390
-
391
- </section><!-- 5Buntitled-5D -->
392
-
393
- </div><!-- documentation -->
394
-
395
-
396
- <footer id="validator-badges">
397
- <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
398
- <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 4.0.0.
399
- <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
400
- </footer>
401
-