esp_sdk 1.1.0 → 2.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (199) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -2
  3. data/.rubocop.yml +53 -6
  4. data/.ruby-version +1 -1
  5. data/.travis.yml +8 -2
  6. data/Gemfile.lock +171 -0
  7. data/Guardfile +47 -0
  8. data/README.md +230 -5
  9. data/Rakefile +14 -1
  10. data/assets/logo.png +0 -0
  11. data/bin/esp_console +71 -0
  12. data/esp_sdk.gemspec +27 -18
  13. data/lib/esp/exceptions.rb +3 -0
  14. data/lib/esp/extensions/active_resource/formats/json_api_format.rb +105 -0
  15. data/lib/esp/extensions/active_resource/paginated_collection.rb +198 -0
  16. data/lib/esp/extensions/active_resource/validations.rb +45 -0
  17. data/lib/esp/resources/alert.rb +135 -0
  18. data/lib/esp/resources/cloud_trail_event.rb +45 -0
  19. data/lib/esp/resources/concerns/stat_totals.rb +79 -0
  20. data/lib/esp/resources/contact_request.rb +42 -0
  21. data/lib/esp/resources/custom_signature.rb +224 -0
  22. data/lib/esp/resources/dashboard.rb +31 -0
  23. data/lib/esp/resources/external_account.rb +89 -0
  24. data/lib/esp/resources/organization.rb +61 -0
  25. data/lib/esp/resources/region.rb +46 -0
  26. data/lib/esp/resources/report.rb +100 -0
  27. data/lib/esp/resources/resource.rb +66 -0
  28. data/lib/esp/resources/service.rb +31 -0
  29. data/lib/esp/resources/signature.rb +106 -0
  30. data/lib/esp/resources/stat.rb +124 -0
  31. data/lib/esp/resources/stat_custom_signature.rb +121 -0
  32. data/lib/esp/resources/stat_region.rb +121 -0
  33. data/lib/esp/resources/stat_service.rb +121 -0
  34. data/lib/esp/resources/stat_signature.rb +121 -0
  35. data/lib/esp/resources/sub_organization.rb +69 -0
  36. data/lib/esp/resources/suppression/region.rb +99 -0
  37. data/lib/esp/resources/suppression/signature.rb +107 -0
  38. data/lib/esp/resources/suppression/unique_identifier.rb +60 -0
  39. data/lib/esp/resources/suppression.rb +86 -0
  40. data/lib/esp/resources/tag.rb +45 -0
  41. data/lib/esp/resources/team.rb +79 -0
  42. data/lib/esp/resources/user.rb +46 -0
  43. data/lib/esp/version.rb +3 -0
  44. data/lib/esp.rb +95 -0
  45. data/lib/esp_sdk.rb +9 -45
  46. data/lib/tasks/rubocop.rake +2 -0
  47. data/lib/tasks/testing.rake +3 -0
  48. data/rdoc/ActiveResource/Formats.html +176 -0
  49. data/rdoc/ActiveResource/PaginatedCollection.html +910 -0
  50. data/rdoc/ActiveResource.html +180 -0
  51. data/rdoc/ESP/Alert.html +771 -0
  52. data/rdoc/ESP/CloudTrailEvent.html +375 -0
  53. data/rdoc/ESP/ContactRequest.html +366 -0
  54. data/rdoc/ESP/CustomSignature.html +746 -0
  55. data/rdoc/ESP/Dashboard.html +355 -0
  56. data/rdoc/ESP/ExternalAccount.html +565 -0
  57. data/rdoc/ESP/Organization.html +590 -0
  58. data/rdoc/ESP/Region.html +399 -0
  59. data/rdoc/ESP/Report.html +622 -0
  60. data/rdoc/ESP/Service.html +380 -0
  61. data/rdoc/ESP/Signature.html +555 -0
  62. data/rdoc/ESP/Stat.html +1778 -0
  63. data/rdoc/ESP/StatCustomSignature.html +1599 -0
  64. data/rdoc/ESP/StatRegion.html +1598 -0
  65. data/rdoc/ESP/StatService.html +1598 -0
  66. data/rdoc/ESP/StatSignature.html +1598 -0
  67. data/rdoc/ESP/SubOrganization.html +540 -0
  68. data/rdoc/ESP/Suppression/Region.html +454 -0
  69. data/rdoc/ESP/Suppression/Signature.html +470 -0
  70. data/rdoc/ESP/Suppression/UniqueIdentifier.html +417 -0
  71. data/rdoc/ESP/Suppression.html +649 -0
  72. data/rdoc/ESP/Tag.html +371 -0
  73. data/rdoc/ESP/Team.html +584 -0
  74. data/rdoc/ESP/User.html +483 -0
  75. data/rdoc/ESP.html +546 -0
  76. data/rdoc/README_md.html +501 -0
  77. data/rdoc/created.rid +30 -0
  78. data/rdoc/images/add.png +0 -0
  79. data/rdoc/images/arrow_up.png +0 -0
  80. data/rdoc/images/brick.png +0 -0
  81. data/rdoc/images/brick_link.png +0 -0
  82. data/rdoc/images/bug.png +0 -0
  83. data/rdoc/images/bullet_black.png +0 -0
  84. data/rdoc/images/bullet_toggle_minus.png +0 -0
  85. data/rdoc/images/bullet_toggle_plus.png +0 -0
  86. data/rdoc/images/date.png +0 -0
  87. data/rdoc/images/delete.png +0 -0
  88. data/rdoc/images/find.png +0 -0
  89. data/rdoc/images/loadingAnimation.gif +0 -0
  90. data/rdoc/images/macFFBgHack.png +0 -0
  91. data/rdoc/images/package.png +0 -0
  92. data/rdoc/images/page_green.png +0 -0
  93. data/rdoc/images/page_white_text.png +0 -0
  94. data/rdoc/images/page_white_width.png +0 -0
  95. data/rdoc/images/plugin.png +0 -0
  96. data/rdoc/images/ruby.png +0 -0
  97. data/rdoc/images/tag_blue.png +0 -0
  98. data/rdoc/images/tag_green.png +0 -0
  99. data/rdoc/images/transparent.png +0 -0
  100. data/rdoc/images/wrench.png +0 -0
  101. data/rdoc/images/wrench_orange.png +0 -0
  102. data/rdoc/images/zoom.png +0 -0
  103. data/rdoc/index.html +134 -0
  104. data/rdoc/js/darkfish.js +155 -0
  105. data/rdoc/js/jquery.js +4 -0
  106. data/rdoc/js/navigation.js +142 -0
  107. data/rdoc/js/search.js +94 -0
  108. data/rdoc/js/search_index.js +1 -0
  109. data/rdoc/js/searcher.js +228 -0
  110. data/rdoc/rdoc.css +595 -0
  111. data/rdoc/table_of_contents.html +927 -0
  112. data/test/esp/extensions/active_resource/formats/json_api_format_test.rb +109 -0
  113. data/test/esp/extensions/active_resource/paginated_collection_test.rb +435 -0
  114. data/test/esp/extensions/active_resource/validations_test.rb +59 -0
  115. data/test/esp/resources/alert_test.rb +263 -0
  116. data/test/esp/resources/cloud_trail_event_test.rb +98 -0
  117. data/test/esp/resources/contact_request_test.rb +73 -0
  118. data/test/esp/resources/custom_signature_test.rb +241 -0
  119. data/test/esp/resources/dashboard_test.rb +71 -0
  120. data/test/esp/resources/external_account_test.rb +125 -0
  121. data/test/esp/resources/organization_test.rb +175 -0
  122. data/test/esp/resources/region_test.rb +84 -0
  123. data/test/esp/resources/report_test.rb +180 -0
  124. data/test/esp/resources/resource_test.rb +183 -0
  125. data/test/esp/resources/service_test.rb +64 -0
  126. data/test/esp/resources/signature_test.rb +177 -0
  127. data/test/esp/resources/stat_custom_signature_test.rb +115 -0
  128. data/test/esp/resources/stat_region_test.rb +114 -0
  129. data/test/esp/resources/stat_service_test.rb +114 -0
  130. data/test/esp/resources/stat_signature_test.rb +115 -0
  131. data/test/esp/resources/stat_test.rb +159 -0
  132. data/test/esp/resources/sub_organization_test.rb +127 -0
  133. data/test/esp/resources/suppression/region_test.rb +115 -0
  134. data/test/esp/resources/suppression/signature_test.rb +117 -0
  135. data/test/esp/resources/suppression/unique_identifier_test.rb +79 -0
  136. data/test/esp/resources/suppression_test.rb +226 -0
  137. data/test/esp/resources/tag_test.rb +98 -0
  138. data/test/esp/resources/team_test.rb +140 -0
  139. data/test/esp/resources/user_test.rb +113 -0
  140. data/test/esp_test.rb +139 -0
  141. data/test/factories/alerts.rb +234 -0
  142. data/test/factories/cloud_trail_events.rb +16 -0
  143. data/test/factories/contact_requests.rb +14 -0
  144. data/test/factories/custom_signatures.rb +30 -0
  145. data/test/factories/dashboards.rb +91 -0
  146. data/test/factories/errors.rb +24 -0
  147. data/test/factories/external_accounts.rb +44 -0
  148. data/test/factories/organizations.rb +48 -0
  149. data/test/factories/regions.rb +9 -0
  150. data/test/factories/reports.rb +56 -0
  151. data/test/factories/services.rb +12 -0
  152. data/test/factories/signatures.rb +28 -0
  153. data/test/factories/stat_custom_signatures.rb +97 -0
  154. data/test/factories/stat_regions.rb +97 -0
  155. data/test/factories/stat_services.rb +97 -0
  156. data/test/factories/stat_signautures.rb +97 -0
  157. data/test/factories/stats.rb +129 -0
  158. data/test/factories/sub_organizations.rb +34 -0
  159. data/test/factories/suppression/regions.rb +90 -0
  160. data/test/factories/suppression/signatures.rb +117 -0
  161. data/test/factories/suppression/unique_identifiers.rb +111 -0
  162. data/test/factories/suppressions.rb +71 -0
  163. data/test/factories/tags.rb +12 -0
  164. data/test/factories/teams.rb +32 -0
  165. data/test/factories/users.rb +54 -0
  166. data/test/json_strategy.rb +25 -0
  167. data/test/test_helper.rb +44 -5
  168. metadata +387 -119
  169. data/bin/esp_repl +0 -60
  170. data/lib/esp_sdk/api.rb +0 -33
  171. data/lib/esp_sdk/client.rb +0 -62
  172. data/lib/esp_sdk/configure.rb +0 -40
  173. data/lib/esp_sdk/end_points/base.rb +0 -102
  174. data/lib/esp_sdk/end_points/contact_requests.rb +0 -6
  175. data/lib/esp_sdk/end_points/custom_signatures.rb +0 -41
  176. data/lib/esp_sdk/end_points/dashboard.rb +0 -35
  177. data/lib/esp_sdk/end_points/external_accounts.rb +0 -9
  178. data/lib/esp_sdk/end_points/organizations.rb +0 -6
  179. data/lib/esp_sdk/end_points/reports.rb +0 -6
  180. data/lib/esp_sdk/end_points/services.rb +0 -6
  181. data/lib/esp_sdk/end_points/signatures.rb +0 -39
  182. data/lib/esp_sdk/end_points/sub_organizations.rb +0 -6
  183. data/lib/esp_sdk/end_points/teams.rb +0 -6
  184. data/lib/esp_sdk/end_points/users.rb +0 -6
  185. data/lib/esp_sdk/exceptions.rb +0 -8
  186. data/lib/esp_sdk/extensions/rest_client/request.rb +0 -9
  187. data/lib/esp_sdk/repl.rb +0 -61
  188. data/lib/esp_sdk/version.rb +0 -3
  189. data/test/esp_sdk/api_test.rb +0 -36
  190. data/test/esp_sdk/client_test.rb +0 -129
  191. data/test/esp_sdk/configure_test.rb +0 -65
  192. data/test/esp_sdk/end_points/.keep +0 -0
  193. data/test/esp_sdk/end_points/base_test.rb +0 -230
  194. data/test/esp_sdk/end_points/custom_signatures_test.rb +0 -90
  195. data/test/esp_sdk/end_points/dashboard_test.rb +0 -55
  196. data/test/esp_sdk/end_points/external_accounts_test.rb +0 -20
  197. data/test/esp_sdk/end_points/signatures_test.rb +0 -83
  198. data/test/esp_sdk/exceptions_test.rb +0 -41
  199. data/test/esp_sdk_test.rb +0 -70
