Class: PlatformRest::Events
- Inherits:
-
Object
- Object
- PlatformRest::Events
- Defined in:
- lib/platform_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/platform_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 email - Email address to send job complete notification to. Defaults to current user’s email.
-
string callbackUrl - Callback URL to call with delete result
-
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)
-
202 - If a bulk delete job has been enqueued (api.losant.com/#/definitions/jobEnqueuedResult)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
-
404 - Error if events were not found (api.losant.com/#/definitions/error)
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/platform_rest/events.rb', line 59 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) query_params[:email] = params[:email] if params.has_key?(:email) query_params[:callbackUrl] = params[:callbackUrl] if params.has_key?(:callbackUrl) 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)
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/platform_rest/events.rb', line 107 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)
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 186 187 188 189 190 |
# File 'lib/platform_rest/events.rb', line 160 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)
214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 |
# File 'lib/platform_rest/events.rb', line 214 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)
267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 |
# File 'lib/platform_rest/events.rb', line 267 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)
320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 |
# File 'lib/platform_rest/events.rb', line 320 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 |