ngrok-api 0.18.0 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (587) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +7 -7
  3. data/.gitignore +15 -13
  4. data/.rubocop.yml +30 -28
  5. data/.rubocop_airbnb.yml +4 -2
  6. data/.simplecov +3 -1
  7. data/CHANGELOG.md +8 -0
  8. data/CODE_OF_CONDUCT.md +45 -0
  9. data/Gemfile +34 -32
  10. data/Guardfile +18 -16
  11. data/README.md +94 -61
  12. data/Rakefile +9 -7
  13. data/doc/NgrokAPI/Client.html +229 -125
  14. data/doc/NgrokAPI/Error.html +12 -12
  15. data/doc/NgrokAPI/Errors/NotFoundError.html +12 -12
  16. data/doc/NgrokAPI/Errors.html +4 -4
  17. data/doc/NgrokAPI/HttpClient.html +208 -65
  18. data/doc/NgrokAPI/Models/APIKey.html +220 -90
  19. data/doc/NgrokAPI/Models/AWSAuth.html +113 -61
  20. data/doc/NgrokAPI/Models/AWSCredentials.html +120 -68
  21. data/doc/NgrokAPI/Models/AWSRole.html +101 -49
  22. data/doc/NgrokAPI/Models/AbuseReport.html +165 -109
  23. data/doc/NgrokAPI/Models/AbuseReportHostname.html +113 -61
  24. data/doc/NgrokAPI/Models/AgentIngress.html +365 -155
  25. data/doc/NgrokAPI/Models/AgentIngressCertJob.html +817 -0
  26. data/doc/NgrokAPI/Models/AgentIngressCertPolicy.html +669 -0
  27. data/doc/NgrokAPI/Models/AgentIngressCertStatus.html +669 -0
  28. data/doc/NgrokAPI/Models/ApplicationSession.html +1414 -0
  29. data/doc/NgrokAPI/Models/ApplicationUser.html +1336 -0
  30. data/doc/NgrokAPI/Models/BrowserSession.html +743 -0
  31. data/doc/NgrokAPI/Models/CertificateAuthority.html +223 -167
  32. data/doc/NgrokAPI/Models/Credential.html +225 -95
  33. data/doc/NgrokAPI/Models/Endpoint.html +215 -159
  34. data/doc/NgrokAPI/Models/EndpointBackend.html +120 -68
  35. data/doc/NgrokAPI/Models/EndpointBackendMutate.html +120 -68
  36. data/doc/NgrokAPI/Models/EndpointCircuitBreaker.html +147 -95
  37. data/doc/NgrokAPI/Models/EndpointCompression.html +108 -56
  38. data/doc/NgrokAPI/Models/EndpointIPPolicy.html +120 -68
  39. data/doc/NgrokAPI/Models/EndpointIPPolicyMutate.html +120 -68
  40. data/doc/NgrokAPI/Models/EndpointMutualTLS.html +120 -68
  41. data/doc/NgrokAPI/Models/EndpointMutualTLSMutate.html +120 -68
  42. data/doc/NgrokAPI/Models/EndpointOAuth.html +166 -114
  43. data/doc/NgrokAPI/Models/EndpointOAuthAmazon.html +891 -0
  44. data/doc/NgrokAPI/Models/EndpointOAuthFacebook.html +149 -97
  45. data/doc/NgrokAPI/Models/EndpointOAuthGitHub.html +166 -114
  46. data/doc/NgrokAPI/Models/EndpointOAuthGitLab.html +891 -0
  47. data/doc/NgrokAPI/Models/EndpointOAuthGoogle.html +149 -97
  48. data/doc/NgrokAPI/Models/EndpointOAuthLinkedIn.html +891 -0
  49. data/doc/NgrokAPI/Models/EndpointOAuthMicrosoft.html +149 -97
  50. data/doc/NgrokAPI/Models/EndpointOAuthProvider.html +410 -62
  51. data/doc/NgrokAPI/Models/EndpointOAuthTwitch.html +891 -0
  52. data/doc/NgrokAPI/Models/EndpointOIDC.html +183 -131
  53. data/doc/NgrokAPI/Models/EndpointRequestHeaders.html +125 -73
  54. data/doc/NgrokAPI/Models/EndpointResponseHeaders.html +125 -73
  55. data/doc/NgrokAPI/Models/EndpointSAML.html +244 -176
  56. data/doc/NgrokAPI/Models/EndpointSAMLMutate.html +197 -141
  57. data/doc/NgrokAPI/Models/EndpointTLSTermination.html +125 -73
  58. data/doc/NgrokAPI/Models/EndpointTLSTerminationAtEdge.html +120 -68
  59. data/doc/NgrokAPI/Models/EndpointWebhookValidation.html +125 -73
  60. data/doc/NgrokAPI/Models/EndpointWebsocketTCPConverter.html +108 -56
  61. data/doc/NgrokAPI/Models/EventDestination.html +178 -122
  62. data/doc/NgrokAPI/Models/EventSource.html +136 -80
  63. data/doc/NgrokAPI/Models/EventSourceList.html +112 -56
  64. data/doc/NgrokAPI/Models/EventSourceReplace.html +125 -73
  65. data/doc/NgrokAPI/Models/EventSubscription.html +178 -122
  66. data/doc/NgrokAPI/Models/EventTarget.html +206 -80
  67. data/doc/NgrokAPI/Models/EventTargetCloudwatchLogs.html +120 -68
  68. data/doc/NgrokAPI/Models/EventTargetDatadog.html +817 -0
  69. data/doc/NgrokAPI/Models/EventTargetFirehose.html +120 -68
  70. data/doc/NgrokAPI/Models/EventTargetKinesis.html +113 -61
  71. data/doc/NgrokAPI/Models/FailoverBackend.html +186 -130
  72. data/doc/NgrokAPI/Models/HTTPResponseBackend.html +202 -146
  73. data/doc/NgrokAPI/Models/HTTPSEdge.html +207 -151
  74. data/doc/NgrokAPI/Models/HTTPSEdgeRoute.html +272 -216
  75. data/doc/NgrokAPI/Models/IPPolicy.html +178 -122
  76. data/doc/NgrokAPI/Models/IPPolicyRule.html +201 -145
  77. data/doc/NgrokAPI/Models/IPRestriction.html +190 -134
  78. data/doc/NgrokAPI/Models/IdentityProvider.html +669 -0
  79. data/doc/NgrokAPI/Models/Listable.html +130 -130
  80. data/doc/NgrokAPI/Models/Location.html +817 -0
  81. data/doc/NgrokAPI/Models/Ref.html +119 -63
  82. data/doc/NgrokAPI/Models/ReservedAddr.html +189 -133
  83. data/doc/NgrokAPI/Models/ReservedDomain.html +231 -175
  84. data/doc/NgrokAPI/Models/ReservedDomainCertJob.html +130 -78
  85. data/doc/NgrokAPI/Models/ReservedDomainCertPolicy.html +120 -68
  86. data/doc/NgrokAPI/Models/ReservedDomainCertStatus.html +120 -68
  87. data/doc/NgrokAPI/Models/SSHCertificateAuthority.html +197 -141
  88. data/doc/NgrokAPI/Models/SSHCredential.html +232 -102
  89. data/doc/NgrokAPI/Models/SSHHostCertificate.html +226 -170
  90. data/doc/NgrokAPI/Models/SSHUserCertificate.html +240 -184
  91. data/doc/NgrokAPI/Models/TCPEdge.html +204 -148
  92. data/doc/NgrokAPI/Models/TLSCertificate.html +279 -223
  93. data/doc/NgrokAPI/Models/TLSCertificateSANs.html +120 -68
  94. data/doc/NgrokAPI/Models/TLSEdge.html +216 -160
  95. data/doc/NgrokAPI/Models/Tunnel.html +205 -149
  96. data/doc/NgrokAPI/Models/TunnelGroupBackend.html +191 -135
  97. data/doc/NgrokAPI/Models/TunnelSession.html +193 -137
  98. data/doc/NgrokAPI/Models/UserAgent.html +965 -0
  99. data/doc/NgrokAPI/Models/WeightedBackend.html +186 -130
  100. data/doc/NgrokAPI/Models.html +6 -6
  101. data/doc/NgrokAPI/PagedIterator.html +53 -53
  102. data/doc/NgrokAPI/Services/APIKeysClient.html +302 -127
  103. data/doc/NgrokAPI/Services/AbuseReportsClient.html +176 -39
  104. data/doc/NgrokAPI/Services/AgentIngressesClient.html +366 -133
  105. data/doc/NgrokAPI/Services/ApplicationSessionsClient.html +1131 -0
  106. data/doc/NgrokAPI/Services/ApplicationUsersClient.html +1131 -0
  107. data/doc/NgrokAPI/Services/CertificateAuthoritiesClient.html +276 -123
  108. data/doc/NgrokAPI/Services/CredentialsClient.html +328 -133
  109. data/doc/NgrokAPI/Services/EdgeRouteBackendModuleClient.html +22 -26
  110. data/doc/NgrokAPI/Services/EdgeRouteCircuitBreakerModuleClient.html +22 -26
  111. data/doc/NgrokAPI/Services/EdgeRouteCompressionModuleClient.html +22 -26
  112. data/doc/NgrokAPI/Services/EdgeRouteIPRestrictionModuleClient.html +22 -26
  113. data/doc/NgrokAPI/Services/EdgeRouteOAuthModuleClient.html +22 -26
  114. data/doc/NgrokAPI/Services/EdgeRouteOIDCModuleClient.html +22 -26
  115. data/doc/NgrokAPI/Services/EdgeRouteRequestHeadersModuleClient.html +22 -26
  116. data/doc/NgrokAPI/Services/EdgeRouteResponseHeadersModuleClient.html +22 -26
  117. data/doc/NgrokAPI/Services/EdgeRouteSAMLModuleClient.html +22 -26
  118. data/doc/NgrokAPI/Services/EdgeRouteWebhookVerificationModuleClient.html +22 -26
  119. data/doc/NgrokAPI/Services/EdgeRouteWebsocketTCPConverterModuleClient.html +22 -26
  120. data/doc/NgrokAPI/Services/EdgesHTTPSClient.html +319 -129
  121. data/doc/NgrokAPI/Services/EdgesHTTPSRoutesClient.html +528 -113
  122. data/doc/NgrokAPI/Services/EdgesTCPClient.html +319 -129
  123. data/doc/NgrokAPI/Services/EdgesTLSClient.html +353 -133
  124. data/doc/NgrokAPI/Services/EndpointsClient.html +22 -26
  125. data/doc/NgrokAPI/Services/EventDestinationsClient.html +302 -127
  126. data/doc/NgrokAPI/Services/EventSourcesClient.html +244 -105
  127. data/doc/NgrokAPI/Services/EventSubscriptionsClient.html +302 -127
  128. data/doc/NgrokAPI/Services/FailoverBackendsClient.html +282 -127
  129. data/doc/NgrokAPI/Services/HTTPResponseBackendsClient.html +322 -129
  130. data/doc/NgrokAPI/Services/HTTPSEdgeMutualTLSModuleClient.html +22 -26
  131. data/doc/NgrokAPI/Services/HTTPSEdgeTLSTerminationModuleClient.html +22 -26
  132. data/doc/NgrokAPI/Services/IPPoliciesClient.html +258 -123
  133. data/doc/NgrokAPI/Services/IPPolicyRulesClient.html +317 -130
  134. data/doc/NgrokAPI/Services/IPRestrictionsClient.html +318 -127
  135. data/doc/NgrokAPI/Services/ReservedAddrsClient.html +278 -123
  136. data/doc/NgrokAPI/Services/ReservedDomainsClient.html +388 -171
  137. data/doc/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +318 -123
  138. data/doc/NgrokAPI/Services/SSHCredentialsClient.html +345 -132
  139. data/doc/NgrokAPI/Services/SSHHostCertificatesClient.html +354 -123
  140. data/doc/NgrokAPI/Services/SSHUserCertificatesClient.html +397 -126
  141. data/doc/NgrokAPI/Services/TCPEdgeBackendModuleClient.html +22 -26
  142. data/doc/NgrokAPI/Services/TCPEdgeIPRestrictionModuleClient.html +22 -26
  143. data/doc/NgrokAPI/Services/TLSCertificatesClient.html +296 -125
  144. data/doc/NgrokAPI/Services/TLSEdgeBackendModuleClient.html +22 -26
  145. data/doc/NgrokAPI/Services/TLSEdgeIPRestrictionModuleClient.html +22 -26
  146. data/doc/NgrokAPI/Services/TLSEdgeMutualTLSModuleClient.html +22 -26
  147. data/doc/NgrokAPI/Services/TLSEdgeTLSTerminationModuleClient.html +22 -26
  148. data/doc/NgrokAPI/Services/TunnelGroupBackendsClient.html +282 -127
  149. data/doc/NgrokAPI/Services/TunnelSessionsClient.html +22 -26
  150. data/doc/NgrokAPI/Services/TunnelsClient.html +22 -26
  151. data/doc/NgrokAPI/Services/WeightedBackendsClient.html +285 -130
  152. data/doc/NgrokAPI/Services.html +6 -6
  153. data/doc/NgrokAPI.html +6 -6
  154. data/doc/_index.html +139 -8
  155. data/doc/class_list.html +1 -1
  156. data/doc/file.README.html +55 -51
  157. data/doc/frames.html +1 -1
  158. data/doc/index.html +55 -51
  159. data/doc/method_list.html +4383 -2175
  160. data/doc/top-level-namespace.html +4 -4
  161. data/docs/NgrokAPI/Client.html +229 -125
  162. data/docs/NgrokAPI/Error.html +12 -12
  163. data/docs/NgrokAPI/Errors/NotFoundError.html +12 -12
  164. data/docs/NgrokAPI/Errors.html +4 -4
  165. data/docs/NgrokAPI/HttpClient.html +208 -65
  166. data/docs/NgrokAPI/Models/APIKey.html +220 -90
  167. data/docs/NgrokAPI/Models/AWSAuth.html +113 -61
  168. data/docs/NgrokAPI/Models/AWSCredentials.html +120 -68
  169. data/docs/NgrokAPI/Models/AWSRole.html +101 -49
  170. data/docs/NgrokAPI/Models/AbuseReport.html +165 -109
  171. data/docs/NgrokAPI/Models/AbuseReportHostname.html +113 -61
  172. data/docs/NgrokAPI/Models/AgentIngress.html +365 -155
  173. data/docs/NgrokAPI/Models/AgentIngressCertJob.html +817 -0
  174. data/docs/NgrokAPI/Models/AgentIngressCertPolicy.html +669 -0
  175. data/docs/NgrokAPI/Models/AgentIngressCertStatus.html +669 -0
  176. data/docs/NgrokAPI/Models/ApplicationSession.html +1414 -0
  177. data/docs/NgrokAPI/Models/ApplicationUser.html +1336 -0
  178. data/docs/NgrokAPI/Models/BrowserSession.html +743 -0
  179. data/docs/NgrokAPI/Models/CertificateAuthority.html +223 -167
  180. data/docs/NgrokAPI/Models/Credential.html +225 -95
  181. data/docs/NgrokAPI/Models/Endpoint.html +215 -159
  182. data/docs/NgrokAPI/Models/EndpointBackend.html +120 -68
  183. data/docs/NgrokAPI/Models/EndpointBackendMutate.html +120 -68
  184. data/docs/NgrokAPI/Models/EndpointCircuitBreaker.html +147 -95
  185. data/docs/NgrokAPI/Models/EndpointCompression.html +108 -56
  186. data/docs/NgrokAPI/Models/EndpointIPPolicy.html +120 -68
  187. data/docs/NgrokAPI/Models/EndpointIPPolicyMutate.html +120 -68
  188. data/docs/NgrokAPI/Models/EndpointMutualTLS.html +120 -68
  189. data/docs/NgrokAPI/Models/EndpointMutualTLSMutate.html +120 -68
  190. data/docs/NgrokAPI/Models/EndpointOAuth.html +166 -114
  191. data/docs/NgrokAPI/Models/EndpointOAuthAmazon.html +891 -0
  192. data/docs/NgrokAPI/Models/EndpointOAuthFacebook.html +149 -97
  193. data/docs/NgrokAPI/Models/EndpointOAuthGitHub.html +166 -114
  194. data/docs/NgrokAPI/Models/EndpointOAuthGitLab.html +891 -0
  195. data/docs/NgrokAPI/Models/EndpointOAuthGoogle.html +149 -97
  196. data/docs/NgrokAPI/Models/EndpointOAuthLinkedIn.html +891 -0
  197. data/docs/NgrokAPI/Models/EndpointOAuthMicrosoft.html +149 -97
  198. data/docs/NgrokAPI/Models/EndpointOAuthProvider.html +410 -62
  199. data/docs/NgrokAPI/Models/EndpointOAuthTwitch.html +891 -0
  200. data/docs/NgrokAPI/Models/EndpointOIDC.html +183 -131
  201. data/docs/NgrokAPI/Models/EndpointRequestHeaders.html +125 -73
  202. data/docs/NgrokAPI/Models/EndpointResponseHeaders.html +125 -73
  203. data/docs/NgrokAPI/Models/EndpointSAML.html +244 -176
  204. data/docs/NgrokAPI/Models/EndpointSAMLMutate.html +197 -141
  205. data/docs/NgrokAPI/Models/EndpointTLSTermination.html +125 -73
  206. data/docs/NgrokAPI/Models/EndpointTLSTerminationAtEdge.html +120 -68
  207. data/docs/NgrokAPI/Models/EndpointWebhookValidation.html +125 -73
  208. data/docs/NgrokAPI/Models/EndpointWebsocketTCPConverter.html +108 -56
  209. data/docs/NgrokAPI/Models/EventDestination.html +178 -122
  210. data/docs/NgrokAPI/Models/EventSource.html +136 -80
  211. data/docs/NgrokAPI/Models/EventSourceList.html +112 -56
  212. data/docs/NgrokAPI/Models/EventSourceReplace.html +125 -73
  213. data/docs/NgrokAPI/Models/EventSubscription.html +178 -122
  214. data/docs/NgrokAPI/Models/EventTarget.html +206 -80
  215. data/docs/NgrokAPI/Models/EventTargetCloudwatchLogs.html +120 -68
  216. data/docs/NgrokAPI/Models/EventTargetDatadog.html +817 -0
  217. data/docs/NgrokAPI/Models/EventTargetFirehose.html +120 -68
  218. data/docs/NgrokAPI/Models/EventTargetKinesis.html +113 -61
  219. data/docs/NgrokAPI/Models/FailoverBackend.html +186 -130
  220. data/docs/NgrokAPI/Models/HTTPResponseBackend.html +202 -146
  221. data/docs/NgrokAPI/Models/HTTPSEdge.html +207 -151
  222. data/docs/NgrokAPI/Models/HTTPSEdgeRoute.html +272 -216
  223. data/docs/NgrokAPI/Models/IPPolicy.html +178 -122
  224. data/docs/NgrokAPI/Models/IPPolicyRule.html +201 -145
  225. data/docs/NgrokAPI/Models/IPRestriction.html +190 -134
  226. data/docs/NgrokAPI/Models/IdentityProvider.html +669 -0
  227. data/docs/NgrokAPI/Models/Listable.html +130 -130
  228. data/docs/NgrokAPI/Models/Location.html +817 -0
  229. data/docs/NgrokAPI/Models/Ref.html +119 -63
  230. data/docs/NgrokAPI/Models/ReservedAddr.html +189 -133
  231. data/docs/NgrokAPI/Models/ReservedDomain.html +231 -175
  232. data/docs/NgrokAPI/Models/ReservedDomainCertJob.html +130 -78
  233. data/docs/NgrokAPI/Models/ReservedDomainCertPolicy.html +120 -68
  234. data/docs/NgrokAPI/Models/ReservedDomainCertStatus.html +120 -68
  235. data/docs/NgrokAPI/Models/SSHCertificateAuthority.html +197 -141
  236. data/docs/NgrokAPI/Models/SSHCredential.html +232 -102
  237. data/docs/NgrokAPI/Models/SSHHostCertificate.html +226 -170
  238. data/docs/NgrokAPI/Models/SSHUserCertificate.html +240 -184
  239. data/docs/NgrokAPI/Models/TCPEdge.html +204 -148
  240. data/docs/NgrokAPI/Models/TLSCertificate.html +279 -223
  241. data/docs/NgrokAPI/Models/TLSCertificateSANs.html +120 -68
  242. data/docs/NgrokAPI/Models/TLSEdge.html +216 -160
  243. data/docs/NgrokAPI/Models/Tunnel.html +205 -149
  244. data/docs/NgrokAPI/Models/TunnelGroupBackend.html +191 -135
  245. data/docs/NgrokAPI/Models/TunnelSession.html +193 -137
  246. data/docs/NgrokAPI/Models/UserAgent.html +965 -0
  247. data/docs/NgrokAPI/Models/WeightedBackend.html +186 -130
  248. data/docs/NgrokAPI/Models.html +6 -6
  249. data/docs/NgrokAPI/PagedIterator.html +53 -53
  250. data/docs/NgrokAPI/Services/APIKeysClient.html +302 -127
  251. data/docs/NgrokAPI/Services/AbuseReportsClient.html +176 -39
  252. data/docs/NgrokAPI/Services/AgentIngressesClient.html +366 -133
  253. data/docs/NgrokAPI/Services/ApplicationSessionsClient.html +1131 -0
  254. data/docs/NgrokAPI/Services/ApplicationUsersClient.html +1131 -0
  255. data/docs/NgrokAPI/Services/CertificateAuthoritiesClient.html +276 -123
  256. data/docs/NgrokAPI/Services/CredentialsClient.html +328 -133
  257. data/docs/NgrokAPI/Services/EdgeRouteBackendModuleClient.html +22 -26
  258. data/docs/NgrokAPI/Services/EdgeRouteCircuitBreakerModuleClient.html +22 -26
  259. data/docs/NgrokAPI/Services/EdgeRouteCompressionModuleClient.html +22 -26
  260. data/docs/NgrokAPI/Services/EdgeRouteIPRestrictionModuleClient.html +22 -26
  261. data/docs/NgrokAPI/Services/EdgeRouteOAuthModuleClient.html +22 -26
  262. data/docs/NgrokAPI/Services/EdgeRouteOIDCModuleClient.html +22 -26
  263. data/docs/NgrokAPI/Services/EdgeRouteRequestHeadersModuleClient.html +22 -26
  264. data/docs/NgrokAPI/Services/EdgeRouteResponseHeadersModuleClient.html +22 -26
  265. data/docs/NgrokAPI/Services/EdgeRouteSAMLModuleClient.html +22 -26
  266. data/docs/NgrokAPI/Services/EdgeRouteWebhookVerificationModuleClient.html +22 -26
  267. data/docs/NgrokAPI/Services/EdgeRouteWebsocketTCPConverterModuleClient.html +22 -26
  268. data/docs/NgrokAPI/Services/EdgesHTTPSClient.html +319 -129
  269. data/docs/NgrokAPI/Services/EdgesHTTPSRoutesClient.html +528 -113
  270. data/docs/NgrokAPI/Services/EdgesTCPClient.html +319 -129
  271. data/docs/NgrokAPI/Services/EdgesTLSClient.html +353 -133
  272. data/docs/NgrokAPI/Services/EndpointsClient.html +22 -26
  273. data/docs/NgrokAPI/Services/EventDestinationsClient.html +302 -127
  274. data/docs/NgrokAPI/Services/EventSourcesClient.html +244 -105
  275. data/docs/NgrokAPI/Services/EventSubscriptionsClient.html +302 -127
  276. data/docs/NgrokAPI/Services/FailoverBackendsClient.html +282 -127
  277. data/docs/NgrokAPI/Services/HTTPResponseBackendsClient.html +322 -129
  278. data/docs/NgrokAPI/Services/HTTPSEdgeMutualTLSModuleClient.html +22 -26
  279. data/docs/NgrokAPI/Services/HTTPSEdgeTLSTerminationModuleClient.html +22 -26
  280. data/docs/NgrokAPI/Services/IPPoliciesClient.html +258 -123
  281. data/docs/NgrokAPI/Services/IPPolicyRulesClient.html +317 -130
  282. data/docs/NgrokAPI/Services/IPRestrictionsClient.html +318 -127
  283. data/docs/NgrokAPI/Services/ReservedAddrsClient.html +278 -123
  284. data/docs/NgrokAPI/Services/ReservedDomainsClient.html +388 -171
  285. data/docs/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +318 -123
  286. data/docs/NgrokAPI/Services/SSHCredentialsClient.html +345 -132
  287. data/docs/NgrokAPI/Services/SSHHostCertificatesClient.html +354 -123
  288. data/docs/NgrokAPI/Services/SSHUserCertificatesClient.html +397 -126
  289. data/docs/NgrokAPI/Services/TCPEdgeBackendModuleClient.html +22 -26
  290. data/docs/NgrokAPI/Services/TCPEdgeIPRestrictionModuleClient.html +22 -26
  291. data/docs/NgrokAPI/Services/TLSCertificatesClient.html +296 -125
  292. data/docs/NgrokAPI/Services/TLSEdgeBackendModuleClient.html +22 -26
  293. data/docs/NgrokAPI/Services/TLSEdgeIPRestrictionModuleClient.html +22 -26
  294. data/docs/NgrokAPI/Services/TLSEdgeMutualTLSModuleClient.html +22 -26
  295. data/docs/NgrokAPI/Services/TLSEdgeTLSTerminationModuleClient.html +22 -26
  296. data/docs/NgrokAPI/Services/TunnelGroupBackendsClient.html +282 -127
  297. data/docs/NgrokAPI/Services/TunnelSessionsClient.html +22 -26
  298. data/docs/NgrokAPI/Services/TunnelsClient.html +22 -26
  299. data/docs/NgrokAPI/Services/WeightedBackendsClient.html +285 -130
  300. data/docs/NgrokAPI/Services.html +6 -6
  301. data/docs/NgrokAPI.html +6 -6
  302. data/docs/_index.html +139 -8
  303. data/docs/class_list.html +1 -1
  304. data/docs/file.README.html +55 -51
  305. data/docs/frames.html +1 -1
  306. data/docs/index.html +55 -51
  307. data/docs/method_list.html +4383 -2175
  308. data/docs/top-level-namespace.html +4 -4
  309. data/lib/ngrokapi/client.rb +21 -11
  310. data/lib/ngrokapi/error.rb +2 -0
  311. data/lib/ngrokapi/errors/not_found_error.rb +2 -0
  312. data/lib/ngrokapi/http_client.rb +153 -131
  313. data/lib/ngrokapi/models/abuse_report.rb +22 -12
  314. data/lib/ngrokapi/models/abuse_report_hostname.rb +13 -7
  315. data/lib/ngrokapi/models/agent_ingress.rb +33 -16
  316. data/lib/ngrokapi/models/agent_ingress_cert_job.rb +37 -0
  317. data/lib/ngrokapi/models/agent_ingress_cert_policy.rb +33 -0
  318. data/lib/ngrokapi/models/agent_ingress_cert_status.rb +33 -0
  319. data/lib/ngrokapi/models/api_key.rb +24 -12
  320. data/lib/ngrokapi/models/application_session.rb +67 -0
  321. data/lib/ngrokapi/models/application_user.rb +63 -0
  322. data/lib/ngrokapi/models/aws_auth.rb +13 -7
  323. data/lib/ngrokapi/models/aws_credentials.rb +13 -7
  324. data/lib/ngrokapi/models/aws_role.rb +12 -6
  325. data/lib/ngrokapi/models/browser_session.rb +35 -0
  326. data/lib/ngrokapi/models/certificate_authority.rb +26 -16
  327. data/lib/ngrokapi/models/credential.rb +25 -13
  328. data/lib/ngrokapi/models/endpoint.rb +28 -18
  329. data/lib/ngrokapi/models/endpoint_backend.rb +13 -7
  330. data/lib/ngrokapi/models/endpoint_backend_mutate.rb +13 -7
  331. data/lib/ngrokapi/models/endpoint_circuit_breaker.rb +17 -11
  332. data/lib/ngrokapi/models/endpoint_compression.rb +12 -6
  333. data/lib/ngrokapi/models/endpoint_ip_policy.rb +13 -7
  334. data/lib/ngrokapi/models/endpoint_ip_policy_mutate.rb +13 -7
  335. data/lib/ngrokapi/models/endpoint_mutual_tls.rb +13 -7
  336. data/lib/ngrokapi/models/endpoint_mutual_tls_mutate.rb +13 -7
  337. data/lib/ngrokapi/models/endpoint_o_auth.rb +18 -12
  338. data/lib/ngrokapi/models/endpoint_o_auth_amazon.rb +39 -0
  339. data/lib/ngrokapi/models/endpoint_o_auth_facebook.rb +16 -10
  340. data/lib/ngrokapi/models/endpoint_o_auth_git_hub.rb +18 -12
  341. data/lib/ngrokapi/models/endpoint_o_auth_git_lab.rb +39 -0
  342. data/lib/ngrokapi/models/endpoint_o_auth_google.rb +16 -10
  343. data/lib/ngrokapi/models/endpoint_o_auth_linked_in.rb +39 -0
  344. data/lib/ngrokapi/models/endpoint_o_auth_microsoft.rb +16 -10
  345. data/lib/ngrokapi/models/endpoint_o_auth_provider.rb +24 -10
  346. data/lib/ngrokapi/models/endpoint_o_auth_twitch.rb +39 -0
  347. data/lib/ngrokapi/models/endpoint_oidc.rb +20 -14
  348. data/lib/ngrokapi/models/endpoint_request_headers.rb +14 -8
  349. data/lib/ngrokapi/models/endpoint_response_headers.rb +14 -8
  350. data/lib/ngrokapi/models/endpoint_saml.rb +37 -21
  351. data/lib/ngrokapi/models/endpoint_saml_mutate.rb +26 -16
  352. data/lib/ngrokapi/models/endpoint_tls_termination.rb +14 -8
  353. data/lib/ngrokapi/models/endpoint_tls_termination_at_edge.rb +13 -7
  354. data/lib/ngrokapi/models/endpoint_webhook_validation.rb +14 -8
  355. data/lib/ngrokapi/models/endpoint_websocket_tcp_converter.rb +12 -6
  356. data/lib/ngrokapi/models/event_destination.rb +22 -12
  357. data/lib/ngrokapi/models/event_source.rb +19 -9
  358. data/lib/ngrokapi/models/event_source_list.rb +17 -7
  359. data/lib/ngrokapi/models/event_source_replace.rb +14 -8
  360. data/lib/ngrokapi/models/event_subscription.rb +22 -12
  361. data/lib/ngrokapi/models/event_target.rb +18 -10
  362. data/lib/ngrokapi/models/event_target_cloudwatch_logs.rb +13 -7
  363. data/lib/ngrokapi/models/event_target_datadog.rb +37 -0
  364. data/lib/ngrokapi/models/event_target_firehose.rb +13 -7
  365. data/lib/ngrokapi/models/event_target_kinesis.rb +13 -7
  366. data/lib/ngrokapi/models/failover_backend.rb +22 -12
  367. data/lib/ngrokapi/models/http_response_backend.rb +23 -13
  368. data/lib/ngrokapi/models/https_edge.rb +24 -14
  369. data/lib/ngrokapi/models/https_edge_route.rb +34 -24
  370. data/lib/ngrokapi/models/identity_provider.rb +33 -0
  371. data/lib/ngrokapi/models/ip_policy.rb +21 -11
  372. data/lib/ngrokapi/models/ip_policy_rule.rb +23 -13
  373. data/lib/ngrokapi/models/ip_restriction.rb +23 -13
  374. data/lib/ngrokapi/models/listable.rb +55 -53
  375. data/lib/ngrokapi/models/location.rb +37 -0
  376. data/lib/ngrokapi/models/ref.rb +17 -7
  377. data/lib/ngrokapi/models/reserved_addr.rb +23 -13
  378. data/lib/ngrokapi/models/reserved_domain.rb +29 -19
  379. data/lib/ngrokapi/models/reserved_domain_cert_job.rb +15 -9
  380. data/lib/ngrokapi/models/reserved_domain_cert_policy.rb +13 -7
  381. data/lib/ngrokapi/models/reserved_domain_cert_status.rb +13 -7
  382. data/lib/ngrokapi/models/ssh_certificate_authority.rb +22 -12
  383. data/lib/ngrokapi/models/ssh_credential.rb +25 -13
  384. data/lib/ngrokapi/models/ssh_host_certificate.rb +27 -17
  385. data/lib/ngrokapi/models/ssh_user_certificate.rb +29 -19
  386. data/lib/ngrokapi/models/tcp_edge.rb +23 -13
  387. data/lib/ngrokapi/models/tls_certificate.rb +36 -26
  388. data/lib/ngrokapi/models/tls_certificate_sa_ns.rb +13 -7
  389. data/lib/ngrokapi/models/tls_edge.rb +25 -15
  390. data/lib/ngrokapi/models/tunnel.rb +26 -16
  391. data/lib/ngrokapi/models/tunnel_group_backend.rb +23 -13
  392. data/lib/ngrokapi/models/tunnel_session.rb +25 -15
  393. data/lib/ngrokapi/models/user_agent.rb +41 -0
  394. data/lib/ngrokapi/models/weighted_backend.rb +22 -12
  395. data/lib/ngrokapi/paged_iterator.rb +44 -42
  396. data/lib/ngrokapi/services/abuse_reports_client.rb +27 -3
  397. data/lib/ngrokapi/services/agent_ingresses_client.rb +45 -14
  398. data/lib/ngrokapi/services/api_keys_client.rb +37 -12
  399. data/lib/ngrokapi/services/application_sessions_client.rb +141 -0
  400. data/lib/ngrokapi/services/application_users_client.rb +141 -0
  401. data/lib/ngrokapi/services/certificate_authorities_client.rb +33 -11
  402. data/lib/ngrokapi/services/credentials_client.rb +45 -16
  403. data/lib/ngrokapi/services/edge_route_backend_module_client.rb +8 -8
  404. data/lib/ngrokapi/services/edge_route_circuit_breaker_module_client.rb +8 -8
  405. data/lib/ngrokapi/services/edge_route_compression_module_client.rb +8 -8
  406. data/lib/ngrokapi/services/edge_route_ip_restriction_module_client.rb +8 -8
  407. data/lib/ngrokapi/services/edge_route_o_auth_module_client.rb +8 -8
  408. data/lib/ngrokapi/services/edge_route_oidc_module_client.rb +8 -8
  409. data/lib/ngrokapi/services/edge_route_request_headers_module_client.rb +8 -8
  410. data/lib/ngrokapi/services/edge_route_response_headers_module_client.rb +8 -8
  411. data/lib/ngrokapi/services/edge_route_saml_module_client.rb +8 -8
  412. data/lib/ngrokapi/services/edge_route_webhook_verification_module_client.rb +8 -8
  413. data/lib/ngrokapi/services/edge_route_websocket_tcp_converter_module_client.rb +8 -8
  414. data/lib/ngrokapi/services/edges_https_client.rb +37 -11
  415. data/lib/ngrokapi/services/edges_https_routes_client.rb +55 -5
  416. data/lib/ngrokapi/services/edges_tcp_client.rb +37 -11
  417. data/lib/ngrokapi/services/edges_tls_client.rb +41 -11
  418. data/lib/ngrokapi/services/endpoints_client.rb +8 -8
  419. data/lib/ngrokapi/services/event_destinations_client.rb +37 -13
  420. data/lib/ngrokapi/services/event_sources_client.rb +29 -7
  421. data/lib/ngrokapi/services/event_subscriptions_client.rb +35 -11
  422. data/lib/ngrokapi/services/failover_backends_client.rb +35 -13
  423. data/lib/ngrokapi/services/http_response_backends_client.rb +34 -11
  424. data/lib/ngrokapi/services/https_edge_mutual_tls_module_client.rb +8 -8
  425. data/lib/ngrokapi/services/https_edge_tls_termination_module_client.rb +8 -8
  426. data/lib/ngrokapi/services/ip_policies_client.rb +32 -11
  427. data/lib/ngrokapi/services/ip_policy_rules_client.rb +38 -12
  428. data/lib/ngrokapi/services/ip_restrictions_client.rb +37 -11
  429. data/lib/ngrokapi/services/reserved_addrs_client.rb +33 -11
  430. data/lib/ngrokapi/services/reserved_domains_client.rb +44 -16
  431. data/lib/ngrokapi/services/ssh_certificate_authorities_client.rb +37 -11
  432. data/lib/ngrokapi/services/ssh_credentials_client.rb +44 -15
  433. data/lib/ngrokapi/services/ssh_host_certificates_client.rb +41 -11
  434. data/lib/ngrokapi/services/ssh_user_certificates_client.rb +48 -14
  435. data/lib/ngrokapi/services/tcp_edge_backend_module_client.rb +8 -8
  436. data/lib/ngrokapi/services/tcp_edge_ip_restriction_module_client.rb +8 -8
  437. data/lib/ngrokapi/services/tls_certificates_client.rb +37 -13
  438. data/lib/ngrokapi/services/tls_edge_backend_module_client.rb +8 -8
  439. data/lib/ngrokapi/services/tls_edge_ip_restriction_module_client.rb +8 -8
  440. data/lib/ngrokapi/services/tls_edge_mutual_tls_module_client.rb +8 -8
  441. data/lib/ngrokapi/services/tls_edge_tls_termination_module_client.rb +8 -8
  442. data/lib/ngrokapi/services/tunnel_group_backends_client.rb +35 -13
  443. data/lib/ngrokapi/services/tunnel_sessions_client.rb +8 -8
  444. data/lib/ngrokapi/services/tunnels_client.rb +8 -8
  445. data/lib/ngrokapi/services/weighted_backends_client.rb +38 -16
  446. data/lib/ngrokapi/version.rb +9 -7
  447. data/lib/ngrokapi.rb +15 -13
  448. data/ngrok-api.gemspec +29 -27
  449. data/spec/ngrokapi/client_spec.rb +20 -6
  450. data/spec/ngrokapi/http_client_spec.rb +77 -75
  451. data/spec/ngrokapi/models/abuse_report_hostname_spec.rb +4 -2
  452. data/spec/ngrokapi/models/abuse_report_spec.rb +4 -2
  453. data/spec/ngrokapi/models/agent_ingress_cert_job_spec.rb +23 -0
  454. data/spec/ngrokapi/models/agent_ingress_cert_policy_spec.rb +23 -0
  455. data/spec/ngrokapi/models/agent_ingress_cert_status_spec.rb +23 -0
  456. data/spec/ngrokapi/models/agent_ingress_spec.rb +8 -3
  457. data/spec/ngrokapi/models/api_key_spec.rb +4 -2
  458. data/spec/ngrokapi/models/application_session_spec.rb +30 -0
  459. data/spec/ngrokapi/models/application_user_spec.rb +30 -0
  460. data/spec/ngrokapi/models/aws_auth_spec.rb +4 -2
  461. data/spec/ngrokapi/models/aws_credentials_spec.rb +4 -2
  462. data/spec/ngrokapi/models/aws_role_spec.rb +4 -2
  463. data/spec/ngrokapi/models/browser_session_spec.rb +23 -0
  464. data/spec/ngrokapi/models/certificate_authority_spec.rb +4 -2
  465. data/spec/ngrokapi/models/credential_spec.rb +4 -2
  466. data/spec/ngrokapi/models/endpoint_backend_mutate_spec.rb +4 -2
  467. data/spec/ngrokapi/models/endpoint_backend_spec.rb +4 -2
  468. data/spec/ngrokapi/models/endpoint_circuit_breaker_spec.rb +4 -2
  469. data/spec/ngrokapi/models/endpoint_compression_spec.rb +4 -2
  470. data/spec/ngrokapi/models/endpoint_ip_policy_mutate_spec.rb +4 -2
  471. data/spec/ngrokapi/models/endpoint_ip_policy_spec.rb +4 -2
  472. data/spec/ngrokapi/models/endpoint_mutual_tls_mutate_spec.rb +4 -2
  473. data/spec/ngrokapi/models/endpoint_mutual_tls_spec.rb +4 -2
  474. data/spec/ngrokapi/models/endpoint_o_auth_amazon_spec.rb +23 -0
  475. data/spec/ngrokapi/models/endpoint_o_auth_facebook_spec.rb +4 -2
  476. data/spec/ngrokapi/models/endpoint_o_auth_git_hub_spec.rb +4 -2
  477. data/spec/ngrokapi/models/endpoint_o_auth_git_lab_spec.rb +23 -0
  478. data/spec/ngrokapi/models/endpoint_o_auth_google_spec.rb +4 -2
  479. data/spec/ngrokapi/models/endpoint_o_auth_linked_in_spec.rb +23 -0
  480. data/spec/ngrokapi/models/endpoint_o_auth_microsoft_spec.rb +4 -2
  481. data/spec/ngrokapi/models/endpoint_o_auth_provider_spec.rb +4 -2
  482. data/spec/ngrokapi/models/endpoint_o_auth_spec.rb +4 -2
  483. data/spec/ngrokapi/models/endpoint_o_auth_twitch_spec.rb +23 -0
  484. data/spec/ngrokapi/models/endpoint_oidc_spec.rb +4 -2
  485. data/spec/ngrokapi/models/endpoint_request_headers_spec.rb +4 -2
  486. data/spec/ngrokapi/models/endpoint_response_headers_spec.rb +4 -2
  487. data/spec/ngrokapi/models/endpoint_saml_mutate_spec.rb +4 -2
  488. data/spec/ngrokapi/models/endpoint_saml_spec.rb +4 -2
  489. data/spec/ngrokapi/models/endpoint_spec.rb +4 -2
  490. data/spec/ngrokapi/models/endpoint_tls_termination_at_edge_spec.rb +4 -2
  491. data/spec/ngrokapi/models/endpoint_tls_termination_spec.rb +4 -2
  492. data/spec/ngrokapi/models/endpoint_webhook_validation_spec.rb +4 -2
  493. data/spec/ngrokapi/models/endpoint_websocket_tcp_converter_spec.rb +4 -2
  494. data/spec/ngrokapi/models/event_destination_spec.rb +4 -2
  495. data/spec/ngrokapi/models/event_source_list_spec.rb +4 -2
  496. data/spec/ngrokapi/models/event_source_replace_spec.rb +4 -2
  497. data/spec/ngrokapi/models/event_source_spec.rb +4 -2
  498. data/spec/ngrokapi/models/event_subscription_spec.rb +4 -2
  499. data/spec/ngrokapi/models/event_target_cloudwatch_logs_spec.rb +4 -2
  500. data/spec/ngrokapi/models/event_target_datadog_spec.rb +23 -0
  501. data/spec/ngrokapi/models/event_target_firehose_spec.rb +4 -2
  502. data/spec/ngrokapi/models/event_target_kinesis_spec.rb +4 -2
  503. data/spec/ngrokapi/models/event_target_spec.rb +4 -2
  504. data/spec/ngrokapi/models/failover_backend_spec.rb +4 -2
  505. data/spec/ngrokapi/models/http_response_backend_spec.rb +4 -2
  506. data/spec/ngrokapi/models/https_edge_route_spec.rb +4 -2
  507. data/spec/ngrokapi/models/https_edge_spec.rb +4 -2
  508. data/spec/ngrokapi/models/identity_provider_spec.rb +23 -0
  509. data/spec/ngrokapi/models/ip_policy_rule_spec.rb +4 -2
  510. data/spec/ngrokapi/models/ip_policy_spec.rb +4 -2
  511. data/spec/ngrokapi/models/ip_restriction_spec.rb +4 -2
  512. data/spec/ngrokapi/models/listable_spec.rb +45 -43
  513. data/spec/ngrokapi/models/location_spec.rb +23 -0
  514. data/spec/ngrokapi/models/ref_spec.rb +4 -2
  515. data/spec/ngrokapi/models/reserved_addr_spec.rb +4 -2
  516. data/spec/ngrokapi/models/reserved_domain_cert_job_spec.rb +4 -2
  517. data/spec/ngrokapi/models/reserved_domain_cert_policy_spec.rb +4 -2
  518. data/spec/ngrokapi/models/reserved_domain_cert_status_spec.rb +4 -2
  519. data/spec/ngrokapi/models/reserved_domain_spec.rb +4 -2
  520. data/spec/ngrokapi/models/ssh_certificate_authority_spec.rb +4 -2
  521. data/spec/ngrokapi/models/ssh_credential_spec.rb +4 -2
  522. data/spec/ngrokapi/models/ssh_host_certificate_spec.rb +4 -2
  523. data/spec/ngrokapi/models/ssh_user_certificate_spec.rb +4 -2
  524. data/spec/ngrokapi/models/tcp_edge_spec.rb +4 -2
  525. data/spec/ngrokapi/models/tls_certificate_sa_ns_spec.rb +4 -2
  526. data/spec/ngrokapi/models/tls_certificate_spec.rb +4 -2
  527. data/spec/ngrokapi/models/tls_edge_spec.rb +4 -2
  528. data/spec/ngrokapi/models/tunnel_group_backend_spec.rb +4 -2
  529. data/spec/ngrokapi/models/tunnel_session_spec.rb +4 -2
  530. data/spec/ngrokapi/models/tunnel_spec.rb +4 -2
  531. data/spec/ngrokapi/models/user_agent_spec.rb +23 -0
  532. data/spec/ngrokapi/models/weighted_backend_spec.rb +4 -2
  533. data/spec/ngrokapi/paged_iterator_spec.rb +86 -84
  534. data/spec/ngrokapi/services/abuse_reports_client_spec.rb +21 -0
  535. data/spec/ngrokapi/services/agent_ingresses_client_spec.rb +34 -3
  536. data/spec/ngrokapi/services/api_keys_client_spec.rb +28 -1
  537. data/spec/ngrokapi/services/application_sessions_client_spec.rb +100 -0
  538. data/spec/ngrokapi/services/application_users_client_spec.rb +100 -0
  539. data/spec/ngrokapi/services/certificate_authorities_client_spec.rb +23 -0
  540. data/spec/ngrokapi/services/credentials_client_spec.rb +30 -1
  541. data/spec/ngrokapi/services/edge_route_backend_module_client_spec.rb +4 -4
  542. data/spec/ngrokapi/services/edge_route_circuit_breaker_module_client_spec.rb +4 -4
  543. data/spec/ngrokapi/services/edge_route_compression_module_client_spec.rb +4 -4
  544. data/spec/ngrokapi/services/edge_route_ip_restriction_module_client_spec.rb +4 -4
  545. data/spec/ngrokapi/services/edge_route_o_auth_module_client_spec.rb +4 -4
  546. data/spec/ngrokapi/services/edge_route_oidc_module_client_spec.rb +4 -4
  547. data/spec/ngrokapi/services/edge_route_request_headers_module_client_spec.rb +4 -4
  548. data/spec/ngrokapi/services/edge_route_response_headers_module_client_spec.rb +4 -4
  549. data/spec/ngrokapi/services/edge_route_saml_module_client_spec.rb +4 -4
  550. data/spec/ngrokapi/services/edge_route_webhook_verification_module_client_spec.rb +4 -4
  551. data/spec/ngrokapi/services/edge_route_websocket_tcp_converter_module_client_spec.rb +4 -4
  552. data/spec/ngrokapi/services/edges_https_client_spec.rb +27 -0
  553. data/spec/ngrokapi/services/edges_https_routes_client_spec.rb +49 -0
  554. data/spec/ngrokapi/services/edges_tcp_client_spec.rb +27 -0
  555. data/spec/ngrokapi/services/edges_tls_client_spec.rb +31 -0
  556. data/spec/ngrokapi/services/endpoints_client_spec.rb +2 -0
  557. data/spec/ngrokapi/services/event_destinations_client_spec.rb +26 -0
  558. data/spec/ngrokapi/services/event_sources_client_spec.rb +23 -0
  559. data/spec/ngrokapi/services/event_subscriptions_client_spec.rb +25 -0
  560. data/spec/ngrokapi/services/failover_backends_client_spec.rb +23 -0
  561. data/spec/ngrokapi/services/http_response_backends_client_spec.rb +27 -0
  562. data/spec/ngrokapi/services/https_edge_mutual_tls_module_client_spec.rb +4 -4
  563. data/spec/ngrokapi/services/https_edge_tls_termination_module_client_spec.rb +4 -4
  564. data/spec/ngrokapi/services/ip_policies_client_spec.rb +22 -0
  565. data/spec/ngrokapi/services/ip_policy_rules_client_spec.rb +27 -0
  566. data/spec/ngrokapi/services/ip_restrictions_client_spec.rb +27 -0
  567. data/spec/ngrokapi/services/reserved_addrs_client_spec.rb +24 -0
  568. data/spec/ngrokapi/services/reserved_domains_client_spec.rb +38 -3
  569. data/spec/ngrokapi/services/ssh_certificate_authorities_client_spec.rb +27 -0
  570. data/spec/ngrokapi/services/ssh_credentials_client_spec.rb +32 -1
  571. data/spec/ngrokapi/services/ssh_host_certificates_client_spec.rb +31 -0
  572. data/spec/ngrokapi/services/ssh_user_certificates_client_spec.rb +35 -0
  573. data/spec/ngrokapi/services/tcp_edge_backend_module_client_spec.rb +4 -4
  574. data/spec/ngrokapi/services/tcp_edge_ip_restriction_module_client_spec.rb +4 -4
  575. data/spec/ngrokapi/services/tls_certificates_client_spec.rb +25 -0
  576. data/spec/ngrokapi/services/tls_edge_backend_module_client_spec.rb +4 -4
  577. data/spec/ngrokapi/services/tls_edge_ip_restriction_module_client_spec.rb +4 -4
  578. data/spec/ngrokapi/services/tls_edge_mutual_tls_module_client_spec.rb +4 -4
  579. data/spec/ngrokapi/services/tls_edge_tls_termination_module_client_spec.rb +4 -4
  580. data/spec/ngrokapi/services/tunnel_group_backends_client_spec.rb +23 -0
  581. data/spec/ngrokapi/services/tunnel_sessions_client_spec.rb +2 -0
  582. data/spec/ngrokapi/services/tunnels_client_spec.rb +2 -0
  583. data/spec/ngrokapi/services/weighted_backends_client_spec.rb +23 -0
  584. data/spec/spec_helper.rb +94 -2
  585. metadata +68 -4
  586. data/doc/README +0 -94
  587. data/docs/README +0 -94
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated for API Clients. DO NOT EDIT.
4
+
5
+ module NgrokAPI
6
+ module Models
7
+ class UserAgent
8
+ attr_reader :client,
9
+ :attrs,
10
+ :raw,
11
+ :browser_name,
12
+ :browser_version,
13
+ :device_type,
14
+ :os_name,
15
+ :os_version
16
+
17
+ def initialize(client: nil, attrs: {})
18
+ @client = client
19
+ @attrs = attrs
20
+ @raw = @attrs['raw']
21
+ @browser_name = @attrs['browser_name']
22
+ @browser_version = @attrs['browser_version']
23
+ @device_type = @attrs['device_type']
24
+ @os_name = @attrs['os_name']
25
+ @os_version = @attrs['os_version']
26
+ end
27
+
28
+ def ==(other)
29
+ @attrs == other.attrs
30
+ end
31
+
32
+ def to_s
33
+ @attrs.to_s
34
+ end
35
+
36
+ def to_h
37
+ @attrs.to_h
38
+ end
39
+ end
40
+ end
41
+ end
@@ -1,10 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # Code generated for API Clients. DO NOT EDIT.
4
+
5
+ require 'uri'
6
+
3
7
  module NgrokAPI
