Class: NgrokAPI::Services::TunnelSessionsClient
- Inherits:
-
Object
- Object
- NgrokAPI::Services::TunnelSessionsClient
- 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.
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
-
#client ⇒ Object
readonly
Returns the value of attribute client.
Instance Method Summary collapse
-
#get(id: "") ⇒ NgrokAPI::Models::TunnelSession
Get the detailed status of a tunnel session by ID.
-
#get!(id: "") ⇒ NgrokAPI::Models::TunnelSession
Get the detailed status of a tunnel session by ID Throws an exception if API error.
-
#initialize(client:) ⇒ TunnelSessionsClient
constructor
A new instance of TunnelSessionsClient.
-
#list(before_id: nil, limit: nil, url: nil) ⇒ NgrokAPI::Models::Listable
List all online tunnel sessions running on this account.
-
#list!(before_id: nil, limit: nil, url: nil) ⇒ NgrokAPI::Models::Listable
List all online tunnel sessions running on this account.
-
#restart(id: "") ⇒ NgrokAPI::Models::Empty
Issues a command instructing the ngrok agent to restart.
-
#restart!(id: "") ⇒ NgrokAPI::Models::Empty
Issues a command instructing the ngrok agent to restart.
-
#stop(id: "") ⇒ NgrokAPI::Models::Empty
Issues a command instructing the ngrok agent that started this tunnel session to exit.
-
#stop!(id: "") ⇒ NgrokAPI::Models::Empty
Issues a command instructing the ngrok agent that started this tunnel session to exit.
-
#update(id: "", version: "") ⇒ NgrokAPI::Models::Empty
Issues a command instructing the ngrok agent to update itself to the latest version.
-
#update!(id: "", version: "") ⇒ NgrokAPI::Models::Empty
Issues a command instructing the ngrok agent to update itself to the latest version.
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
#client ⇒ Object (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
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.
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.
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.
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.
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.
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.
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.
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
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.
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 |