Class: NgrokAPI::Services::EventStreamsClient

Inherits:
Object
  • Object
show all
Defined in:
lib/ngrokapi/services/event_streams_client.rb

Overview

Constant Summary collapse

PATH =

The API path for the requests

'/event_streams'
LIST_PROPERTY =

The List Property from the resulting API for list calls

'event_streams'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ EventStreamsClient

Returns a new instance of EventStreamsClient.



15
16
17
# File 'lib/ngrokapi/services/event_streams_client.rb', line 15

def initialize(client:)
  @client = client
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



13
14
15
# File 'lib/ngrokapi/services/event_streams_client.rb', line 13

def client
  @client
end

Instance Method Details

#create(metadata: "", description: "", fields: [], event_type: "", destination_ids: [], sampling_rate: 0) ⇒ NgrokAPI::Models::EventStream

Create a new Event Stream. It will not apply to anything until you associate it with one or more Endpoint Configs.

ngrok.com/docs/api#api-event-streams-create

Parameters:

  • (defaults to: "")

    Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes.

  • (defaults to: "")

    Human-readable description of the Event Stream. Optional, max 255 bytes.

  • (defaults to: [])

    A list of protocol-specific fields you want to collect on each event.

  • (defaults to: "")

    The protocol that determines which events will be collected. Supported values are tcp_connection_closed and http_request_complete.

  • (defaults to: [])

    A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination.

  • (defaults to: 0)

    The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events.

Returns:

  • result from the API request



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/ngrokapi/services/event_streams_client.rb', line 32

def create(
  metadata: "",
  description: "",
  fields: [],
  event_type: "",
  destination_ids: [],
  sampling_rate: 0
)
  path = '/event_streams'
  replacements = {
  }
  data = {}
  data[:metadata] =  if 
  data[:description] = description if description
  data[:fields] = fields if fields
  data[:event_type] = event_type if event_type
  data[:destination_ids] = destination_ids if destination_ids
  data[:sampling_rate] = sampling_rate if sampling_rate
  result = @client.post(path % replacements, data: data)
  NgrokAPI::Models::EventStream.new(client: self, result: result)
end

#delete(id: "") ⇒ NgrokAPI::Models::Empty

Delete an Event Stream. Associated Event Destinations will be preserved.

ngrok.com/docs/api#api-event-streams-delete

Parameters:

  • (defaults to: "")

    a resource identifier

Returns:

  • result from the API request



61
62
63
64
65
66
67
68
69
# File 'lib/ngrokapi/services/event_streams_client.rb', line 61

def delete(
  id: ""
)
  path = '/event_streams/%{id}'
  replacements = {
    id: id,
  }
  @client.delete(path % replacements)
end

#delete!(id: "") ⇒ NgrokAPI::Models::Empty

Delete an Event Stream. Associated Event Destinations will be preserved. Throws an exception if API error.

ngrok.com/docs/api#api-event-streams-delete

Parameters:

  • (defaults to: "")

    a resource identifier

Returns:

  • result from the API request



79
80
81
82
83
84
85
86
87
# File 'lib/ngrokapi/services/event_streams_client.rb', line 79

def delete!(
  id: ""
)
  path = '/event_streams/%{id}'
  replacements = {
    id: id,
  }
  @client.delete(path % replacements, danger: true)
end

#get(id: "") ⇒ NgrokAPI::Models::EventStream

Get detailed information about an Event Stream by ID.

ngrok.com/docs/api#api-event-streams-get

Parameters:

  • (defaults to: "")

    a resource identifier

Returns:

  • result from the API request



96
97
98
99
100
101
102
103
104
105
106
# File 'lib/ngrokapi/services/event_streams_client.rb', line 96

def get(
  id: ""
)
  path = '/event_streams/%{id}'
  replacements = {
    id: id,
  }
  data = {}
  result = @client.get(path % replacements, data: data)
  NgrokAPI::Models::EventStream.new(client: self, result: result)
end

#get!(id: "") ⇒ NgrokAPI::Models::EventStream

Get detailed information about an Event Stream by ID. Throws an exception if API error.

ngrok.com/docs/api#api-event-streams-get