4
8
  module Models
5
9
  class WeightedBackend
6
10
  attr_reader :client,
7
- :result,
11
+ :attrs,
8
12
  :id,
9
13
  :uri,
10
14
  :created_at,
@@ -12,27 +16,33 @@ module NgrokAPI
12
16
  :metadata,
13
17
  :backends
14
18
 
15
- def initialize(client:, result:)
19
+ def initialize(client: nil, attrs: {})
16
20
  @client = client
17
- @result = result
18
- @id = @result['id']
19
- @uri = @result['uri']
20
- @created_at = @result['created_at']
21
- @description = @result['description']
22
- @metadata = @result['metadata']
23
- @backends = @result['backends']
21
+ @attrs = attrs
22
+ @id = @attrs['id']
23
+ unless @attrs['uri'].nil?
24
+ @uri = URI(@attrs['uri'])
25
+ end
26
+ @created_at = @attrs['created_at']
27
+ @description = @attrs['description']
28
+ @metadata = @attrs['metadata']
29
+ @backends = @attrs['backends']
24
30
  end
25
31
 
26
32
  def ==(other)
27
- @result == other.result
33
+ @attrs == other.attrs
28
34
  end
29
35
 
30
36
  def to_s
31
- @result.to_s
37
+ @attrs.to_s
38
+ end
39
+
40
+ def to_h
41
+ @attrs.to_h
32
42
  end