@@ -0,0 +1,501 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>README - 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 class="file">
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
+ <div id="table-of-contents">
48
+ <nav class="section">
49
+ <h3 class="section-header">Table of Contents</h3>
50
+ <ul>
51
+ <li><a href="#label-Evident+Security+Platform+SDK">Evident Security Platform SDK</a>
52
+ <li><a href="#label-Installation">Installation</a>
53
+ <li><a href="#label-Configuration">Configuration</a>
54
+ <li><a href="#label-Set+your+HMAC+security+keys%3A">Set your HMAC security keys:</a>
55
+ <li><a href="#label-Appliance+Users">Appliance Users</a>
56
+ <li><a href="#label-Usage">Usage</a>
57
+ <li><a href="#label-Everything+is+an+Object">Everything is an Object</a>
58
+ <li><a href="#label-Errors">Errors</a>
59
+ <li><a href="#label-Pagination">Pagination</a>
60
+ <li><a href="#label-Associated+Objects">Associated Objects</a>
61
+ <li><a href="#label-Available+Objects">Available Objects</a>
62
+ <li><a href="#label-Console">Console</a>
63
+ <li><a href="#label-Contributing">Contributing</a>
64
+ </ul>
65
+ </nav>
66
+ </div>
67
+
68
+
69
+ <div id="project-metadata">
70
+ <nav id="fileindex-section" class="section project-section">
71
+ <h3 class="section-header">Pages</h3>
72
+
73
+ <ul>
74
+
75
+ <li class="file"><a href="./README_md.html">README</a>
76
+
77
+ </ul>
78
+ </nav>
79
+
80
+ <nav id="classindex-section" class="section project-section">
81
+ <h3 class="section-header">Class and Module Index</h3>
82
+
83
+ <ul class="link-list">
84
+
85
+ <li><a href="./ActiveResource.html">ActiveResource</a>
86
+
87
+ <li><a href="./ActiveResource/Formats.html">ActiveResource::Formats</a>
88
+
89
+ <li><a href="./ActiveResource/PaginatedCollection.html">ActiveResource::PaginatedCollection</a>
90
+
91
+ <li><a href="./ESP.html">ESP</a>
92
+
93
+ <li><a href="./ESP/Alert.html">ESP::Alert</a>
94
+
95
+ <li><a href="./ESP/CloudTrailEvent.html">ESP::CloudTrailEvent</a>
96
+
97
+ <li><a href="./ESP/ContactRequest.html">ESP::ContactRequest</a>
98
+
99
+ <li><a href="./ESP/CustomSignature.html">ESP::CustomSignature</a>
100
+
101
+ <li><a href="./ESP/Dashboard.html">ESP::Dashboard</a>
102
+
103
+ <li><a href="./ESP/ExternalAccount.html">ESP::ExternalAccount</a>
104
+
105
+ <li><a href="./ESP/Organization.html">ESP::Organization</a>
106
+
107
+ <li><a href="./ESP/Region.html">ESP::Region</a>
108
+
109
+ <li><a href="./ESP/Report.html">ESP::Report</a>
110
+
111
+ <li><a href="./ESP/Service.html">ESP::Service</a>
112
+
113
+ <li><a href="./ESP/Signature.html">ESP::Signature</a>
114
+
115
+ <li><a href="./ESP/Stat.html">ESP::Stat</a>
116
+
117
+ <li><a href="./ESP/StatCustomSignature.html">ESP::StatCustomSignature</a>
118
+
119
+ <li><a href="./ESP/StatRegion.html">ESP::StatRegion</a>
120
+
121
+ <li><a href="./ESP/StatService.html">ESP::StatService</a>
122
+
123
+ <li><a href="./ESP/StatSignature.html">ESP::StatSignature</a>
124
+
125
+ <li><a href="./ESP/SubOrganization.html">ESP::SubOrganization</a>
126
+
127
+ <li><a href="./ESP/Suppression.html">ESP::Suppression</a>
128
+
129
+ <li><a href="./ESP/Suppression/Region.html">ESP::Suppression::Region</a>
130
+
131
+ <li><a href="./ESP/Suppression/Signature.html">ESP::Suppression::Signature</a>
132
+
133
+ <li><a href="./ESP/Suppression/UniqueIdentifier.html">ESP::Suppression::UniqueIdentifier</a>
134
+
135
+ <li><a href="./ESP/Tag.html">ESP::Tag</a>
136
+
137
+ <li><a href="./ESP/Team.html">ESP::Team</a>
138
+
139
+ <li><a href="./ESP/User.html">ESP::User</a>
140
+
141
+ </ul>
142
+ </nav>
143
+
144
+ </div>
145
+ </nav>
146
+
147
+ <div id="documentation" class="description">
148
+
149
+ <p><a
150
+ href="https://travis-ci.org/EvidentSecurity/esp_sdk.svg?branch=master">{Build
151
+ Status</a>]
152
+ <a
153
+ href="https://codeclimate.com/repos/546a526f6956800d2900e3fb/badges/841000b5295e533401c3/gpa.svg">{Code
154
+ Climate</a>]
155
+ <a
156
+ href="https://coveralls.io/repos/EvidentSecurity/esp_sdk/badge.svg">{Coverage
157
+ Status</a>]
158
+ <a href="https://badge.fury.io/rb/esp_sdk.svg">{Gem
159
+ Version</a>]</p>
160
+
161
+ <h1 id="label-Evident+Security+Platform+SDK">Evident Security Platform SDK<span><a href="#label-Evident+Security+Platform+SDK">&para;</a> <a href="#documentation">&uarr;</a></span></h1>
162
+
163
+ <p>A Ruby interface for calling the <a
164
+ href="https://www.evident.io">Evident.io</a> API.</p>
165
+
166
+ <p>This Readme is for the V2 version of the <a href="ESP.html">ESP</a> SDK.
167
+ For V1 information, see the <a
168
+ href="https://github.com/EvidentSecurity/esp_sdk/wiki">V1 WIKI</a>.</p>
169
+
170
+ <h2 id="label-Installation">Installation<span><a href="#label-Installation">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
171
+
172
+ <p>Add this line to your application&#39;s Gemfile:</p>
173
+
174
+ <pre>gem &#39;esp_sdk&#39;</pre>
175
+
176
+ <p>And then execute:</p>
177
+
178
+ <pre> bundle</pre>
179
+
180
+ <p>Or install it yourself as:</p>
181
+
182
+ <pre> gem install esp_sdk</pre>
183
+
184
+ <h1 id="label-Configuration">Configuration<span><a href="#label-Configuration">&para;</a> <a href="#documentation">&uarr;</a></span></h1>
185
+
186
+ <h2 id="label-Set+your+HMAC+security+keys%3A">Set your HMAC security keys:<span><a href="#label-Set+your+HMAC+security+keys%3A">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
187
+
188
+ <p>You must set your access_key_id and your secret_access_key.<br>
189
+ You can set
190
+ these directly:</p>
191
+
192
+ <pre class="ruby"><span class="ruby-constant">ESP</span>.<span class="ruby-identifier">access_key_id</span> = <span class="ruby-operator">&lt;</span><span class="ruby-identifier">your</span> <span class="ruby-identifier">key</span><span class="ruby-operator">&gt;</span>
193
+ <span class="ruby-constant">ESP</span>.<span class="ruby-identifier">secret_access_key</span> = <span class="ruby-operator">&lt;</span><span class="ruby-identifier">your</span> <span class="ruby-identifier">secret</span> <span class="ruby-identifier">key</span><span class="ruby-operator">&gt;</span>
194
+ </pre>
195
+
196
+ <p>or with environment variables:</p>
197
+
198
+ <pre class="ruby"><span class="ruby-constant">ENV</span>[<span class="ruby-string">&#39;ESP_ACCESS_KEY_ID&#39;</span>] = <span class="ruby-operator">&lt;</span><span class="ruby-identifier">you</span> <span class="ruby-identifier">key</span><span class="ruby-operator">&gt;</span>
199
+ <span class="ruby-constant">ENV</span>[<span class="ruby-string">&#39;ESP_SECRET_ACCESS_KEY&#39;</span>] = <span class="ruby-operator">&lt;</span><span class="ruby-identifier">your</span> <span class="ruby-identifier">secret</span> <span class="ruby-identifier">key</span><span class="ruby-operator">&gt;</span>
200
+ </pre>
201
+
202
+ <p>or, if in a Rails application, you can use the configure block in an
203
+ initializer:</p>
204
+
205
+ <pre class="ruby"><span class="ruby-constant">ESP</span>.<span class="ruby-identifier">configure</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">config</span><span class="ruby-operator">|</span>
206
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">access_key_id</span> = <span class="ruby-operator">&lt;</span><span class="ruby-identifier">your</span> <span class="ruby-identifier">key</span><span class="ruby-operator">&gt;</span>
207
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">secret_access_key</span> = <span class="ruby-operator">&lt;</span><span class="ruby-identifier">your</span> <span class="ruby-identifier">secret</span> <span class="ruby-identifier">key</span><span class="ruby-operator">&gt;</span>
208
+ <span class="ruby-keyword">end</span>
209
+ </pre>
210
+
211
+ <p>Get your HMAC keys from the Evident.io website, <a
212
+ href="https://esp.evident.io/settings/api_keys">esp.evident.io</a></p>
213
+
214
+ <h2 id="label-Appliance+Users">Appliance Users<span><a href="#label-Appliance+Users">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
215
+
216
+ <p>Users of Evident.io&#39;s AWS marketplace appliance will need to set the
217
+ host for their appliance instance.
218
+ You can set this directly:</p>
219
+
220
+ <pre class="ruby"><span class="ruby-constant">ESP</span>.<span class="ruby-identifier">host</span> = <span class="ruby-operator">&lt;</span><span class="ruby-identifier">host</span> <span class="ruby-keyword">for</span> <span class="ruby-identifier">appliance</span> <span class="ruby-identifier">instance</span><span class="ruby-operator">&gt;</span>
221
+ </pre>
222
+
223
+ <p>or, if in a Rails application, you can use the configure block in an
224
+ initializer:</p>
225
+
226
+ <pre class="ruby"><span class="ruby-constant">ESP</span>.<span class="ruby-identifier">configure</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">config</span><span class="ruby-operator">|</span>
227
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">host</span> = <span class="ruby-operator">&lt;</span><span class="ruby-identifier">host</span> <span class="ruby-keyword">for</span> <span class="ruby-identifier">appliance</span> <span class="ruby-identifier">instance</span><span class="ruby-operator">&gt;</span>
228
+ <span class="ruby-keyword">end</span>
229
+ </pre>
230
+
231
+ <p>Alternatively, the site can also be set with an environment variable.</p>
232
+
233
+ <pre>export ESP_HOST=&lt;host for appliance instance&gt;</pre>
234
+
235
+ <h1 id="label-Usage">Usage<span><a href="#label-Usage">&para;</a> <a href="#documentation">&uarr;</a></span></h1>
236
+
237
+ <h2 id="label-Everything+is+an+Object">Everything is an Object<span><a href="#label-Everything+is+an+Object">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
238
+
239
+ <p>The Evident.io SDK uses Active Resource, so the DSL acts very much like
240
+ Active Record providing by default, the standard CRUD
241
+ actions
242
+ <code>find</code>, <code>all</code>, <code>create</code>,
243
+ <code>update</code>, <code>destroy</code>, only instead of a database as
244
+ the data store, it makes calls to the Evident.io API. Not all
245
+ methods are
246
+ available for all <a href="ESP.html">ESP</a> objects. See the <a
247
+ href="http://www.rubydoc.info/gems/esp_sdk">documentation</a> to see all
248
+ the methods
249
+ available for each object.
250
+ So, for instance, to get a report by
251
+ ID:</p>
252
+
253
+ <pre class="ruby"><span class="ruby-identifier">espsdk</span>:<span class="ruby-value">003</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">report</span> = <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">Report</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value">234</span>)
254
+ </pre>
255
+
256
+ <p>And to get the alerts for that report:</p>
257
+
258
+ <pre class="ruby"><span class="ruby-identifier">espsdk</span>:<span class="ruby-value">003</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">alerts</span> = <span class="ruby-identifier">report</span>.<span class="ruby-identifier">alerts</span>
259
+ </pre>
260
+
261
+ <p>For objects that are creatable, updatable, and destroyable, you make the
262
+ exact same calls you would expect to use with Active Record.</p>
263
+
264
+ <pre class="ruby"><span class="ruby-identifier">espsdk</span>:<span class="ruby-value">003</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">team</span> = <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">Team</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-string">&#39;MyTeam&#39;</span>, <span class="ruby-identifier">organization_id</span><span class="ruby-operator">:</span> <span class="ruby-value">452</span>, <span class="ruby-identifier">sub_organization_id</span><span class="ruby-operator">:</span> <span class="ruby-value">599</span>)
265
+
266
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">003</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">team</span>.<span class="ruby-identifier">name</span> = <span class="ruby-string">&#39;NewName&#39;</span>
267
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">003</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">team</span>.<span class="ruby-identifier">save</span>
268
+
269
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">003</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">team</span>.<span class="ruby-identifier">destroy</span>
270
+ </pre>
271
+
272
+ <p>Use the <code>attributes</code> method to get a list of all available
273
+ attributes that each object has.</p>
274
+
275
+ <pre class="ruby"><span class="ruby-identifier">espsdk</span>:<span class="ruby-value">003</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">team</span> = <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">Team</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value">1</span>)
276
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">team</span>.<span class="ruby-identifier">attributes</span>
277
+ <span class="ruby-comment"># =&gt; {</span>
278
+ <span class="ruby-comment"># =&gt; &quot;id&quot; =&gt; &quot;1&quot;,</span>
279
+ <span class="ruby-comment"># =&gt; &quot;type&quot; =&gt; &quot;teams&quot;,</span>
280
+ <span class="ruby-comment"># =&gt; &quot;relationships&quot; =&gt; #&lt;ESP::Team::Relationships:0x007fdf1b451710 @attributes={&quot;sub_organization&quot;=&gt;#&lt;ESP::SubOrganization:0x007fdf1b450d60 @attributes={&quot;data&quot;=&gt;#&lt;ESP::SubOrganization::Data:0x007fdf1b450978 @attributes={&quot;id&quot;=&gt;&quot;1&quot;, &quot;type&quot;=&gt;&quot;sub_organizations&quot;}, @prefix_options={}, @persisted=true&gt;, &quot;links&quot;=&gt;#&lt;ESP::SubOrganization::Links:0x007fdf1b4503b0 @attributes={&quot;related&quot;=&gt;&quot;http://localhost:3000/api/v2/sub_organizations/1.json&quot;}, @prefix_options={}, @persisted=true&gt;}, @prefix_options={}, @persisted=true&gt;, &quot;organization&quot;=&gt;#&lt;ESP::Organization:0x007fdf1b45bbc0 @attributes={&quot;data&quot;=&gt;#&lt;ESP::Organization::Data:0x007fdf1b45b7d8 @attributes={&quot;id&quot;=&gt;&quot;1&quot;, &quot;type&quot;=&gt;&quot;organizations&quot;}, @prefix_options={}, @persisted=true&gt;, &quot;links&quot;=&gt;#&lt;ESP::Organization::Links:0x007fdf1b45b210 @attributes={&quot;related&quot;=&gt;&quot;http://localhost:3000/api/v2/organizations/1.json&quot;}, @prefix_options={}, @persisted=true&gt;}, @prefix_options={}, @persisted=true&gt;, &quot;external_accounts&quot;=&gt;#&lt;ESP::Team::Relationships::ExternalAccounts:0x007fdf1b45a040 @attributes={&quot;data&quot;=&gt;[#&lt;ESP::Team::Relationships::ExternalAccounts::Datum:0x007fdf1b458830 @attributes={&quot;id&quot;=&gt;&quot;1&quot;, &quot;type&quot;=&gt;&quot;external_accounts&quot;}, @prefix_options={}, @persisted=true&gt;], &quot;links&quot;=&gt;#&lt;ESP::Team::Links:0x007fdf1b463e38 @attributes={&quot;related&quot;=&gt;&quot;http://localhost:3000/api/v2/external_accounts.json&quot;}, @prefix_options={}, @persisted=true&gt;}, @prefix_options={}, @persisted=true&gt;}, @prefix_options={}, @persisted=true&gt;,</span>
281
+ <span class="ruby-comment"># =&gt; &quot;name&quot; =&gt; &quot;Default Team&quot;,</span>
282
+ <span class="ruby-comment"># =&gt; &quot;created_at&quot; =&gt; &quot;2015-09-23T14:37:48.000Z&quot;,</span>
283
+ <span class="ruby-comment"># =&gt; &quot;updated_at&quot; =&gt; &quot;2015-09-23T14:37:48.000Z&quot;,</span>
284
+ <span class="ruby-comment"># =&gt; &quot;sub_organization_id&quot; =&gt; &quot;1&quot;,</span>
285
+ <span class="ruby-comment"># =&gt; &quot;organization_id&quot; =&gt; &quot;1&quot;,</span>
286
+ <span class="ruby-comment"># =&gt; &quot;external_account_ids&quot; =&gt; [</span>
287
+ <span class="ruby-comment"># =&gt; [0] &quot;1&quot;</span>
288
+ <span class="ruby-comment"># =&gt; ]</span>
289
+ <span class="ruby-comment"># =&gt; }</span>
290
+ </pre>
291
+
292
+ <h2 id="label-Errors">Errors<span><a href="#label-Errors">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
293
+
294
+ <p>Active Resource objects have an errors collection, just like Active Record
295
+ objects. If the API call returns a non fatal response, like
296
+ validation
297
+ issues, you can check the errors object to see what went wrong.</p>
298
+
299
+ <pre class="ruby"><span class="ruby-identifier">espsdk</span>:<span class="ruby-value">003</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">t</span> = <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">Team</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-string">&#39;&#39;</span>)
300
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">003</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">errors</span>
301
+ <span class="ruby-comment"># =&gt; {</span>
302
+ <span class="ruby-comment"># =&gt; :base =&gt; [</span>
303
+ <span class="ruby-comment"># =&gt; [0] &quot;Organization can&#39;t be blank&quot;,</span>
304
+ <span class="ruby-comment"># =&gt; [1] &quot;Sub organization can&#39;t be blank&quot;</span>
305
+ <span class="ruby-comment"># =&gt; ],</span>
306
+ <span class="ruby-comment"># =&gt; :name =&gt; [</span>
307
+ <span class="ruby-comment"># =&gt; [0] &quot;can&#39;t be blank&quot;</span>
308
+ <span class="ruby-comment"># =&gt; ]</span>
309
+ <span class="ruby-comment"># =&gt; }</span>
310
+ </pre>
311
+
312
+ <p>The errors will be in the :base key rather than the corresponding attribute
313
+ key, since we have not defined a schema for the objects
314
+ in order to stay
315
+ more loosely coupled to the API.</p>
316
+
317
+ <pre class="ruby"><span class="ruby-identifier">espsdk</span>:<span class="ruby-value">003</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">full_messages</span>
318
+ <span class="ruby-comment"># =&gt; [</span>
319
+ <span class="ruby-comment"># =&gt; [0] &quot;Organization can&#39;t be blank&quot;,</span>
320
+ <span class="ruby-comment"># =&gt; [1] &quot;Sub organization can&#39;t be blank&quot;,</span>
321
+ <span class="ruby-comment"># =&gt; [2] &quot;Name can&#39;t be blank&quot;</span>
322
+ <span class="ruby-comment"># =&gt; ]</span>
323
+ </pre>
324
+
325
+ <p>When an error is thrown, you can rescue the error and check the error
326
+ message:</p>
327
+
328
+ <pre class="ruby"><span class="ruby-identifier">espsdk</span>:<span class="ruby-value">003</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">c</span> = <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">CustomSignature</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value">435</span>)
329
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">003</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">run!</span>(<span class="ruby-identifier">external_account_id</span><span class="ruby-operator">:</span> <span class="ruby-value">999</span>)
330
+ <span class="ruby-comment"># =&gt; ActiveResource::ResourceInvalid: Failed. Response code = 422. Response message = Couldn&#39;t find ExternalAccount. </span>
331
+ <span class="ruby-comment"># =&gt; from /Users/kevintyll/evident/esp_sdk/lib/esp/resources/custom_signature.rb:23:in `run!&#39;</span>
332
+
333
+ <span class="ruby-keyword">begin</span>
334
+ <span class="ruby-identifier">c</span>.<span class="ruby-identifier">run!</span>(<span class="ruby-identifier">external_account_id</span><span class="ruby-operator">:</span> <span class="ruby-value">999</span>)
335
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">ActiveResource</span><span class="ruby-operator">::</span><span class="ruby-constant">ResourceInvalid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
336
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>
337
+ <span class="ruby-keyword">end</span>
338
+ <span class="ruby-comment"># =&gt; Failed. Response code = 422. Response message = Couldn&#39;t find ExternalAccount.</span>
339
+ </pre>
340
+
341
+ <p>All non get requests have a corresponding <code>!</code> version of the
342
+ method. These methods will throw an error rather than swallow
343
+ the error and
344
+ return an object with the errors object populated. For example, the
345
+ <code>run</code> and <code>run!</code> methods on CustomSignature.</p>
346
+
347
+ <h2 id="label-Pagination">Pagination<span><a href="#label-Pagination">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
348
+
349
+ <p>Evident.io API endpoints that return a collection of objects allows for
350
+ paging and only returns a limited number of items at a time.
351
+ The Evident.io
352
+ SDK returns an ESP::PaginatedCollection object that provides methods for
353
+ paginating through the collection.
354
+ The methods with a <code>!</code> suffix
355
+ update the object, methods without the <code>!</code> suffix return a new
356
+ page object preserving the
357
+ original object.</p>
358
+
359
+ <pre class="ruby"><span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">alerts</span> = <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">Alert</span>.<span class="ruby-identifier">for_report</span>(<span class="ruby-value">345</span>)
360
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">alerts</span>.<span class="ruby-identifier">current_page_number</span> <span class="ruby-comment"># =&gt; &quot;1&quot;</span>
361
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">page2</span> = <span class="ruby-identifier">alerts</span>.<span class="ruby-identifier">next_page</span>
362
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">alerts</span>.<span class="ruby-identifier">current_page_number</span> <span class="ruby-comment"># =&gt; &quot;1&quot;</span>
363
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">page2</span>.<span class="ruby-identifier">current_page_number</span> <span class="ruby-comment"># =&gt; &quot;2&quot;</span>
364
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">page2</span>.<span class="ruby-identifier">previous_page!</span>
365
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">page2</span>.<span class="ruby-identifier">current_page_number</span> <span class="ruby-comment"># =&gt; &quot;1&quot;</span>
366
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">alerts</span>.<span class="ruby-identifier">last_page!</span>
367
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">alerts</span>.<span class="ruby-identifier">current_page_number</span> <span class="ruby-comment"># =&gt; &quot;25&quot;</span>
368
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">page4</span> = <span class="ruby-identifier">alerts</span>.<span class="ruby-identifier">page</span>(<span class="ruby-value">4</span>)
369
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">alerts</span>.<span class="ruby-identifier">current_page_number</span> <span class="ruby-comment"># =&gt; &quot;25&quot;</span>
370
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">page4</span>.<span class="ruby-identifier">current_page_number</span> <span class="ruby-comment"># =&gt; &quot;4&quot;</span>
371
+ </pre>
372
+
373
+ <h2 id="label-Associated+Objects">Associated Objects<span><a href="#label-Associated+Objects">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
374
+
375
+ <p>Most of the objects in the Evident.io SDK have a corresponding API call
376
+ associated with it. That means if you call an object&#39;s
377
+ association,
378
+ then that will make another API call. For example:</p>
379
+
380
+ <pre class="ruby"><span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">external_account</span> = <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">ExternalAccount</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value">3</span>)
381
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">organization</span> = <span class="ruby-identifier">external_account</span>.<span class="ruby-identifier">organization</span>
382
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">sub_organization</span> = <span class="ruby-identifier">external_account</span>.<span class="ruby-identifier">sub_organization</span>
383
+ <span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">team</span> = <span class="ruby-identifier">external_account</span>.<span class="ruby-identifier">team</span>
384
+ </pre>
385
+
386
+ <p>The above code will make 4 calls to the Evident.io API. 1 each for the
387
+ external account, organization, sub_organization and team.
388
+ The <a
389
+ href="http://jsonapi.org/format/#fetching-includes">JSON API
390
+ Specification</a>, which the Evident.io API tries to follow, provides
391
+ a
392
+ means for returning nested objects in a single call. With the SDK, that can
393
+ be done by providing a comma separated string
394
+ of the relations wanted in an
395
+ <code>include</code> option.</p>
396
+
397
+ <pre class="ruby"><span class="ruby-identifier">espsdk</span>:<span class="ruby-value">004</span><span class="ruby-operator">:</span><span class="ruby-value">0</span><span class="ruby-operator">&gt;</span> <span class="ruby-identifier">external_account</span> = <span class="ruby-constant">ESP</span><span class="ruby-operator">::</span><span class="ruby-constant">ExternalAccount</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value">3</span>, <span class="ruby-identifier">include</span><span class="ruby-operator">:</span> <span class="ruby-string">&#39;organization,sub_orgnanization,team&#39;</span>)
398
+ </pre>
399
+
400
+ <p>With that call, organization, sub_organization and team will all come back
401
+ in the response, and calling,
402
+ <code>external_account.organization</code>,
403
+ <code>external_account.sub_organization</code>
404
+ and <code>external_account.team</code>, will not make another API call.
405
+ Most objects&#39; find method accepts the
406
+ <code>include</code> option.</p>
407
+
408
+ <p>See the <a
409
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/ActiveResource/PaginatedCollection.html">Documentation</a>
410
+ for all the pagination methods available.</p>
411
+
412
+ <h2 id="label-Available+Objects">Available Objects<span><a href="#label-Available+Objects">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
413
+ <ul><li>
414
+ <p><a
415
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/Alert.html">ESP::Alert</a></p>
416
+ </li><li>
417
+ <p><a
418
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/CloudTrailEvent.html">ESP::CloudTrailEvent</a></p>
419
+ </li><li>
420
+ <p><a
421
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/ContactRequest.html">ESP::ContactRequest</a></p>
422
+ </li><li>
423
+ <p><a
424
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/CustomSignature.html">ESP::CustomSignature</a></p>
425
+ </li><li>
426
+ <p><a
427
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/Dashboard.html">ESP::Dashboard</a></p>
428
+ </li><li>
429
+ <p><a
430
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/ExternalAccount.html">ESP::ExternalAccount</a></p>
431
+ </li><li>
432
+ <p><a
433
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/Organization.html">ESP::Organization</a></p>
434
+ </li><li>
435
+ <p><a
436
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/Region.html">ESP::Region</a></p>
437
+ </li><li>
438
+ <p><a
439
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/Report.html">ESP::Report</a></p>
440
+ </li><li>
441
+ <p><a
442
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/Service.html">ESP::Service</a></p>
443
+ </li><li>
444
+ <p><a
445
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/Signature.html">ESP::Signature</a></p>
446
+ </li><li>
447
+ <p><a href="http://www.rubydoc.info/gems/esp_sdk/ESP/Stat.html">ESP::Stat</a></p>
448
+ </li><li>
449
+ <p><a
450
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/SubOrganization.html">ESP::SubOrganization</a></p>
451
+ </li><li>
452
+ <p><a
453
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/Suppression.html">ESP::Suppression</a></p>
454
+ </li><li>
455
+ <p><a
456
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/Suppression::Region.html">ESP::Suppression::Region</a></p>
457
+ </li><li>
458
+ <p><a
459
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/Suppression::Signature.html">ESP::Suppression::Signature</a></p>
460
+ </li><li>
461
+ <p><a
462
+ href="http://www.rubydoc.info/gems/esp_sdk/ESP/Suppression::UniqueIdentifier.html">ESP::Suppression::UniqueIdentifier</a></p>
463
+ </li><li>
464
+ <p><a href="http://www.rubydoc.info/gems/esp_sdk/ESP/Tag.html">ESP::Tag</a></p>
465
+ </li><li>
466
+ <p><a href="http://www.rubydoc.info/gems/esp_sdk/ESP/Team.html">ESP::Team</a></p>
467
+ </li><li>
468
+ <p><a href="http://www.rubydoc.info/gems/esp_sdk/ESP/User.html">ESP::User</a></p>
469
+ </li></ul>
470
+
471
+ <h1 id="label-Console">Console<span><a href="#label-Console">&para;</a> <a href="#documentation">&uarr;</a></span></h1>
472
+
473
+ <p>The Evident.io SDK gem also provides an IRB console you can use if not
474
+ using it in a Rails app. Run it with <code>bin/esp_console</code></p>
475
+
476
+ <h2 id="label-Contributing">Contributing<span><a href="#label-Contributing">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
477
+ <ol><li>
478
+ <p>Fork it ( <a
479
+ href="http://my-github-username">href=“https://github.com/[my-github-username]/esp_sdk/fork”>github.com/</a>
480
+ )</p>
481
+ </li><li>
482
+ <p>Create your feature branch (<code>git checkout -b my-new-feature</code>)</p>
483
+ </li><li>
484
+ <p>Commit your changes (<code>git commit -am &#39;Add some
485
+ feature&#39;</code>)</p>
486
+ </li><li>
487
+ <p>Push to the branch (<code>git push origin my-new-feature</code>)</p>
488
+ </li><li>
489
+ <p>Create a new Pull Request</p>
490
+ </li></ol>
491
+
492
+ </div>
493
+
494
+
495
+
496
+ <footer id="validator-badges">
497
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
498
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 4.0.0.
499
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
500
+ </footer>
501
+
data/rdoc/created.rid ADDED
@@ -0,0 +1,30 @@
1
+ Wed, 04 Nov 2015 14:00:54 -0500
2
+ README.md Wed, 04 Nov 2015 13:25:46 -0500
3
+ lib/esp/resources/alert.rb Thu, 29 Oct 2015 16:53:12 -0400
4
+ lib/esp/resources/cloud_trail_event.rb Thu, 29 Oct 2015 10:02:33 -0400
5
+ lib/esp/resources/concerns/stat_totals.rb Mon, 02 Nov 2015 15:39:34 -0500
6
+ lib/esp/resources/contact_request.rb Thu, 29 Oct 2015 13:04:30 -0400
7
+ lib/esp/resources/custom_signature.rb Fri, 30 Oct 2015 12:54:29 -0400
8
+ lib/esp/resources/dashboard.rb Thu, 15 Oct 2015 13:42:05 -0400
9
+ lib/esp/resources/external_account.rb Fri, 30 Oct 2015 10:00:27 -0400
10
+ lib/esp/resources/organization.rb Fri, 30 Oct 2015 10:00:27 -0400
11
+ lib/esp/resources/region.rb Fri, 30 Oct 2015 13:22:01 -0400
12
+ lib/esp/resources/report.rb Mon, 02 Nov 2015 14:31:09 -0500
13
+ lib/esp/resources/resource.rb Tue, 03 Nov 2015 13:35:33 -0500
14
+ lib/esp/resources/service.rb Thu, 29 Oct 2015 14:59:41 -0400
15
+ lib/esp/resources/signature.rb Fri, 30 Oct 2015 12:55:39 -0400
16
+ lib/esp/resources/stat.rb Tue, 03 Nov 2015 15:38:35 -0500
17
+ lib/esp/resources/stat_custom_signature.rb Mon, 02 Nov 2015 16:18:07 -0500
18
+ lib/esp/resources/stat_region.rb Mon, 02 Nov 2015 16:18:07 -0500
19
+ lib/esp/resources/stat_service.rb Tue, 03 Nov 2015 15:34:19 -0500
20
+ lib/esp/resources/stat_signature.rb Mon, 02 Nov 2015 16:18:07 -0500
21
+ lib/esp/resources/sub_organization.rb Fri, 30 Oct 2015 10:54:44 -0400
22
+ lib/esp/resources/suppression.rb Tue, 03 Nov 2015 12:41:55 -0500
23
+ lib/esp/resources/suppression/region.rb Tue, 03 Nov 2015 14:19:26 -0500
24
+ lib/esp/resources/suppression/signature.rb Tue, 03 Nov 2015 14:19:26 -0500
25
+ lib/esp/resources/suppression/unique_identifier.rb Fri, 30 Oct 2015 10:29:23 -0400
26
+ lib/esp/resources/tag.rb Mon, 02 Nov 2015 16:18:07 -0500
27
+ lib/esp/resources/team.rb Fri, 30 Oct 2015 11:04:06 -0400
28
+ lib/esp/resources/user.rb Fri, 30 Oct 2015 12:22:59 -0400
29
+ lib/esp/extensions/active_resource/paginated_collection.rb Thu, 15 Oct 2015 09:21:02 -0400
30
+ lib/esp.rb Wed, 04 Nov 2015 14:00:47 -0500
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file