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
@@ -1,557 +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::Signature - 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/signature.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-run">#run</a>
83
-
84
- <li ><a href="#method-i-run-21">#run!</a>
85
-
86
- <li ><a href="#method-i-save">#save</a>
87
-
88
- <li ><a href="#method-i-service">#service</a>
89
-
90
- <li ><a href="#method-i-suppress">#suppress</a>
91
-
92
- </ul>
93
- </nav>
94
-
95
- </div>
96
-
97
- <div id="project-metadata">
98
- <nav id="fileindex-section" class="section project-section">
99
- <h3 class="section-header">Pages</h3>
100
-
101
- <ul>
102
-
103
- <li class="file"><a href="../README_md.html">README</a>
104
-
105
- </ul>
106
- </nav>
107
-
108
- <nav id="classindex-section" class="section project-section">
109
- <h3 class="section-header">Class and Module Index</h3>
110
-
111
- <ul class="link-list">
112
-
113
- <li><a href="../ActiveResource.html">ActiveResource</a>
114
-
115
- <li><a href="../ActiveResource/Formats.html">ActiveResource::Formats</a>
116
-
117
- <li><a href="../ActiveResource/PaginatedCollection.html">ActiveResource::PaginatedCollection</a>
118
-
119
- <li><a href="../ESP.html">ESP</a>
120
-
121
- <li><a href="../ESP/Alert.html">ESP::Alert</a>
122
-
123
- <li><a href="../ESP/CloudTrailEvent.html">ESP::CloudTrailEvent</a>
124
-
125
- <li><a href="../ESP/ContactRequest.html">ESP::ContactRequest</a>
126
-
127
- <li><a href="../ESP/CustomSignature.html">ESP::CustomSignature</a>
128
-
129
- <li><a href="../ESP/Dashboard.html">ESP::Dashboard</a>
130
-
131
- <li><a href="../ESP/ExternalAccount.html">ESP::ExternalAccount</a>
132
-
133
- <li><a href="../ESP/Metadata.html">ESP::Metadata</a>
134
-
135
- <li><a href="../ESP/Organization.html">ESP::Organization</a>
136
-
137
- <li><a href="../ESP/Region.html">ESP::Region</a>
138
-
139
- <li><a href="../ESP/Report.html">ESP::Report</a>
140
-
141
- <li><a href="../ESP/Service.html">ESP::Service</a>
142
-
143
- <li><a href="../ESP/Signature.html">ESP::Signature</a>
144
-
145
- <li><a href="../ESP/Stat.html">ESP::Stat</a>
146
-
147
- <li><a href="../ESP/StatCustomSignature.html">ESP::StatCustomSignature</a>
148
-
149
- <li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>
150
-
151
- <li><a href="../ESP/StatService.html">ESP::StatService</a>
152
-
153
- <li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>
154
-
155
- <li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
156
-
157
- <li><a href="../ESP/Suppression.html">ESP::Suppression</a>
158
-
159
- <li><a href="../ESP/Suppression/Region.html">ESP::Suppression::Region</a>
160
-
161
- <li><a href="../ESP/Suppression/Signature.html">ESP::Suppression::Signature</a>
162
-
163
- <li><a href="../ESP/Suppression/UniqueIdentifier.html">ESP::Suppression::UniqueIdentifier</a>
164
-
165
- <li><a href="../ESP/Tag.html">ESP::Tag</a>
166
-
167
- <li><a href="../ESP/Team.html">ESP::Team</a>
168
-
169
- <li><a href="../ESP/User.html">ESP::User</a>
170
-
171
- </ul>
172
- </nav>
173
-
174
- </div>
175
- </nav>
176
-
177
- <div id="documentation">
178
- <h1 class="class">class ESP::Signature</h1>
179
-
180
- <div id="description" class="description">
181
-
182
- </div><!-- description -->
183
-
184
-
185
-
186
-
187
- <section id="5Buntitled-5D" class="documentation-section">
188
-
189
-
190
-
191
-
192
-
193
-
194
-
195
-
196
- <!-- Methods -->
197
-
198
- <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
199
- <h3 class="section-header">Public Class Methods</h3>
200
-
201
-
202
- <div id="method-c-all" class="method-detail ">
203
-
204
- <div class="method-heading">
205
- <span class="method-name">all</span><span
206
- class="method-args">()</span>
207
-
208
- <span class="method-click-advice">click to toggle source</span>
209
-
210
- </div>
211
-
212
-
213
- <div class="method-description">
214
-
215
- <p>Return a paginated <a href="Signature.html">Signature</a> list</p>
216
-
217
-
218
-
219
-
220
- <div class="method-source-code" id="all-source">
221
- <pre><span class="ruby-comment"># File lib/esp/resources/signature.rb, line 105</span>
222
- </pre>
223
- </div><!-- all-source -->
224
-
225
- </div>
226
-
227
-
228
-
229
-
230
- </div><!-- all-method -->
231
-
232
-
233
- <div id="method-c-find" class="method-detail ">
234
-
235
-
236
- <div class="method-heading">
237
- <span class="method-callseq">
238
- find(id)
239
- </span>
240
-
241
- <span class="method-click-advice">click to toggle source</span>
242
-
243
- </div>
244
-
245
-
246
-
247
- <div class="method-description">
248
-
249
- <p>Find a <a href="Signature.html">Signature</a> by id</p>
250
-
251
- <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>
252
-
253
- <p><code>id</code> | Required | The ID of the signature to retrieve</p>
254
-
255
-
256
-
257
-
258
- <div class="method-source-code" id="find-source">
259
- <pre><span class="ruby-comment"># File lib/esp/resources/signature.rb, line 103</span>
260
- </pre>
261
- </div><!-- find-source -->
262
-
263
- </div>
264
-
265
-
266
-
267
-
268
- </div><!-- find-method -->
269
-
270
-
271
- </section><!-- public-class-method-details -->
272
-
273
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
274
- <h3 class="section-header">Public Instance Methods</h3>
275
-
276
-
277
- <div id="method-i-destroy" class="method-detail ">
278
-
279
- <div class="method-heading">
280
- <span class="method-name">destroy</span><span
281
- class="method-args">()</span>
282
-
283
- <span class="method-click-advice">click to toggle source</span>
284
-
285
- </div>
286
-
287
-
288
- <div class="method-description">
289
-
290
- <p>Not Implemented. You cannot destroy a <a
291
- href="Signature.html">Signature</a>.</p>
292
-
293
-
294
-
295
-
296
- <div class="method-source-code" id="destroy-source">
297
- <pre><span class="ruby-comment"># File lib/esp/resources/signature.rb, line 13</span>
298
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">destroy</span>
299
- <span class="ruby-identifier">fail</span> <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">NotImplementedError</span>
300
- <span class="ruby-keyword">end</span></pre>
301
- </div><!-- destroy-source -->
302
-
303
- </div>
304
-
305
-
306
-
307
-
308
- </div><!-- destroy-method -->
309
-
310
-
311
- <div id="method-i-run" class="method-detail ">
312
-
313
- <div class="method-heading">
314
- <span class="method-name">run</span><span
315
- class="method-args">(arguments = {})</span>
316
-
317
- <span class="method-click-advice">click to toggle source</span>
318
-
319
- </div>
320
-
321
-
322
- <div class="method-description">
323
-
324
- <p>Run this signature. Returns a collection of alerts. If not successful,
325
- returns a <a href="Signature.html">Signature</a> object with the errors
326
- object populated.</p>
327
-
328
- <h4 id="method-i-run-label-Parameters">Parameters<span><a href="#method-i-run-label-Parameters">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
329
-
330
- <p><code>arguments</code> | Required | A hash of run arguments</p>
331
-
332
- <h5 id="method-i-run-label-Valid+Arguments">Valid Arguments<span><a href="#method-i-run-label-Valid+Arguments">&para;</a> <a href="#documentation">&uarr;</a></span></h5>
333
-
334
- <p><code>external_account_id</code> | Required | The ID of the external
335
- account to run this custom signature against</p>
336
-
337
- <p><code>region</code> | Required | <a href="Region.html">Region</a> name to
338
- run this custom signature against</p>
339
-
340
- <h4 id="method-i-run-label-Example">Example<span><a href="#method-i-run-label-Example">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
341
-
342
- <pre>signature = ESP::Signature.find(3)
343
- alerts = signature.run(external_account_id: 3, region: &#39;us_east_1&#39;)</pre>
344
-
345
-
346
-
347
-
348
- <div class="method-source-code" id="run-source">
349
- <pre><span class="ruby-comment"># File lib/esp/resources/signature.rb, line 58</span>
350
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">run</span>(<span class="ruby-identifier">arguments</span> = {})
351
- <span class="ruby-identifier">arguments</span> = <span class="ruby-identifier">arguments</span>.<span class="ruby-identifier">with_indifferent_access</span>
352
- <span class="ruby-identifier">attributes</span>[<span class="ruby-string">&#39;external_account_id&#39;</span>] <span class="ruby-operator">||=</span> <span class="ruby-identifier">arguments</span>[<span class="ruby-value">:external_account_id</span>]
353
- <span class="ruby-identifier">attributes</span>[<span class="ruby-string">&#39;region&#39;</span>] <span class="ruby-operator">||=</span> <span class="ruby-identifier">arguments</span>[<span class="ruby-value">:region</span>]
354
-
355
- <span class="ruby-identifier">response</span> = <span class="ruby-identifier">connection</span>.<span class="ruby-identifier">post</span>(<span class="ruby-node">&quot;#{self.class.prefix}signatures/#{id}/run.json&quot;</span>, <span class="ruby-identifier">to_json</span>)
356
- <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">Alert</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:instantiate_collection</span>, <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">format</span>.<span class="ruby-identifier">decode</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>))
357
- <span class="ruby-keyword">rescue</span> <span class="ruby-constant">ActiveResource</span><span class="ruby-operator">::</span><span class="ruby-constant">BadRequest</span>, <span class="ruby-constant">ActiveResource</span><span class="ruby-operator">::</span><span class="ruby-constant">ResourceInvalid</span>, <span class="ruby-constant">ActiveResource</span><span class="ruby-operator">::</span><span class="ruby-constant">ResourceNotFound</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">error</span>
358
- <span class="ruby-identifier">load_remote_errors</span>(<span class="ruby-identifier">error</span>, <span class="ruby-keyword">true</span>)
359
- <span class="ruby-keyword">self</span>.<span class="ruby-identifier">code</span> = <span class="ruby-identifier">error</span>.<span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span>
360
- <span class="ruby-keyword">self</span>
361
- <span class="ruby-keyword">end</span></pre>
362
- </div><!-- run-source -->
363
-
364
- </div>
365
-
366
-
367
-
368
-
369
- </div><!-- run-method -->
370
-
371
-
372
- <div id="method-i-run-21" class="method-detail ">
373
-
374
- <div class="method-heading">
375
- <span class="method-name">run!</span><span
376
- class="method-args">(arguments = {})</span>
377
-
378
- <span class="method-click-advice">click to toggle source</span>
379
-
380
- </div>
381
-
382
-
383
- <div class="method-description">
384
-
385
- <p>Run this signature. Returns a collection of alerts. Throws an error if not
386
- successful.</p>
387
-
388
- <h4 id="method-i-run-21-label-Parameters">Parameters<span><a href="#method-i-run-21-label-Parameters">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
389
-
390
- <p><code>arguments</code> | Required | A hash of run arguments</p>
391
-
392
- <h5 id="method-i-run-21-label-Valid+Arguments">Valid Arguments<span><a href="#method-i-run-21-label-Valid+Arguments">&para;</a> <a href="#documentation">&uarr;</a></span></h5>
393
-
394
- <p><code>external_account_id</code> | Required | The ID of the external
395
- account to run this custom signature against</p>
396
-
397
- <p><code>region</code> | Required | <a href="Region.html">Region</a> name to
398
- run this custom signature against</p>
399
-
400
- <h4 id="method-i-run-21-label-Example">Example<span><a href="#method-i-run-21-label-Example">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
401
-
402
- <pre>signature = ESP::Signature.find(3)
403
- alerts = signature.run!(external_account_id: 3, region: &#39;us_east_1&#39;)</pre>
404
-
405
-
406
-
407
-
408
- <div class="method-source-code" id="run-21-source">
409
- <pre><span class="ruby-comment"># File lib/esp/resources/signature.rb, line 34</span>
410
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">run!</span>(<span class="ruby-identifier">arguments</span> = {})
411
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">run</span>(<span class="ruby-identifier">arguments</span>)
412
- <span class="ruby-keyword">return</span> <span class="ruby-identifier">result</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">ActiveResource</span><span class="ruby-operator">::</span><span class="ruby-constant">Collection</span>)
413
- <span class="ruby-identifier">result</span>.<span class="ruby-identifier">message</span> = <span class="ruby-identifier">result</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">full_messages</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39; &#39;</span>)
414
- <span class="ruby-identifier">fail</span>(<span class="ruby-constant">ActiveResource</span><span class="ruby-operator">::</span><span class="ruby-constant">ResourceInvalid</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">result</span>)) <span class="ruby-comment"># rubocop:disable Style/RaiseArgs</span>
415
- <span class="ruby-keyword">end</span></pre>
416
- </div><!-- run-21-source -->
417
-
418
- </div>
419
-
420
-
421
-
422
-
423
- </div><!-- run-21-method -->
424
-
425
-
426
- <div id="method-i-save" class="method-detail ">
427
-
428
- <div class="method-heading">
429
- <span class="method-name">save</span><span
430
- class="method-args">()</span>
431
-
432
- <span class="method-click-advice">click to toggle source</span>
433
-
434
- </div>
435
-
436
-
437
- <div class="method-description">
438
-
439
- <p>Not Implemented. You cannot create or update a <a
440
- href="Signature.html">Signature</a>.</p>
441
-
442
-
443
-
444
-
445
- <div class="method-source-code" id="save-source">
446
- <pre><span class="ruby-comment"># File lib/esp/resources/signature.rb, line 8</span>
447
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">save</span>
448
- <span class="ruby-identifier">fail</span> <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">NotImplementedError</span>
449
- <span class="ruby-keyword">end</span></pre>
450
- </div><!-- save-source -->
451
-
452
- </div>
453
-
454
-
455
-
456
-
457
- </div><!-- save-method -->
458
-
459
-
460
- <div id="method-i-service" class="method-detail ">
461
-
462
- <div class="method-heading">
463
- <span class="method-name">service</span><span
464
- class="method-args">()</span>
465
-
466
- <span class="method-click-advice">click to toggle source</span>
467
-
468
- </div>
469
-
470
-
471
- <div class="method-description">
472
-
473
- <p>The service this signature belongs to.</p>
474
-
475
-
476
-
477
-
478
- <div class="method-source-code" id="service-source">
479
- <pre><span class="ruby-comment"># File lib/esp/resources/signature.rb, line 5</span>
480
- <span class="ruby-identifier">belongs_to</span> <span class="ruby-value">:service</span>, <span class="ruby-identifier">class_name</span><span class="ruby-operator">:</span> <span class="ruby-string">&#39;ESP::Service&#39;</span>
481
- </pre>
482
- </div><!-- service-source -->
483
-
484
- </div>
485
-
486
-
487
-
488
-
489
- </div><!-- service-method -->
490
-
491
-
492
- <div id="method-i-suppress" class="method-detail ">
493
-
494
- <div class="method-heading">
495
- <span class="method-name">suppress</span><span
496
- class="method-args">(arguments = {})</span>
497
-
498
- <span class="method-click-advice">click to toggle source</span>
499
-
500
- </div>
501
-
502
-
503
- <div class="method-description">
504
-
505
- <p>Create a suppression for this signature.</p>
506
-
507
- <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>
508
-
509
- <p><code>arguments</code> | Required | A hash of signature suppression
510
- attributes</p>
511
-
512
- <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>
513
-
514
- <p><code>regions</code> | Required | An array of region names to suppress.</p>
515
-
516
- <p><code>external_account_ids</code> | Required | An Array of the external
517
- accounts identified by <code>external_account_id</code> to suppress the
518
- signature or custom signature on.</p>
519
-
520
- <p><code>reason</code> | Required | The reason for creating the suppression.</p>
521
-
522
- <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>
523
-
524
- <pre>suppress(regions: [&#39;us_east_1&#39;], external_account_ids: [5], reason: &#39;My very good reason for creating this suppression&#39;)</pre>
525
-
526
-
527
-
528
-
529
- <div class="method-source-code" id="suppress-source">
530
- <pre><span class="ruby-comment"># File lib/esp/resources/signature.rb, line 87</span>
531
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">suppress</span>(<span class="ruby-identifier">arguments</span> = {})
532
- <span class="ruby-identifier">arguments</span> = <span class="ruby-identifier">arguments</span>.<span class="ruby-identifier">with_indifferent_access</span>
533
- <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">Signature</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">signature_ids</span><span class="ruby-operator">:</span> [<span class="ruby-identifier">id</span>], <span class="ruby-identifier">regions</span><span class="ruby-operator">:</span> <span class="ruby-constant">Array</span>(<span class="ruby-identifier">arguments</span>[<span class="ruby-value">:regions</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>])
534
- <span class="ruby-keyword">end</span></pre>
535
- </div><!-- suppress-source -->
536
-
537
- </div>
538
-
539
-
540
-
541
-
542
- </div><!-- suppress-method -->
543
-
544
-
545
- </section><!-- public-instance-method-details -->
546
-
547
- </section><!-- 5Buntitled-5D -->
548
-
549
- </div><!-- documentation -->
550
-
551
-
552
- <footer id="validator-badges">
553
- <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
554
- <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 4.0.0.
555
- <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
556
- </footer>
557
-