33
43
 
34
44
  ##
35
- # Delete a Weighted backend by ID. TODO what if used?
45
+ # Delete a Weighted backend by ID.
36
46
  #
37
47
  # https://ngrok.com/docs/api#api-weighted-backends-delete
38
48
  def delete
@@ -1,42 +1,44 @@
1
- # frozen_string_literal: true
2
-
3
- module NgrokAPI
4
- ##
5
- # Low level class which allows the user to iterate through the results of a list API call
6
- class PagedIterator
7
- attr_accessor :page, :n
8
- attr_reader :client, :list_property
9
-
10
- def initialize(
11
- client:,
12
- page:,
13
- list_property:,
14
- danger: false
15
- )
16
- @n = 0
17
- @client = client
18
- @list_property = list_property
19
- @page = page
20
- @danger = danger
21
- end
22
-
23
- ##
24
- # Iterate through the result set, returning the next instance if we already have one, or make
25
- # a new API call to next_page_uri to get more results and return the next one from that call.
26
- #
27
- # @return [object] Returns an instance of a class.
28
- def get_next
29
- item = @page.result[@list_property][@n]
30
- raise "None" if item.nil?
31
- self.n += 1
32
- item
33
- rescue
34
- if @page.next_page_uri
35
- res = @client.list(danger: @danger, url: @page.next_page_uri)
36
- self.n = 0
37
- self.page = res
38
- get_next
39
- end
40
- end
41
- end
42
- end
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated for API Clients. DO NOT EDIT.
4
+
5
+ module NgrokAPI
6
+ ##
7
+ # Low level class which allows the user to iterate through the results of a list API call
8
+ class PagedIterator
9
+ attr_accessor :page, :n
10
+ attr_reader :client, :list_property
11
+
12
+ def initialize(
13
+ client:,
14
+ page:,
15
+ list_property:,
16
+ danger: false
17
+ )
18
+ @n = 0
19
+ @client = client
20
+ @list_property = list_property
21
+ @page = page
22
+ @danger = danger
23
+ end
24
+
25
+ ##
26
+ # Iterate through the result set, returning the next instance if we already have one, or make
27
+ # a new API call to next_page_uri to get more results and return the next one from that call.
28
+ #
29
+ # @return [object] Returns an instance of a class.
30
+ def get_next
31
+ item = @page.attrs[@list_property][@n]
32
+ raise "None" if item.nil?
33
+ self.n += 1
34
+ item
35
+ rescue
36
+ if @page.next_page_uri
37
+ res = @client.list(danger: @danger, url: @page.next_page_uri)
38
+ self.n = 0
39
+ self.page = res
40
+ get_next
41
+ end
42
+ end
43
+ end
44
+ end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # Code generated for API Clients. DO NOT EDIT.
4
+
3
5
  module NgrokAPI
