Class: LosantRest::Events
- Inherits:
-
Object
- Object
- LosantRest::Events
- Defined in:
- lib/losant_rest/events.rb
Overview
Class containing all the actions for the Events Resource
Instance Method Summary collapse
-
#delete(params = {}) ⇒ Object
Delete events.
-
#export(params = {}) ⇒ Object
Request an export of an application’s event data.
-
#get(params = {}) ⇒ Object
Returns the events for an application.
-
#initialize(client) ⇒ Events
constructor
A new instance of Events.
-
#most_recent_by_severity(params = {}) ⇒ Object
Returns the first new event ordered by severity and then creation.
-
#patch(params = {}) ⇒ Object
Asynchronously updates information for matching events by subject and/or current state.
-
#post(params = {}) ⇒ Object
Create a new event for an application.
Constructor Details
#initialize(client) ⇒ Events
Returns a new instance of Events.
30 31 32 |
# File 'lib/losant_rest/events.rb', line 30 def initialize(client) @client = client end |
Instance Method Details
#delete(params = {}) ⇒ Object
Delete events
Authentication: The client must be configured with a valid api access token to call this action. The token must include at least one of the following scopes: all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, events.*, or events.delete.
Parameters:
-
string applicationId - ID associated with the application
-
hash query - Query to apply to filter the events (api.losant.com/#/definitions/advancedEventQuery)
-
string losantdomain - Domain scope of request (rarely needed)
-
boolean _actions - Return resource actions in response
-
boolean _links - Return resource link in response
-
boolean _embedded - Return embedded resources in response
Responses:
-
200 - If request successfully deletes a set of Events (api.losant.com/#/definitions/eventsDeleted)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
-
404 - Error if events were not found (api.losant.com/#/definitions/error)
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/losant_rest/events.rb', line 56 def delete(params = {}) params = Utils.symbolize_hash_keys(params) query_params = { _actions: false, _links: true, _embedded: true } headers = {} body = nil raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId) body = params[:query] if params.has_key?(:query) headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain) query_params[:_actions] = params[:_actions] if params.has_key?(:_actions) query_params[:_links] = params[:_links] if params.has_key?(:_links) query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded) path = "/applications/#{params[:applicationId]}/events/delete" @client.request( method: :post, path: path, query: query_params, headers: headers, body: body) end |
#export(params = {}) ⇒ Object
Request an export of an application’s event data
Authentication: The client must be configured with a valid api access token to call this action. The token must include at least one of the following scopes: all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, events.*, or events.export.
Parameters:
-
string applicationId - ID associated with the application
-
hash exportData - Export options for events (api.losant.com/#/definitions/eventsExport)
-
string losantdomain - Domain scope of request (rarely needed)
-
boolean _actions - Return resource actions in response
-
boolean _links - Return resource link in response
-
boolean _embedded - Return embedded resources in response
Responses:
-
202 - If generation of export was successfully started (api.losant.com/#/definitions/jobEnqueuedResult)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
-
404 - Error if application was not found (api.losant.com/#/definitions/error)
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
# File 'lib/losant_rest/events.rb', line 102 def export(params = {}) params = Utils.symbolize_hash_keys(params) query_params = { _actions: false, _links: true, _embedded: true } headers = {} body = nil raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId) body = params[:exportData] if params.has_key?(:exportData) headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain) query_params[:_actions] = params[:_actions] if params.has_key?(:_actions) query_params[:_links] = params[:_links] if params.has_key?(:_links) query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded) path = "/applications/#{params[:applicationId]}/events/export" @client.request( method: :post, path: path, query: query_params, headers: headers, body: body) end |
#get(params = {}) ⇒ Object
Returns the events for an application
Authentication: The client must be configured with a valid api access token to call this action. The token must include at least one of the following scopes: all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, events.*, or events.get.
Parameters:
-
string applicationId - ID associated with the application
-
string sortField - Field to sort the results by. Accepted values are: subject, id, creationDate, lastUpdated, level, state, deviceId
-
string sortDirection - Direction to sort the results by. Accepted values are: asc, desc
-
string page - Which page of results to return
-
string perPage - How many items to return per page
-
string filterField - Field to filter the results by. Blank or not provided means no filtering. Accepted values are: subject
-
string filter - Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.
-
string state - If provided, return events only in the given state. Accepted values are: new, acknowledged, resolved
-
hash query - Event filter JSON object which overrides the filterField, filter, and state parameters. (api.losant.com/#/definitions/advancedEventQuery)
-
string losantdomain - Domain scope of request (rarely needed)
-
boolean _actions - Return resource actions in response
-
boolean _links - Return resource link in response
-
boolean _embedded - Return embedded resources in response
Responses:
-
200 - Collection of events (api.losant.com/#/definitions/events)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
-
404 - Error if application was not found (api.losant.com/#/definitions/error)
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
# File 'lib/losant_rest/events.rb', line 155 def get(params = {}) params = Utils.symbolize_hash_keys(params) query_params = { _actions: false, _links: true, _embedded: true } headers = {} body = nil raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId) query_params[:sortField] = params[:sortField] if params.has_key?(:sortField) query_params[:sortDirection] = params[:sortDirection] if params.has_key?(:sortDirection) query_params[:page] = params[:page] if params.has_key?(:page) query_params[:perPage] = params[:perPage] if params.has_key?(:perPage) query_params[:filterField] = params[:filterField] if params.has_key?(:filterField) query_params[:filter] = params[:filter] if params.has_key?(:filter) query_params[:state] = params[:state] if params.has_key?(:state) query_params[:query] = params[:query] if params.has_key?(:query) query_params[:query] = JSON.dump(query_params[:query]) if query_params.has_key?(:query) headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain) query_params[:_actions] = params[:_actions] if params.has_key?(:_actions) query_params[:_links] = params[:_links] if params.has_key?(:_links) query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded) path = "/applications/#{params[:applicationId]}/events" @client.request( method: :get, path: path, query: query_params, headers: headers, body: body) end |
#most_recent_by_severity(params = {}) ⇒ Object
Returns the first new event ordered by severity and then creation
Authentication: The client must be configured with a valid api access token to call this action. The token must include at least one of the following scopes: all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, events.*, or events.mostRecentBySeverity.
Parameters:
-
string applicationId - ID associated with the application
-
string filter - Filter to apply against event subjects. Supports globbing. Blank or not provided means no filtering.
-
hash query - Event filter JSON object which overrides the filter parameter. (api.losant.com/#/definitions/advancedEventQuery)
-
string losantdomain - Domain scope of request (rarely needed)
-
boolean _actions - Return resource actions in response
-
boolean _links - Return resource link in response
-
boolean _embedded - Return embedded resources in response
Responses:
-
200 - The event, plus count of currently new events (api.losant.com/#/definitions/eventPlusNewCount)
Errors:
-
404 - Error if application was not found (api.losant.com/#/definitions/error)
209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 |
# File 'lib/losant_rest/events.rb', line 209 def most_recent_by_severity(params = {}) params = Utils.symbolize_hash_keys(params) query_params = { _actions: false, _links: true, _embedded: true } headers = {} body = nil raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId) query_params[:filter] = params[:filter] if params.has_key?(:filter) query_params[:query] = params[:query] if params.has_key?(:query) query_params[:query] = JSON.dump(query_params[:query]) if query_params.has_key?(:query) headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain) query_params[:_actions] = params[:_actions] if params.has_key?(:_actions) query_params[:_links] = params[:_links] if params.has_key?(:_links) query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded) path = "/applications/#{params[:applicationId]}/events/mostRecentBySeverity" @client.request( method: :get, path: path, query: query_params, headers: headers, body: body) end |
#patch(params = {}) ⇒ Object
Asynchronously updates information for matching events by subject and/or current state
Authentication: The client must be configured with a valid api access token to call this action. The token must include at least one of the following scopes: all.Application, all.Organization, all.User, events.*, or events.patch.
Parameters:
-
string applicationId - ID associated with the application
-
string filterField - Field to filter the events to act on by. Blank or not provided means no filtering. Accepted values are: subject
-
string filter - Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.
-
string state - If provided, act on events only in the given state. Accepted values are: new, acknowledged, resolved
-
hash query - Event filter JSON object which overrides the filterField, filter, and state parameters. (api.losant.com/#/definitions/advancedEventQuery)
-
hash updates - Object containing updated information for the events (api.losant.com/#/definitions/eventPatch)
-
string losantdomain - Domain scope of request (rarely needed)
-
boolean _actions - Return resource actions in response
-
boolean _links - Return resource link in response
-
boolean _embedded - Return embedded resources in response
Responses:
-
200 - If the bulk update has been completed (api.losant.com/#/definitions/success)
-
202 - If a bulk update job has been enqueued (api.losant.com/#/definitions/jobEnqueuedResult)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
-
404 - Error if application is not found (api.losant.com/#/definitions/error)
262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 |
# File 'lib/losant_rest/events.rb', line 262 def patch(params = {}) params = Utils.symbolize_hash_keys(params) query_params = { _actions: false, _links: true, _embedded: true } headers = {} body = nil raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId) raise ArgumentError.new("updates is required") unless params.has_key?(:updates) query_params[:filterField] = params[:filterField] if params.has_key?(:filterField) query_params[:filter] = params[:filter] if params.has_key?(:filter) query_params[:state] = params[:state] if params.has_key?(:state) query_params[:query] = params[:query] if params.has_key?(:query) query_params[:query] = JSON.dump(query_params[:query]) if query_params.has_key?(:query) body = params[:updates] if params.has_key?(:updates) headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain) query_params[:_actions] = params[:_actions] if params.has_key?(:_actions) query_params[:_links] = params[:_links] if params.has_key?(:_links) query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded) path = "/applications/#{params[:applicationId]}/events" @client.request( method: :patch, path: path, query: query_params, headers: headers, body: body) end |
#post(params = {}) ⇒ Object
Create a new event for an application
Authentication: The client must be configured with a valid api access token to call this action. The token must include at least one of the following scopes: all.Application, all.Organization, all.User, events.*, or events.post.
Parameters:
-
string applicationId - ID associated with the application
-
hash event - New event information (api.losant.com/#/definitions/eventPost)
-
string losantdomain - Domain scope of request (rarely needed)
-
boolean _actions - Return resource actions in response
-
boolean _links - Return resource link in response
-
boolean _embedded - Return embedded resources in response
Responses:
-
201 - Successfully created event (api.losant.com/#/definitions/event)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
-
404 - Error if application was not found (api.losant.com/#/definitions/error)
-
429 - Error if event creation rate limit exceeded (api.losant.com/#/definitions/error)
315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 |
# File 'lib/losant_rest/events.rb', line 315 def post(params = {}) params = Utils.symbolize_hash_keys(params) query_params = { _actions: false, _links: true, _embedded: true } headers = {} body = nil raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId) raise ArgumentError.new("event is required") unless params.has_key?(:event) body = params[:event] if params.has_key?(:event) headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain) query_params[:_actions] = params[:_actions] if params.has_key?(:_actions) query_params[:_links] = params[:_links] if params.has_key?(:_links) query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded) path = "/applications/#{params[:applicationId]}/events" @client.request( method: :post, path: path, query: query_params, headers: headers, body: body) end |