Parameters:

  • (defaults to: "")

    a resource identifier

Returns:

  • result from the API request



116
117
118
119
120
121
122
123
124
125
126
# File 'lib/ngrokapi/services/event_streams_client.rb', line 116

def get!(
  id: ""
)
  path = '/event_streams/%{id}'
  replacements = {
    id: id,
  }
  data = {}
  result = @client.get(path % replacements, data: data, danger: true)
  NgrokAPI::Models::EventStream.new(client: self, result: result)
end

#list(before_id: nil, limit: nil, url: nil) ⇒ NgrokAPI::Models::Listable

List all Event Streams available on this account.

ngrok.com/docs/api#api-event-streams-list

Parameters:

  • (defaults to: nil)
  • (defaults to: nil)
  • (defaults to: nil)

    optional and mutually exclusive from before_id and limit

Returns:

  • result from the API request



137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# File 'lib/ngrokapi/services/event_streams_client.rb', line 137

def list(
  before_id: nil,
  limit: nil,
  url: nil
)
  result = @client.list(
    before_id: before_id,
    limit: limit,
    url: url,
    path: PATH
  )
  NgrokAPI::Models::Listable.new(
    client: self,
    result: result,
    list_property: LIST_PROPERTY,
    klass: NgrokAPI::Models::EventStream
  )
end

#update(id: "", metadata: nil, description: nil, fields: nil, destination_ids: nil, sampling_rate: nil) ⇒ NgrokAPI::Models::EventStream

Update attributes of an Event Stream by ID.

ngrok.com/docs/api#api-event-streams-update

Parameters:

  • (defaults to: "")

    Unique identifier for this Event Stream.

  • (defaults to: nil)

    Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes.

  • (defaults to: nil)

    Human-readable description of the Event Stream. Optional, max 255 bytes.

  • (defaults to: nil)

    A list of protocol-specific fields you want to collect on each event.

  • (defaults to: nil)

    A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination.

  • (defaults to: nil)

    The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events.

Returns:

  • result from the API request



168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
# File 'lib/ngrokapi/services/event_streams_client.rb', line 168

def update(
  id: "",
  metadata: nil,
  description: nil,
  fields: nil,
  destination_ids: nil,
  sampling_rate: nil
)
  path = '/event_streams/%{id}'
  replacements = {
    id: id,
  }
  data = {}
  data[:metadata] =  if 
  data[:description] = description if description
  data[:fields] = fields if fields
  data[:destination_ids] = destination_ids if destination_ids
  data[:sampling_rate] = sampling_rate if sampling_rate
  result = @client.patch(path % replacements, data: data)
  NgrokAPI::Models::EventStream.new(client: self, result: result)
end

#update!(id: "", metadata: nil, description: nil, fields: nil, destination_ids: nil, sampling_rate: nil) ⇒ NgrokAPI::Models::EventStream

Update attributes of an Event Stream by ID. Throws an exception if API error.

ngrok.com/docs/api#api-event-streams-update

Parameters:

  • (defaults to: "")

    Unique identifier for this Event Stream.

  • (defaults to: nil)

    Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes.

  • (defaults to: nil)

    Human-readable description of the Event Stream. Optional, max 255 bytes.

  • (defaults to: nil)

    A list of protocol-specific fields you want to collect on each event.

  • (defaults to: nil)

    A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination.

  • (defaults to: nil)

    The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events.

Returns:

  • result from the API request



203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
# File 'lib/ngrokapi/services/event_streams_client.rb', line 203

def update!(
  id: "",
  metadata: nil,
  description: nil,
  fields: nil,
  destination_ids: nil,
  sampling_rate: nil
)
  path = '/event_streams/%{id}'
  replacements = {
    id: id,
  }
  data = {}
  data[:metadata] =  if 
  data[:description] = description if description
  data[:fields] = fields if fields
  data[:destination_ids] = destination_ids if destination_ids
  data[:sampling_rate] = sampling_rate if sampling_rate
  result = @client.patch(path % replacements, data: data, danger: true)
  NgrokAPI::Models::EventStream.new(client: self, result: result)
end