4
6
  module Services
5
7
  ##
@@ -35,7 +37,29 @@ module NgrokAPI
35
37
  data[:urls] = urls if urls
36
38
  data[:metadata] = metadata if metadata
37
39
  result = @client.post(path % replacements, data: data)
38
- NgrokAPI::Models::AbuseReport.new(client: self, result: result)
40
+ NgrokAPI::Models::AbuseReport.new(client: self, attrs: result)
41
+ end
42
+
43
+ ##
44
+ # Creates a new abuse report which will be reviewed by our system and abuse
45
+ # response team. This API is only available to authorized accounts. Contact
46
+ # abuse@ngrok.com to request access
47
+ # Throws an exception if API error.
48
+ #
49
+ # @param [List<uri (string)>] urls a list of URLs containing suspected abusive content
50
+ # @param [string] metadata arbitrary user-defined data about this abuse report. Optional, max 4096 bytes.
51
+ # @return [NgrokAPI::Models::AbuseReport] result from the API request
52
+ #
53
+ # https://ngrok.com/docs/api#api-abuse-reports-create
54
+ def create!(urls:, metadata: "")
55
+ path = '/abuse_reports'
56
+ replacements = {
57
+ }
58
+ data = {}
59
+ data[:urls] = urls if urls
60
+ data[:metadata] = metadata if metadata
61
+ result = @client.post(path % replacements, data: data, danger: true)
62
+ NgrokAPI::Models::AbuseReport.new(client: self, attrs: result)
39
63
  end
