Class: NgrokAPI::Services::TunnelSessionsClient

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

Overview

Tunnel Sessions represent instances of ngrok agents or SSH reverse tunnel sessions that are running and connected to the ngrok service. Each tunnel session can include one or more Tunnels.

ngrok.com/docs/api#api-tunnel-sessions

Constant Summary collapse

LIST_PROPERTY =

The List Property from the resulting API for list calls

'tunnel_sessions'
PATH =

The API path for the requests

'/tunnel_sessions'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ TunnelSessionsClient

Returns a new instance of TunnelSessionsClient.



19
20
21
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 19

def initialize(client:)
  @client = client
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



17
18
19
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 17

def client
  @client
end

Instance Method Details

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

Get the detailed status of a tunnel session by ID

ngrok.com/docs/api#api-tunnel-sessions-get

Parameters:

  • id (string) (defaults to: "")

    a resource identifier

Returns:



91
92
93
94
95
96
97
98
99
100
101
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 91

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

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

Get the detailed status of a tunnel session by ID Throws an exception if API error.

ngrok.com/docs/api#api-tunnel-sessions-get

Parameters:

  • id (string) (defaults to: "")

    a resource identifier

Returns:



111
112
113
114
115
116
117
118
119
120
121
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 111

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

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

List all online tunnel sessions running on this account.

ngrok.com/docs/api#api-tunnel-sessions-list

Parameters:

  • before_id (string) (defaults to: nil)
  • limit (string) (defaults to: nil)
  • url (string) (defaults to: nil)

    optional and mutually exclusive from before_id and limit

Returns:



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

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::TunnelSession
  )
end

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

List all online tunnel sessions running on this account. Throws an exception if API error.

ngrok.com/docs/api#api-tunnel-sessions-list

Parameters:

  • before_id (string) (defaults to: nil)
  • limit (string) (defaults to: nil)
  • url (string) (defaults to: nil)

    optional and mutually exclusive from before_id and limit

Returns:



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 62

def list!(
  before_id: nil,
  limit: nil,
  url: nil
)
  result = @client.list(
    before_id: before_id,
    limit: limit,
    danger: true,
    url: url,
    path: PATH
  )

  NgrokAPI::Models::Listable.new(
    client: self,
    result: result,
    list_property: LIST_PROPERTY,
    klass: NgrokAPI::Models::TunnelSession,
    danger: true
  )
end

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

Issues a command instructing the ngrok agent to restart. The agent restarts itself by calling exec() on platforms that support it. This operation is notably not supported on Windows. When an agent restarts, it reconnects with a new tunnel session ID.

ngrok.com/docs/api#api-tunnel-sessions-restart

Parameters:

  • id (string) (defaults to: "")

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



133
134
135
136
137
138
139
140
141
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 133

def restart(
  id: ""
)
  path = '/tunnel_sessions/%{id}/restart'
  replacements = {
    id: id,
  }
  @client.post(path % replacements)
end

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

Issues a command instructing the ngrok agent to restart. The agent restarts itself by calling exec() on platforms that support it. This operation is notably not supported on Windows. When an agent restarts, it reconnects with a new tunnel session ID. Throws an exception if API error.

ngrok.com/docs/api#api-tunnel-sessions-restart

Parameters:

  • id (string) (defaults to: "")

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



154
155
156
157
158
159
160
161
162
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 154

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

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

Issues a command instructing the ngrok agent that started this tunnel session to exit.

ngrok.com/docs/api#api-tunnel-sessions-stop

Parameters:

  • id (string) (defaults to: "")

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



172
173
174
175
176
177
178
179
180
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 172

def stop(
  id: ""
)
  path = '/tunnel_sessions/%{id}/stop'
  replacements = {
    id: id,
  }
  @client.post(path % replacements)
end

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

Issues a command instructing the ngrok agent that started this tunnel session to exit. Throws an exception if API error.

ngrok.com/docs/api#api-tunnel-sessions-stop

Parameters:

  • id (string) (defaults to: "")

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



191
192
193
194
195
196
197
198
199
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 191

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

#update(id: "", version: "") ⇒ NgrokAPI::Models::Empty

Issues a command instructing the ngrok agent to update itself to the latest version. After this call completes successfully, the ngrok agent will be in the update process. A caller should wait some amount of time to allow the update to complete (at least 10 seconds) before making a call to the Restart endpoint to request that the agent restart itself to start using the new code. This call will never update an ngrok agent to a new major version which could cause breaking compatibility issues. If you wish to update to a new major version, that must be done manually. Still, please be aware that updating your ngrok agent could break your integration. This call will fail in any of the following circumstances: there is no update available the ngrok agent's configuration disabled update checks the agent is currently in process of updating the agent has already successfully updated but has not yet been restarted

ngrok.com/docs/api#api-tunnel-sessions-update

Parameters:

  • id (string) (defaults to: "")

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



219
220
221
222
223
224
225
226
227
228
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 219

def update(
  id: "",
  version: ""
)
  path = '/tunnel_sessions/%{id}/update'
  replacements = {
    id: id,
  }
  @client.post(path % replacements)
end

#update!(id: "", version: "") ⇒ NgrokAPI::Models::Empty

Issues a command instructing the ngrok agent to update itself to the latest version. After this call completes successfully, the ngrok agent will be in the update process. A caller should wait some amount of time to allow the update to complete (at least 10 seconds) before making a call to the Restart endpoint to request that the agent restart itself to start using the new code. This call will never update an ngrok agent to a new major version which could cause breaking compatibility issues. If you wish to update to a new major version, that must be done manually. Still, please be aware that updating your ngrok agent could break your integration. This call will fail in any of the following circumstances: there is no update available the ngrok agent's configuration disabled update checks the agent is currently in process of updating the agent has already successfully updated but has not yet been restarted Throws an exception if API error.

ngrok.com/docs/api#api-tunnel-sessions-update

Parameters:

  • id (string) (defaults to: "")

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



249
250
251
252
253
254
255
256
257
258
# File 'lib/ngrokapi/services/tunnel_sessions_client.rb', line 249

def update!(
  id: "",
  version: ""
)
  path = '/tunnel_sessions/%{id}/update'
  replacements = {
    id: id,
  }
  @client.post(path % replacements, danger: true)
end