40
64
 
41
65
  ##
@@ -52,7 +76,7 @@ module NgrokAPI
52
76
  }
53
77
  data = {}
54
78
  result = @client.get(path % replacements, data: data)
55
- NgrokAPI::Models::AbuseReport.new(client: self, result: result)
79
+ NgrokAPI::Models::AbuseReport.new(client: self, attrs: result)
56
80
  end
57
81
 
58
82
  ##
@@ -70,7 +94,7 @@ module NgrokAPI
70
94
  }
71
95
  data = {}
72
96
  result = @client.get(path % replacements, data: data, danger: true)
73
- NgrokAPI::Models::AbuseReport.new(client: self, result: result)
97
+ NgrokAPI::Models::AbuseReport.new(client: self, attrs: result)
74
98
  end
75
99
  end
76
100
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # Code generated for API Clients. DO NOT EDIT.
4
+
3
5
  module NgrokAPI
4
6
  module Services
5
7
  ##
@@ -23,10 +25,11 @@ module NgrokAPI
23
25
  # @param [string] description human-readable description of the use of this Agent Ingress. optional, max 255 bytes.
24
26
  # @param [string] metadata arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes
25
27
  # @param [string] domain the domain that you own to be used as the base domain name to generate regional agent ingress domains.
28
+ # @param [AgentIngressCertPolicy] certificate_management_policy configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional.
26
29
  # @return [NgrokAPI::Models::AgentIngress] result from the API request
27
30
  #
28
31
  # https://ngrok.com/docs/api#api-agent-ingresses-create
29
- def create(description: "", metadata: "", domain:)
32
+ def create(description: "", metadata: "", domain:, certificate_management_policy: nil)
30
33
  path = '/agent_ingresses'
31
34
  replacements = {
32
35
  }
@@ -34,8 +37,34 @@ module NgrokAPI
34
37
  data[:description] = description if description
35
38
  data[:metadata] = metadata if metadata
36
39
  data[:domain] = domain if domain
40
+ data[:certificate_management_policy] = certificate_management_policy if certificate_management_policy
37
41
  result = @client.post(path % replacements, data: data)
38
- NgrokAPI::Models::AgentIngress.new(client: self, result: result)
42
+ NgrokAPI::Models::AgentIngress.new(client: self, attrs: result)
43
+ end
44
+
45
+ ##
46
+ # Create a new Agent Ingress. The ngrok agent can be configured to connect to
47
+ # ngrok via the new set of addresses on the returned Agent Ingress.
48
+ # Throws an exception if API error.
49
+ #
50
+ # @param [string] description human-readable description of the use of this Agent Ingress. optional, max 255 bytes.
51
+ # @param [string] metadata arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes
52
+ # @param [string] domain the domain that you own to be used as the base domain name to generate regional agent ingress domains.
53
+ # @param [AgentIngressCertPolicy] certificate_management_policy configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional.
54
+ # @return [NgrokAPI::Models::AgentIngress] result from the API request
55
+ #
56
+ # https://ngrok.com/docs/api#api-agent-ingresses-create
57
+ def create!(description: "", metadata: "", domain:, certificate_management_policy: nil)
58
+ path = '/agent_ingresses'
59
+ replacements = {
60
+ }
61
+ data = {}
62
+ data[:description] = description if description
63
+ data[:metadata] = metadata if metadata
64
+ data[:domain] = domain if domain
65
+ data[:certificate_management_policy] = certificate_management_policy if certificate_management_policy
66
+ result = @client.post(path % replacements, data: data, danger: true)
67
+ NgrokAPI::Models::AgentIngress.new(client: self, attrs: result)
39
68
  end
40
69
 
41
70
  ##
@@ -83,7 +112,7 @@ module NgrokAPI
83
112
  }
84
113
  data = {}
85
114
  result = @client.get(path % replacements, data: data)
86
- NgrokAPI::Models::AgentIngress.new(client: self, result: result)
115
+ NgrokAPI::Models::AgentIngress.new(client: self, attrs: result)
87
116
  end
88
117
 
89
118
  ##
@@ -101,7 +130,7 @@ module NgrokAPI
101
130
  }
102
131
  data = {}
103
132
  result = @client.get(path % replacements, data: data, danger: true)
104
- NgrokAPI::Models::AgentIngress.new(client: self, result: result)
133
+ NgrokAPI::Models::AgentIngress.new(client: self, attrs: result)
105
134
  end
106
135
 
107
136
  ##
@@ -113,8 +142,7 @@ module NgrokAPI
113
142
  # @return [NgrokAPI::Models::Listable] result from the API request
114
143
  #
115
144
  # https://ngrok.com/docs/api#api-agent-ingresses-list
116
- def list(before_id: nil, limit: nil,
117
- url: nil)
145
+ def list(before_id: nil, limit: nil, url: nil)
118
146
  result = @client.list(
119
147
  before_id: before_id,
120
148
  limit: limit,
@@ -124,7 +152,7 @@ module NgrokAPI
124
152
 
125
153
  NgrokAPI::Models::Listable.new(
126
154
  client: self,
127
- result: result,
155
+ attrs: result,
128
156
  list_property: LIST_PROPERTY,
129
157
  klass: NgrokAPI::Models::AgentIngress
130
158
  )
@@ -140,8 +168,7 @@ module NgrokAPI
140
168
  # @return [NgrokAPI::Models::Listable] result from the API request
141
169
  #
142
170
  # https://ngrok.com/docs/api#api-agent-ingresses-list
143
- def list!(before_id: nil, limit: nil,
144
- url: nil)
171
+ def list!(before_id: nil, limit: nil, url: nil)
145
172
  result = @client.list(
146
173
  before_id: before_id,
147
174
  limit: limit,
@@ -152,7 +179,7 @@ module NgrokAPI
152
179
 
153
180
  NgrokAPI::Models::Listable.new(
154
181
  client: self,
155
- result: result,
182
+ attrs: result,
156
183
  list_property: LIST_PROPERTY,
157
184
  klass: NgrokAPI::Models::AgentIngress,
158
185
  danger: true
@@ -165,10 +192,11 @@ module NgrokAPI
165
192
  # @param [string] id
166
193
  # @param [string] description human-readable description of the use of this Agent Ingress. optional, max 255 bytes.
167
194
  # @param [string] metadata arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes
195
+ # @param [AgentIngressCertPolicy] certificate_management_policy configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional.
168
196
  # @return [NgrokAPI::Models::AgentIngress] result from the API request
169
197
  #
170
198
  # https://ngrok.com/docs/api#api-agent-ingresses-update
171
- def update(id: "", description: nil, metadata: nil)
199
+ def update(id: "", description: nil, metadata: nil, certificate_management_policy: nil)
172
200
  path = '/agent_ingresses/%{id}'
173
201
  replacements = {
174
202
  id: id,
@@ -176,8 +204,9 @@ module NgrokAPI
176
204
  data = {}
177
205
  data[:description] = description if description
178
206
  data[:metadata] = metadata if metadata
207
+ data[:certificate_management_policy] = certificate_management_policy if certificate_management_policy
179
208
  result = @client.patch(path % replacements, data: data)
180
- NgrokAPI::Models::AgentIngress.new(client: self, result: result)
209
+ NgrokAPI::Models::AgentIngress.new(client: self, attrs: result)
181
210
  end
182
211
 
183
212
  ##
@@ -187,10 +216,11 @@ module NgrokAPI
187
216
  # @param [string] id
188
217
  # @param [string] description human-readable description of the use of this Agent Ingress. optional, max 255 bytes.
189
218
  # @param [string] metadata arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes
219
+ # @param [AgentIngressCertPolicy] certificate_management_policy configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional.
190
220
  # @return [NgrokAPI::Models::AgentIngress] result from the API request
191
221
  #
192
222
  # https://ngrok.com/docs/api#api-agent-ingresses-update
193
- def update!(id: "", description: nil, metadata: nil)
223
+ def update!(id: "", description: nil, metadata: nil, certificate_management_policy: nil)
194
224
  path = '/agent_ingresses/%{id}'
195
225
  replacements = {
196
226
  id: id,
@@ -198,8 +228,9 @@ module NgrokAPI
198
228
  data = {}
199
229
  data[:description] = description if description
200
230
  data[:metadata] = metadata if metadata
231
+ data[:certificate_management_policy] = certificate_management_policy if certificate_management_policy
201
232
  result = @client.patch(path % replacements, data: data, danger: true)
202
- NgrokAPI::Models::AgentIngress.new(client: self, result: result)
233
+ NgrokAPI::Models::AgentIngress.new(client: self, attrs: result)
203
234
  end
204
235
  end
205
236
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # Code generated for API Clients. DO NOT EDIT.
4
+
3
5
  module NgrokAPI
4
6
  module Services
5
7
  ##
@@ -28,18 +30,43 @@ module NgrokAPI
28
30
  #
29
31
  # @param [string] description human-readable description of what uses the API key to authenticate. optional, max 255 bytes.
30
32
  # @param [string] metadata arbitrary user-defined data of this API key. optional, max 4096 bytes
33
+ # @param [string] owner_id If supplied at credential creation, ownership will be assigned to the specified User or Bot. Only admins may specify an owner other than themselves. Defaults to the authenticated User or Bot.
31
34
  # @return [NgrokAPI::Models::APIKey] result from the API request
32
35
  #
33
36
  # https://ngrok.com/docs/api#api-api-keys-create
34
- def create(description: "", metadata: "")
37
+ def create(description: "", metadata: "", owner_id: nil, owner_email: "")
35
38
  path = '/api_keys'
36
39
  replacements = {
37
40
  }
38
41
  data = {}
39
42
  data[:description] = description if description
40
43
  data[:metadata] = metadata if metadata
44
+ data[:owner_id] = owner_id if owner_id
41
45
  result = @client.post(path % replacements, data: data)
42
- NgrokAPI::Models::APIKey.new(client: self, result: result)
46
+ NgrokAPI::Models::APIKey.new(client: self, attrs: result)
47
+ end
48
+
49
+ ##
50
+ # Create a new API key. The generated API key can be used to authenticate to the
51
+ # ngrok API.
52
+ # Throws an exception if API error.
53
+ #
54
+ # @param [string] description human-readable description of what uses the API key to authenticate. optional, max 255 bytes.
55
+ # @param [string] metadata arbitrary user-defined data of this API key. optional, max 4096 bytes
56
+ # @param [string] owner_id If supplied at credential creation, ownership will be assigned to the specified User or Bot. Only admins may specify an owner other than themselves. Defaults to the authenticated User or Bot.
57
+ # @return [NgrokAPI::Models::APIKey] result from the API request
58
+ #
59
+ # https://ngrok.com/docs/api#api-api-keys-create
60
+ def create!(description: "", metadata: "", owner_id: nil, owner_email: "")
61
+ path = '/api_keys'
62
+ replacements = {
63
+ }
64
+ data = {}
65
+ data[:description] = description if description
66
+ data[:metadata] = metadata if metadata
67
+ data[:owner_id] = owner_id if owner_id
68
+ result = @client.post(path % replacements, data: data, danger: true)
69
+ NgrokAPI::Models::APIKey.new(client: self, attrs: result)
43
70
  end
44
71
 
45
72
  ##
@@ -87,7 +114,7 @@ module NgrokAPI
87
114
  }
88
115
  data = {}
89
116
  result = @client.get(path % replacements, data: data)
90
- NgrokAPI::Models::APIKey.new(client: self, result: result)
117
+ NgrokAPI::Models::APIKey.new(client: self, attrs: result)
91
118
  end
92
119
 
93
120
  ##
@@ -105,7 +132,7 @@ module NgrokAPI
105
132
  }
106
133
  data = {}
107
134
  result = @client.get(path % replacements, data: data, danger: true)
108
- NgrokAPI::Models::APIKey.new(client: self, result: result)
135
+ NgrokAPI::Models::APIKey.new(client: self, attrs: result)
109
136
  end
110
137
 
111
138
  ##
@@ -117,8 +144,7 @@ module NgrokAPI
117
144
  # @return [NgrokAPI::Models::Listable] result from the API request
118
145
  #
119
146
  # https://ngrok.com/docs/api#api-api-keys-list
120
- def list(before_id: nil, limit: nil,
121
- url: nil)
147
+ def list(before_id: nil, limit: nil, url: nil)
122
148
  result = @client.list(
123
149
  before_id: before_id,
124
150
  limit: limit,
@@ -128,7 +154,7 @@ module NgrokAPI
128
154
 
129
155
  NgrokAPI::Models::Listable.new(
130
156
  client: self,
131
- result: result,
157
+ attrs: result,
132
158
  list_property: LIST_PROPERTY,
133
159
  klass: NgrokAPI::Models::APIKey
134
160
  )
@@ -144,8 +170,7 @@ module NgrokAPI
144
170
  # @return [NgrokAPI::Models::Listable] result from the API request
145
171
  #
146
172
  # https://ngrok.com/docs/api#api-api-keys-list
147
- def list!(before_id: nil, limit: nil,
148
- url: nil)
173
+ def list!(before_id: nil, limit: nil, url: nil)
149
174
  result = @client.list(
150
175
  before_id: before_id,
151
176
  limit: limit,
@@ -156,7 +181,7 @@ module NgrokAPI
156
181
 
157
182
  NgrokAPI::Models::Listable.new(
158
183
  client: self,
159
- result: result,
184
+ attrs: result,
160
185
  list_property: LIST_PROPERTY,
161
186
  klass: NgrokAPI::Models::APIKey,
162
187
  danger: true
@@ -181,7 +206,7 @@ module NgrokAPI
181
206
  data[:description] = description if description
182
207
  data[:metadata] = metadata if metadata
183
208
  result = @client.patch(path % replacements, data: data)
184
- NgrokAPI::Models::APIKey.new(client: self, result: result)
209
+ NgrokAPI::Models::APIKey.new(client: self, attrs: result)
185
210
  end
186
211
 
187
212
  ##
@@ -203,7 +228,7 @@ module NgrokAPI
203
228
  data[:description] = description if description
204
229
  data[:metadata] = metadata if metadata
205
230
  result = @client.patch(path % replacements, data: data, danger: true)
206
- NgrokAPI::Models::APIKey.new(client: self, result: result)
231
+ NgrokAPI::Models::APIKey.new(client: self, attrs: result)
207
232
  end
208
233
  end
209
234
  end
@@ -0,0 +1,141 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated for API Clients. DO NOT EDIT.
4
+
5
+ module NgrokAPI
6
+ module Services
7
+ ##
8
+ # https://ngrok.com/docs/api#api-application-sessions
9
+ class ApplicationSessionsClient
10
+ # The API path for the requests
11
+ PATH = '/app/sessions/%{id}'
12
+ # The List Property from the resulting API for list calls
13
+ LIST_PROPERTY = 'application_sessions'
14
+
15
+ attr_reader :client
16
+
17
+ def initialize(client:)
18
+ @client = client
19
+ end
20
+
21
+ ##
22
+ # Get an application session by ID.
23
+ #
24
+ # @param [string] id a resource identifier
25
+ # @return [NgrokAPI::Models::ApplicationSession] result from the API request
26
+ #
27
+ # https://ngrok.com/docs/api#api-application-sessions-get
28
+ def get(id: "")
29
+ path = '/app/sessions/%{id}'
30
+ replacements = {
31
+ id: id,
32
+ }
33
+ data = {}
34
+ result = @client.get(path % replacements, data: data)
35
+ NgrokAPI::Models::ApplicationSession.new(client: self, attrs: result)
36
+ end
37
+
38
+ ##
39
+ # Get an application session by ID.
40
+ # Throws an exception if API error.
41
+ #
42
+ # @param [string] id a resource identifier
43
+ # @return [NgrokAPI::Models::ApplicationSession] result from the API request
44
+ #
45
+ # https://ngrok.com/docs/api#api-application-sessions-get
46
+ def get!(id: "")
47
+ path = '/app/sessions/%{id}'
48
+ replacements = {
49
+ id: id,
50
+ }
51
+ data = {}
52
+ result = @client.get(path % replacements, data: data, danger: true)
53
+ NgrokAPI::Models::ApplicationSession.new(client: self, attrs: result)
54
+ end
55
+
56
+ ##
57
+ # Delete an application session by ID.
58
+ #
59
+ # @param [string] id a resource identifier
60
+ # @return [NgrokAPI::Models::Empty] result from the API request
61
+ #
62
+ # https://ngrok.com/docs/api#api-application-sessions-delete
63
+ def delete(id: "")
64
+ path = '/app/sessions/%{id}'
65
+ replacements = {
66
+ id: id,
67
+ }
68
+ @client.delete(path % replacements)
69
+ end
70
+
71
+ ##
72
+ # Delete an application session by ID.
73
+ # Throws an exception if API error.
74
+ #
75
+ # @param [string] id a resource identifier
76
+ # @return [NgrokAPI::Models::Empty] result from the API request
77
+ #
78
+ # https://ngrok.com/docs/api#api-application-sessions-delete
79
+ def delete!(id: "")
80
+ path = '/app/sessions/%{id}'
81
+ replacements = {
82
+ id: id,
83
+ }
84
+ @client.delete(path % replacements, danger: true)
85
+ end
86
+
87
+ ##
88
+ # List all application sessions for this account.
89
+ #
90
+ # @param [string] before_id
91
+ # @param [string] limit
92
+ # @param [string] url optional and mutually exclusive from before_id and limit
93
+ # @return [NgrokAPI::Models::Listable] result from the API request
94
+ #
95
+ # https://ngrok.com/docs/api#api-application-sessions-list
96
+ def list(before_id: nil, limit: nil, url: nil)
97
+ result = @client.list(
98
+ before_id: before_id,
99
+ limit: limit,
100
+ url: url,
101
+ path: PATH
102
+ )
103
+
104
+ NgrokAPI::Models::Listable.new(
105
+ client: self,
106
+ attrs: result,
107
+ list_property: LIST_PROPERTY,
108
+ klass: NgrokAPI::Models::ApplicationSession
109
+ )
110
+ end
111
+
112
+ ##
113
+ # List all application sessions for this account.
114
+ # Throws an exception if API error.
115
+ #
116
+ # @param [string] before_id
117
+ # @param [string] limit
118
+ # @param [string] url optional and mutually exclusive from before_id and limit
119
+ # @return [NgrokAPI::Models::Listable] result from the API request
120
+ #
121
+ # https://ngrok.com/docs/api#api-application-sessions-list
122
+ def list!(before_id: nil, limit: nil, url: nil)
123
+ result = @client.list(
124
+ before_id: before_id,
125
+ limit: limit,
126
+ danger: true,
127
+ url: url,
128
+ path: PATH
129
+ )
130
+
131
+ NgrokAPI::Models::Listable.new(
132
+ client: self,
133
+ attrs: result,
134
+ list_property: LIST_PROPERTY,
135
+ klass: NgrokAPI::Models::ApplicationSession,
136
+ danger: true
137
+ )
138
+ end
139
+ end
140
+ end
141
+ end