ngrok-api 0.16.0 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (525) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +28 -1
  3. data/doc/NgrokAPI/Client.html +270 -180
  4. data/doc/NgrokAPI/Error.html +2 -2
  5. data/doc/NgrokAPI/Errors/NotFoundError.html +2 -2
  6. data/doc/NgrokAPI/Errors.html +2 -2
  7. data/doc/NgrokAPI/HttpClient.html +147 -4
  8. data/doc/NgrokAPI/Models/APIKey.html +120 -68
  9. data/doc/NgrokAPI/Models/AWSAuth.html +83 -31
  10. data/doc/NgrokAPI/Models/AWSCredentials.html +90 -38
  11. data/doc/NgrokAPI/Models/AWSRole.html +75 -23
  12. data/doc/NgrokAPI/Models/AbuseReport.html +109 -57
  13. data/doc/NgrokAPI/Models/AbuseReportHostname.html +83 -31
  14. data/doc/NgrokAPI/Models/AgentIngress.html +142 -90
  15. data/doc/NgrokAPI/Models/CertificateAuthority.html +149 -97
  16. data/doc/NgrokAPI/Models/Credential.html +121 -69
  17. data/doc/NgrokAPI/Models/Endpoint.html +1483 -0
  18. data/doc/NgrokAPI/Models/{EndpointLoggingMutate.html → EndpointBackend.html} +105 -53
  19. data/doc/NgrokAPI/Models/EndpointBackendMutate.html +669 -0
  20. data/doc/NgrokAPI/Models/EndpointCircuitBreaker.html +101 -49
  21. data/doc/NgrokAPI/Models/EndpointCompression.html +82 -30
  22. data/doc/NgrokAPI/Models/EndpointIPPolicy.html +90 -38
  23. data/doc/NgrokAPI/Models/EndpointIPPolicyMutate.html +90 -38
  24. data/doc/NgrokAPI/Models/EndpointMutualTLS.html +90 -38
  25. data/doc/NgrokAPI/Models/EndpointMutualTLSMutate.html +90 -38
  26. data/doc/NgrokAPI/Models/EndpointOAuth.html +124 -72
  27. data/doc/NgrokAPI/Models/EndpointOAuthFacebook.html +107 -55
  28. data/doc/NgrokAPI/Models/EndpointOAuthGitHub.html +116 -64
  29. data/doc/NgrokAPI/Models/EndpointOAuthGoogle.html +107 -55
  30. data/doc/NgrokAPI/Models/EndpointOAuthMicrosoft.html +107 -55
  31. data/doc/NgrokAPI/Models/EndpointOAuthProvider.html +106 -54
  32. data/doc/NgrokAPI/Models/EndpointOIDC.html +133 -81
  33. data/doc/NgrokAPI/Models/EndpointRequestHeaders.html +91 -39
  34. data/doc/NgrokAPI/Models/EndpointResponseHeaders.html +91 -39
  35. data/doc/NgrokAPI/Models/EndpointSAML.html +148 -96
  36. data/doc/NgrokAPI/Models/EndpointSAMLMutate.html +133 -81
  37. data/doc/NgrokAPI/Models/EndpointTLSTermination.html +91 -39
  38. data/doc/NgrokAPI/Models/EndpointTLSTerminationAtEdge.html +669 -0
  39. data/doc/NgrokAPI/Models/EndpointWebhookValidation.html +91 -39
  40. data/{docs/NgrokAPI/Models/EndpointLogging.html → doc/NgrokAPI/Models/EndpointWebsocketTCPConverter.html} +95 -117
  41. data/doc/NgrokAPI/Models/EventDestination.html +122 -70
  42. data/doc/NgrokAPI/Models/EventSource.html +92 -40
  43. data/doc/NgrokAPI/Models/EventSourceList.html +76 -24
  44. data/doc/NgrokAPI/Models/EventSourceReplace.html +91 -39
  45. data/doc/NgrokAPI/Models/EventSubscription.html +122 -70
  46. data/doc/NgrokAPI/Models/EventTarget.html +106 -54
  47. data/doc/NgrokAPI/Models/EventTargetCloudwatchLogs.html +90 -38
  48. data/doc/NgrokAPI/Models/EventTargetFirehose.html +90 -38
  49. data/doc/NgrokAPI/Models/EventTargetKinesis.html +83 -31
  50. data/doc/NgrokAPI/Models/FailoverBackend.html +1127 -0
  51. data/{docs/NgrokAPI/Models/EventStream.html → doc/NgrokAPI/Models/HTTPResponseBackend.html} +170 -196
  52. data/doc/NgrokAPI/Models/HTTPSEdge.html +1361 -0
  53. data/doc/NgrokAPI/Models/{EndpointConfiguration.html → HTTPSEdgeRoute.html} +278 -288
  54. data/doc/NgrokAPI/Models/IPPolicy.html +120 -68
  55. data/doc/NgrokAPI/Models/IPPolicyRule.html +222 -96
  56. data/doc/NgrokAPI/Models/IPRestriction.html +130 -78
  57. data/doc/NgrokAPI/Models/Listable.html +61 -61
  58. data/doc/NgrokAPI/Models/Ref.html +83 -31
  59. data/doc/NgrokAPI/Models/ReservedAddr.html +130 -78
  60. data/doc/NgrokAPI/Models/ReservedDomain.html +151 -99
  61. data/doc/NgrokAPI/Models/ReservedDomainCertJob.html +92 -40
  62. data/doc/NgrokAPI/Models/ReservedDomainCertPolicy.html +90 -38
  63. data/doc/NgrokAPI/Models/ReservedDomainCertStatus.html +90 -38
  64. data/doc/NgrokAPI/Models/SSHCertificateAuthority.html +135 -83
  65. data/doc/NgrokAPI/Models/SSHCredential.html +128 -76
  66. data/doc/NgrokAPI/Models/SSHHostCertificate.html +148 -96
  67. data/doc/NgrokAPI/Models/SSHUserCertificate.html +154 -102
  68. data/doc/NgrokAPI/Models/TCPEdge.html +1287 -0
  69. data/doc/NgrokAPI/Models/TLSCertificate.html +165 -113
  70. data/doc/NgrokAPI/Models/TLSCertificateSANs.html +90 -38
  71. data/doc/NgrokAPI/Models/TLSEdge.html +1447 -0
  72. data/doc/NgrokAPI/Models/Tunnel.html +413 -65
  73. data/doc/NgrokAPI/Models/TunnelGroupBackend.html +1201 -0
  74. data/doc/NgrokAPI/Models/TunnelSession.html +126 -74
  75. data/doc/NgrokAPI/Models/WeightedBackend.html +1127 -0
  76. data/doc/NgrokAPI/Models.html +4 -4
  77. data/doc/NgrokAPI/PagedIterator.html +3 -3
  78. data/doc/NgrokAPI/Services/APIKeysClient.html +244 -109
  79. data/doc/NgrokAPI/Services/AbuseReportsClient.html +162 -25
  80. data/doc/NgrokAPI/Services/AgentIngressesClient.html +262 -109
  81. data/doc/NgrokAPI/Services/CertificateAuthoritiesClient.html +262 -109
  82. data/doc/NgrokAPI/Services/CredentialsClient.html +266 -111
  83. data/doc/NgrokAPI/Services/EdgeRouteBackendModuleClient.html +1149 -0
  84. data/doc/NgrokAPI/Services/{EndpointCircuitBreakerModuleClient.html → EdgeRouteCircuitBreakerModuleClient.html} +205 -99
  85. data/{docs/NgrokAPI/Services/EndpointCompressionModuleClient.html → doc/NgrokAPI/Services/EdgeRouteCompressionModuleClient.html} +205 -99
  86. data/doc/NgrokAPI/Services/EdgeRouteIPRestrictionModuleClient.html +1149 -0
  87. data/doc/NgrokAPI/Services/{EndpointOAuthModuleClient.html → EdgeRouteOAuthModuleClient.html} +205 -99
  88. data/doc/NgrokAPI/Services/EdgeRouteOIDCModuleClient.html +1149 -0
  89. data/doc/NgrokAPI/Services/EdgeRouteRequestHeadersModuleClient.html +1149 -0
  90. data/doc/NgrokAPI/Services/{EndpointResponseHeadersModuleClient.html → EdgeRouteResponseHeadersModuleClient.html} +205 -99
  91. data/{docs/NgrokAPI/Services/EndpointSAMLModuleClient.html → doc/NgrokAPI/Services/EdgeRouteSAMLModuleClient.html} +205 -99
  92. data/{docs/NgrokAPI/Services/EndpointWebhookValidationModuleClient.html → doc/NgrokAPI/Services/EdgeRouteWebhookVerificationModuleClient.html} +205 -99
  93. data/doc/NgrokAPI/Services/EdgeRouteWebsocketTCPConverterModuleClient.html +1149 -0
  94. data/doc/NgrokAPI/Services/EdgesHTTPSClient.html +1947 -0
  95. data/doc/NgrokAPI/Services/EdgesHTTPSRoutesClient.html +2585 -0
  96. data/doc/NgrokAPI/Services/EdgesTCPClient.html +1947 -0
  97. data/{docs/NgrokAPI/Services/EndpointConfigurationsClient.html → doc/NgrokAPI/Services/EdgesTLSClient.html} +374 -641
  98. data/doc/NgrokAPI/Services/EndpointsClient.html +903 -0
  99. data/doc/NgrokAPI/Services/EventDestinationsClient.html +290 -115
  100. data/doc/NgrokAPI/Services/EventSourcesClient.html +227 -88
  101. data/doc/NgrokAPI/Services/EventSubscriptionsClient.html +291 -116
  102. data/doc/NgrokAPI/Services/{EventStreamsClient.html → FailoverBackendsClient.html} +342 -335
  103. data/doc/NgrokAPI/Services/HTTPResponseBackendsClient.html +1937 -0
  104. data/doc/NgrokAPI/Services/HTTPSEdgeMutualTLSModuleClient.html +1039 -0
  105. data/{docs/NgrokAPI/Services/EndpointRequestHeadersModuleClient.html → doc/NgrokAPI/Services/HTTPSEdgeTLSTerminationModuleClient.html} +76 -80
  106. data/doc/NgrokAPI/Services/IPPoliciesClient.html +245 -128
  107. data/doc/NgrokAPI/Services/IPPolicyRulesClient.html +328 -117
  108. data/doc/NgrokAPI/Services/IPRestrictionsClient.html +305 -114
  109. data/doc/NgrokAPI/Services/ReservedAddrsClient.html +160 -295
  110. data/doc/NgrokAPI/Services/ReservedDomainsClient.html +257 -624
  111. data/doc/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +304 -109
  112. data/doc/NgrokAPI/Services/SSHCredentialsClient.html +284 -111
  113. data/doc/NgrokAPI/Services/SSHHostCertificatesClient.html +340 -109
  114. data/doc/NgrokAPI/Services/SSHUserCertificatesClient.html +381 -110
  115. data/{docs/NgrokAPI/Services/EndpointLoggingModuleClient.html → doc/NgrokAPI/Services/TCPEdgeBackendModuleClient.html} +76 -80
  116. data/doc/NgrokAPI/Services/{EndpointIPPolicyModuleClient.html → TCPEdgeIPRestrictionModuleClient.html} +62 -66
  117. data/doc/NgrokAPI/Services/TLSCertificatesClient.html +280 -109
  118. data/doc/NgrokAPI/Services/{EndpointLoggingModuleClient.html → TLSEdgeBackendModuleClient.html} +76 -80
  119. data/{docs/NgrokAPI/Services/EndpointIPPolicyModuleClient.html → doc/NgrokAPI/Services/TLSEdgeIPRestrictionModuleClient.html} +62 -66
  120. data/doc/NgrokAPI/Services/{EndpointMutualTLSModuleClient.html → TLSEdgeMutualTLSModuleClient.html} +62 -66
  121. data/doc/NgrokAPI/Services/{EndpointTLSTerminationModuleClient.html → TLSEdgeTLSTerminationModuleClient.html} +62 -66
  122. data/doc/NgrokAPI/Services/TunnelGroupBackendsClient.html +1799 -0
  123. data/doc/NgrokAPI/Services/TunnelSessionsClient.html +44 -48
  124. data/doc/NgrokAPI/Services/TunnelsClient.html +249 -15
  125. data/doc/NgrokAPI/Services/WeightedBackendsClient.html +1799 -0
  126. data/doc/NgrokAPI/Services.html +4 -4
  127. data/doc/NgrokAPI.html +3 -3
  128. data/doc/_index.html +237 -60
  129. data/doc/class_list.html +1 -1
  130. data/doc/file.README.html +55 -55
  131. data/doc/index.html +55 -55
  132. data/doc/method_list.html +4555 -1843
  133. data/doc/top-level-namespace.html +2 -2
  134. data/docs/NgrokAPI/Client.html +270 -180
  135. data/docs/NgrokAPI/Error.html +2 -2
  136. data/docs/NgrokAPI/Errors/NotFoundError.html +2 -2
  137. data/docs/NgrokAPI/Errors.html +2 -2
  138. data/docs/NgrokAPI/HttpClient.html +147 -4
  139. data/docs/NgrokAPI/Models/APIKey.html +120 -68
  140. data/docs/NgrokAPI/Models/AWSAuth.html +83 -31
  141. data/docs/NgrokAPI/Models/AWSCredentials.html +90 -38
  142. data/docs/NgrokAPI/Models/AWSRole.html +75 -23
  143. data/docs/NgrokAPI/Models/AbuseReport.html +109 -57
  144. data/docs/NgrokAPI/Models/AbuseReportHostname.html +83 -31
  145. data/docs/NgrokAPI/Models/AgentIngress.html +142 -90
  146. data/docs/NgrokAPI/Models/CertificateAuthority.html +149 -97
  147. data/docs/NgrokAPI/Models/Credential.html +121 -69
  148. data/docs/NgrokAPI/Models/Endpoint.html +1483 -0
  149. data/docs/NgrokAPI/Models/{EndpointLoggingMutate.html → EndpointBackend.html} +105 -53
  150. data/docs/NgrokAPI/Models/EndpointBackendMutate.html +669 -0
  151. data/docs/NgrokAPI/Models/EndpointCircuitBreaker.html +101 -49
  152. data/docs/NgrokAPI/Models/EndpointCompression.html +82 -30
  153. data/docs/NgrokAPI/Models/EndpointIPPolicy.html +90 -38
  154. data/docs/NgrokAPI/Models/EndpointIPPolicyMutate.html +90 -38
  155. data/docs/NgrokAPI/Models/EndpointMutualTLS.html +90 -38
  156. data/docs/NgrokAPI/Models/EndpointMutualTLSMutate.html +90 -38
  157. data/docs/NgrokAPI/Models/EndpointOAuth.html +124 -72
  158. data/docs/NgrokAPI/Models/EndpointOAuthFacebook.html +107 -55
  159. data/docs/NgrokAPI/Models/EndpointOAuthGitHub.html +116 -64
  160. data/docs/NgrokAPI/Models/EndpointOAuthGoogle.html +107 -55
  161. data/docs/NgrokAPI/Models/EndpointOAuthMicrosoft.html +107 -55
  162. data/docs/NgrokAPI/Models/EndpointOAuthProvider.html +106 -54
  163. data/docs/NgrokAPI/Models/EndpointOIDC.html +133 -81
  164. data/docs/NgrokAPI/Models/EndpointRequestHeaders.html +91 -39
  165. data/docs/NgrokAPI/Models/EndpointResponseHeaders.html +91 -39
  166. data/docs/NgrokAPI/Models/EndpointSAML.html +148 -96
  167. data/docs/NgrokAPI/Models/EndpointSAMLMutate.html +133 -81
  168. data/docs/NgrokAPI/Models/EndpointTLSTermination.html +91 -39
  169. data/docs/NgrokAPI/Models/EndpointTLSTerminationAtEdge.html +669 -0
  170. data/docs/NgrokAPI/Models/EndpointWebhookValidation.html +91 -39
  171. data/{doc/NgrokAPI/Models/EndpointLogging.html → docs/NgrokAPI/Models/EndpointWebsocketTCPConverter.html} +95 -117
  172. data/docs/NgrokAPI/Models/EventDestination.html +122 -70
  173. data/docs/NgrokAPI/Models/EventSource.html +92 -40
  174. data/docs/NgrokAPI/Models/EventSourceList.html +76 -24
  175. data/docs/NgrokAPI/Models/EventSourceReplace.html +91 -39
  176. data/docs/NgrokAPI/Models/EventSubscription.html +122 -70
  177. data/docs/NgrokAPI/Models/EventTarget.html +106 -54
  178. data/docs/NgrokAPI/Models/EventTargetCloudwatchLogs.html +90 -38
  179. data/docs/NgrokAPI/Models/EventTargetFirehose.html +90 -38
  180. data/docs/NgrokAPI/Models/EventTargetKinesis.html +83 -31
  181. data/docs/NgrokAPI/Models/FailoverBackend.html +1127 -0
  182. data/{doc/NgrokAPI/Models/EventStream.html → docs/NgrokAPI/Models/HTTPResponseBackend.html} +170 -196
  183. data/docs/NgrokAPI/Models/HTTPSEdge.html +1361 -0
  184. data/docs/NgrokAPI/Models/{EndpointConfiguration.html → HTTPSEdgeRoute.html} +278 -288
  185. data/docs/NgrokAPI/Models/IPPolicy.html +120 -68
  186. data/docs/NgrokAPI/Models/IPPolicyRule.html +222 -96
  187. data/docs/NgrokAPI/Models/IPRestriction.html +130 -78
  188. data/docs/NgrokAPI/Models/Listable.html +61 -61
  189. data/docs/NgrokAPI/Models/Ref.html +83 -31
  190. data/docs/NgrokAPI/Models/ReservedAddr.html +130 -78
  191. data/docs/NgrokAPI/Models/ReservedDomain.html +151 -99
  192. data/docs/NgrokAPI/Models/ReservedDomainCertJob.html +92 -40
  193. data/docs/NgrokAPI/Models/ReservedDomainCertPolicy.html +90 -38
  194. data/docs/NgrokAPI/Models/ReservedDomainCertStatus.html +90 -38
  195. data/docs/NgrokAPI/Models/SSHCertificateAuthority.html +135 -83
  196. data/docs/NgrokAPI/Models/SSHCredential.html +128 -76
  197. data/docs/NgrokAPI/Models/SSHHostCertificate.html +148 -96
  198. data/docs/NgrokAPI/Models/SSHUserCertificate.html +154 -102
  199. data/docs/NgrokAPI/Models/TCPEdge.html +1287 -0
  200. data/docs/NgrokAPI/Models/TLSCertificate.html +165 -113
  201. data/docs/NgrokAPI/Models/TLSCertificateSANs.html +90 -38
  202. data/docs/NgrokAPI/Models/TLSEdge.html +1447 -0
  203. data/docs/NgrokAPI/Models/Tunnel.html +413 -65
  204. data/docs/NgrokAPI/Models/TunnelGroupBackend.html +1201 -0
  205. data/docs/NgrokAPI/Models/TunnelSession.html +126 -74
  206. data/docs/NgrokAPI/Models/WeightedBackend.html +1127 -0
  207. data/docs/NgrokAPI/Models.html +4 -4
  208. data/docs/NgrokAPI/PagedIterator.html +3 -3
  209. data/docs/NgrokAPI/Services/APIKeysClient.html +244 -109
  210. data/docs/NgrokAPI/Services/AbuseReportsClient.html +162 -25
  211. data/docs/NgrokAPI/Services/AgentIngressesClient.html +262 -109
  212. data/docs/NgrokAPI/Services/CertificateAuthoritiesClient.html +262 -109
  213. data/docs/NgrokAPI/Services/CredentialsClient.html +266 -111
  214. data/docs/NgrokAPI/Services/EdgeRouteBackendModuleClient.html +1149 -0
  215. data/docs/NgrokAPI/Services/{EndpointCircuitBreakerModuleClient.html → EdgeRouteCircuitBreakerModuleClient.html} +205 -99
  216. data/{doc/NgrokAPI/Services/EndpointCompressionModuleClient.html → docs/NgrokAPI/Services/EdgeRouteCompressionModuleClient.html} +205 -99
  217. data/docs/NgrokAPI/Services/EdgeRouteIPRestrictionModuleClient.html +1149 -0
  218. data/docs/NgrokAPI/Services/{EndpointOAuthModuleClient.html → EdgeRouteOAuthModuleClient.html} +205 -99
  219. data/docs/NgrokAPI/Services/EdgeRouteOIDCModuleClient.html +1149 -0
  220. data/docs/NgrokAPI/Services/EdgeRouteRequestHeadersModuleClient.html +1149 -0
  221. data/docs/NgrokAPI/Services/{EndpointResponseHeadersModuleClient.html → EdgeRouteResponseHeadersModuleClient.html} +205 -99
  222. data/{doc/NgrokAPI/Services/EndpointSAMLModuleClient.html → docs/NgrokAPI/Services/EdgeRouteSAMLModuleClient.html} +205 -99
  223. data/{doc/NgrokAPI/Services/EndpointWebhookValidationModuleClient.html → docs/NgrokAPI/Services/EdgeRouteWebhookVerificationModuleClient.html} +205 -99
  224. data/docs/NgrokAPI/Services/EdgeRouteWebsocketTCPConverterModuleClient.html +1149 -0
  225. data/docs/NgrokAPI/Services/EdgesHTTPSClient.html +1947 -0
  226. data/docs/NgrokAPI/Services/EdgesHTTPSRoutesClient.html +2585 -0
  227. data/docs/NgrokAPI/Services/EdgesTCPClient.html +1947 -0
  228. data/{doc/NgrokAPI/Services/EndpointConfigurationsClient.html → docs/NgrokAPI/Services/EdgesTLSClient.html} +374 -641
  229. data/docs/NgrokAPI/Services/EndpointsClient.html +903 -0
  230. data/docs/NgrokAPI/Services/EventDestinationsClient.html +290 -115
  231. data/docs/NgrokAPI/Services/EventSourcesClient.html +227 -88
  232. data/docs/NgrokAPI/Services/EventSubscriptionsClient.html +291 -116
  233. data/docs/NgrokAPI/Services/{EventStreamsClient.html → FailoverBackendsClient.html} +342 -335
  234. data/docs/NgrokAPI/Services/HTTPResponseBackendsClient.html +1937 -0
  235. data/docs/NgrokAPI/Services/HTTPSEdgeMutualTLSModuleClient.html +1039 -0
  236. data/{doc/NgrokAPI/Services/EndpointRequestHeadersModuleClient.html → docs/NgrokAPI/Services/HTTPSEdgeTLSTerminationModuleClient.html} +76 -80
  237. data/docs/NgrokAPI/Services/IPPoliciesClient.html +245 -128
  238. data/docs/NgrokAPI/Services/IPPolicyRulesClient.html +328 -117
  239. data/docs/NgrokAPI/Services/IPRestrictionsClient.html +305 -114
  240. data/docs/NgrokAPI/Services/ReservedAddrsClient.html +160 -295
  241. data/docs/NgrokAPI/Services/ReservedDomainsClient.html +257 -624
  242. data/docs/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +304 -109
  243. data/docs/NgrokAPI/Services/SSHCredentialsClient.html +284 -111
  244. data/docs/NgrokAPI/Services/SSHHostCertificatesClient.html +340 -109
  245. data/docs/NgrokAPI/Services/SSHUserCertificatesClient.html +381 -110
  246. data/docs/NgrokAPI/Services/{EndpointOIDCModuleClient.html → TCPEdgeBackendModuleClient.html} +76 -80
  247. data/docs/NgrokAPI/Services/TCPEdgeIPRestrictionModuleClient.html +1039 -0
  248. data/docs/NgrokAPI/Services/TLSCertificatesClient.html +280 -109
  249. data/{doc/NgrokAPI/Services/EndpointOIDCModuleClient.html → docs/NgrokAPI/Services/TLSEdgeBackendModuleClient.html} +76 -80
  250. data/docs/NgrokAPI/Services/TLSEdgeIPRestrictionModuleClient.html +1039 -0
  251. data/docs/NgrokAPI/Services/{EndpointMutualTLSModuleClient.html → TLSEdgeMutualTLSModuleClient.html} +62 -66
  252. data/docs/NgrokAPI/Services/{EndpointTLSTerminationModuleClient.html → TLSEdgeTLSTerminationModuleClient.html} +62 -66
  253. data/docs/NgrokAPI/Services/TunnelGroupBackendsClient.html +1799 -0
  254. data/docs/NgrokAPI/Services/TunnelSessionsClient.html +44 -48
  255. data/docs/NgrokAPI/Services/TunnelsClient.html +249 -15
  256. data/docs/NgrokAPI/Services/WeightedBackendsClient.html +1799 -0
  257. data/docs/NgrokAPI/Services.html +4 -4
  258. data/docs/NgrokAPI.html +3 -3
  259. data/docs/_index.html +237 -60
  260. data/docs/class_list.html +1 -1
  261. data/docs/file.README.html +55 -55
  262. data/docs/index.html +55 -55
  263. data/docs/method_list.html +4555 -1843
  264. data/docs/top-level-namespace.html +2 -2
  265. data/lib/ngrokapi/client.rb +47 -24
  266. data/lib/ngrokapi/http_client.rb +21 -2
  267. data/lib/ngrokapi/models/abuse_report.rb +16 -12
  268. data/lib/ngrokapi/models/abuse_report_hostname.rb +11 -7
  269. data/lib/ngrokapi/models/agent_ingress.rb +17 -13
  270. data/lib/ngrokapi/models/api_key.rb +15 -11
  271. data/lib/ngrokapi/models/aws_auth.rb +11 -7
  272. data/lib/ngrokapi/models/aws_credentials.rb +11 -7
  273. data/lib/ngrokapi/models/aws_role.rb +10 -6
  274. data/lib/ngrokapi/models/certificate_authority.rb +20 -16
  275. data/lib/ngrokapi/models/credential.rb +16 -12
  276. data/lib/ngrokapi/models/endpoint.rb +53 -0
  277. data/lib/ngrokapi/models/endpoint_backend.rb +31 -0
  278. data/lib/ngrokapi/models/endpoint_backend_mutate.rb +31 -0
  279. data/lib/ngrokapi/models/endpoint_circuit_breaker.rb +15 -11
  280. data/lib/ngrokapi/models/endpoint_compression.rb +10 -6
  281. data/lib/ngrokapi/models/endpoint_ip_policy.rb +11 -7
  282. data/lib/ngrokapi/models/endpoint_ip_policy_mutate.rb +11 -7
  283. data/lib/ngrokapi/models/endpoint_mutual_tls.rb +11 -7
  284. data/lib/ngrokapi/models/endpoint_mutual_tls_mutate.rb +11 -7
  285. data/lib/ngrokapi/models/endpoint_o_auth.rb +16 -12
  286. data/lib/ngrokapi/models/endpoint_o_auth_facebook.rb +14 -10
  287. data/lib/ngrokapi/models/endpoint_o_auth_git_hub.rb +16 -12
  288. data/lib/ngrokapi/models/endpoint_o_auth_google.rb +14 -10
  289. data/lib/ngrokapi/models/endpoint_o_auth_microsoft.rb +14 -10
  290. data/lib/ngrokapi/models/endpoint_o_auth_provider.rb +13 -9
  291. data/lib/ngrokapi/models/endpoint_oidc.rb +18 -14
  292. data/lib/ngrokapi/models/endpoint_request_headers.rb +12 -8
  293. data/lib/ngrokapi/models/endpoint_response_headers.rb +12 -8
  294. data/lib/ngrokapi/models/endpoint_saml.rb +25 -21
  295. data/lib/ngrokapi/models/endpoint_saml_mutate.rb +20 -16
  296. data/lib/ngrokapi/models/endpoint_tls_termination.rb +12 -8
  297. data/lib/ngrokapi/models/endpoint_tls_termination_at_edge.rb +31 -0
  298. data/lib/ngrokapi/models/endpoint_webhook_validation.rb +12 -8
  299. data/lib/ngrokapi/models/endpoint_websocket_tcp_converter.rb +29 -0
  300. data/lib/ngrokapi/models/event_destination.rb +17 -14
  301. data/lib/ngrokapi/models/event_source.rb +13 -9
  302. data/lib/ngrokapi/models/event_source_list.rb +11 -7
  303. data/lib/ngrokapi/models/event_source_replace.rb +12 -8
  304. data/lib/ngrokapi/models/event_subscription.rb +16 -12
  305. data/lib/ngrokapi/models/event_target.rb +13 -9
  306. data/lib/ngrokapi/models/event_target_cloudwatch_logs.rb +11 -7
  307. data/lib/ngrokapi/models/event_target_firehose.rb +11 -7
  308. data/lib/ngrokapi/models/event_target_kinesis.rb +11 -7
  309. data/lib/ngrokapi/models/failover_backend.rb +69 -0
  310. data/lib/ngrokapi/models/http_response_backend.rb +75 -0
  311. data/lib/ngrokapi/models/https_edge.rb +84 -0
  312. data/lib/ngrokapi/models/https_edge_route.rb +137 -0
  313. data/lib/ngrokapi/models/ip_policy.rb +15 -11
  314. data/lib/ngrokapi/models/ip_policy_rule.rb +19 -13
  315. data/lib/ngrokapi/models/ip_restriction.rb +17 -13
  316. data/lib/ngrokapi/models/listable.rb +9 -9
  317. data/lib/ngrokapi/models/ref.rb +11 -7
  318. data/lib/ngrokapi/models/reserved_addr.rb +17 -13
  319. data/lib/ngrokapi/models/reserved_domain.rb +23 -19
  320. data/lib/ngrokapi/models/reserved_domain_cert_job.rb +13 -9
  321. data/lib/ngrokapi/models/reserved_domain_cert_policy.rb +11 -7
  322. data/lib/ngrokapi/models/reserved_domain_cert_status.rb +11 -7
  323. data/lib/ngrokapi/models/ssh_certificate_authority.rb +16 -12
  324. data/lib/ngrokapi/models/ssh_credential.rb +16 -12
  325. data/lib/ngrokapi/models/ssh_host_certificate.rb +21 -17
  326. data/lib/ngrokapi/models/ssh_user_certificate.rb +23 -19
  327. data/lib/ngrokapi/models/tcp_edge.rb +82 -0
  328. data/lib/ngrokapi/models/tls_certificate.rb +30 -26
  329. data/lib/ngrokapi/models/tls_certificate_sa_ns.rb +11 -7
  330. data/lib/ngrokapi/models/tls_edge.rb +92 -0
  331. data/lib/ngrokapi/models/tunnel.rb +25 -13
  332. data/lib/ngrokapi/models/tunnel_group_backend.rb +71 -0
  333. data/lib/ngrokapi/models/tunnel_session.rb +19 -15
  334. data/lib/ngrokapi/models/weighted_backend.rb +69 -0
  335. data/lib/ngrokapi/paged_iterator.rb +1 -1
  336. data/lib/ngrokapi/services/abuse_reports_client.rb +25 -3
  337. data/lib/ngrokapi/services/agent_ingresses_client.rb +32 -11
  338. data/lib/ngrokapi/services/api_keys_client.rb +30 -11
  339. data/lib/ngrokapi/services/certificate_authorities_client.rb +31 -11
  340. data/lib/ngrokapi/services/credentials_client.rb +34 -11
  341. data/lib/ngrokapi/services/edge_route_backend_module_client.rb +118 -0
  342. data/lib/ngrokapi/services/edge_route_circuit_breaker_module_client.rb +118 -0
  343. data/lib/ngrokapi/services/edge_route_compression_module_client.rb +118 -0
  344. data/lib/ngrokapi/services/edge_route_ip_restriction_module_client.rb +118 -0
  345. data/lib/ngrokapi/services/edge_route_o_auth_module_client.rb +118 -0
  346. data/lib/ngrokapi/services/edge_route_oidc_module_client.rb +118 -0
  347. data/lib/ngrokapi/services/edge_route_request_headers_module_client.rb +118 -0
  348. data/lib/ngrokapi/services/edge_route_response_headers_module_client.rb +118 -0
  349. data/lib/ngrokapi/services/edge_route_saml_module_client.rb +118 -0
  350. data/lib/ngrokapi/services/edge_route_webhook_verification_module_client.rb +118 -0
  351. data/lib/ngrokapi/services/edge_route_websocket_tcp_converter_module_client.rb +118 -0
  352. data/lib/ngrokapi/services/edges_https_client.rb +251 -0
  353. data/lib/ngrokapi/services/edges_https_routes_client.rb +292 -0
  354. data/lib/ngrokapi/services/edges_tcp_client.rb +251 -0
  355. data/lib/ngrokapi/services/edges_tls_client.rb +267 -0
  356. data/lib/ngrokapi/services/endpoints_client.rb +112 -0
  357. data/lib/ngrokapi/services/event_destinations_client.rb +37 -15
  358. data/lib/ngrokapi/services/event_sources_client.rb +27 -7
  359. data/lib/ngrokapi/services/event_subscriptions_client.rb +36 -14
  360. data/lib/ngrokapi/services/failover_backends_client.rb +234 -0
  361. data/lib/ngrokapi/services/http_response_backends_client.rb +220 -0
  362. data/lib/ngrokapi/services/{endpoint_oidc_module_client.rb → https_edge_mutual_tls_module_client.rb} +27 -29
  363. data/lib/ngrokapi/services/https_edge_tls_termination_module_client.rb +106 -0
  364. data/lib/ngrokapi/services/ip_policies_client.rb +31 -14
  365. data/lib/ngrokapi/services/ip_policy_rules_client.rb +38 -12
  366. data/lib/ngrokapi/services/ip_restrictions_client.rb +36 -12
  367. data/lib/ngrokapi/services/reserved_addrs_client.rb +31 -48
  368. data/lib/ngrokapi/services/reserved_domains_client.rb +37 -85
  369. data/lib/ngrokapi/services/ssh_certificate_authorities_client.rb +35 -11
  370. data/lib/ngrokapi/services/ssh_credentials_client.rb +34 -11
  371. data/lib/ngrokapi/services/ssh_host_certificates_client.rb +39 -11
  372. data/lib/ngrokapi/services/ssh_user_certificates_client.rb +44 -12
  373. data/lib/ngrokapi/services/{endpoint_logging_module_client.rb → tcp_edge_backend_module_client.rb} +27 -29
  374. data/lib/ngrokapi/services/{endpoint_ip_policy_module_client.rb → tcp_edge_ip_restriction_module_client.rb} +21 -23
  375. data/lib/ngrokapi/services/tls_certificates_client.rb +33 -11
  376. data/lib/ngrokapi/services/{endpoint_saml_module_client.rb → tls_edge_backend_module_client.rb} +27 -29
  377. data/lib/ngrokapi/services/tls_edge_ip_restriction_module_client.rb +106 -0
  378. data/lib/ngrokapi/services/{endpoint_mutual_tls_module_client.rb → tls_edge_mutual_tls_module_client.rb} +21 -23
  379. data/lib/ngrokapi/services/{endpoint_tls_termination_module_client.rb → tls_edge_tls_termination_module_client.rb} +21 -23
  380. data/lib/ngrokapi/services/tunnel_group_backends_client.rb +232 -0
  381. data/lib/ngrokapi/services/tunnel_sessions_client.rb +6 -8
  382. data/lib/ngrokapi/services/tunnels_client.rb +39 -6
  383. data/lib/ngrokapi/services/weighted_backends_client.rb +234 -0
  384. data/lib/ngrokapi/version.rb +1 -1
  385. data/lib/ngrokapi.rb +1 -1
  386. data/spec/ngrokapi/client_spec.rb +44 -23
  387. data/spec/ngrokapi/models/abuse_report_hostname_spec.rb +2 -2
  388. data/spec/ngrokapi/models/abuse_report_spec.rb +2 -2
  389. data/spec/ngrokapi/models/agent_ingress_spec.rb +2 -2
  390. data/spec/ngrokapi/models/api_key_spec.rb +2 -2
  391. data/spec/ngrokapi/models/aws_auth_spec.rb +2 -2
  392. data/spec/ngrokapi/models/aws_credentials_spec.rb +2 -2
  393. data/spec/ngrokapi/models/aws_role_spec.rb +2 -2
  394. data/spec/ngrokapi/models/certificate_authority_spec.rb +2 -2
  395. data/spec/ngrokapi/models/credential_spec.rb +2 -2
  396. data/spec/ngrokapi/models/endpoint_backend_mutate_spec.rb +21 -0
  397. data/spec/ngrokapi/models/endpoint_backend_spec.rb +21 -0
  398. data/spec/ngrokapi/models/endpoint_circuit_breaker_spec.rb +2 -2
  399. data/spec/ngrokapi/models/endpoint_compression_spec.rb +2 -2
  400. data/spec/ngrokapi/models/endpoint_ip_policy_mutate_spec.rb +2 -2
  401. data/spec/ngrokapi/models/endpoint_ip_policy_spec.rb +2 -2
  402. data/spec/ngrokapi/models/endpoint_mutual_tls_mutate_spec.rb +2 -2
  403. data/spec/ngrokapi/models/endpoint_mutual_tls_spec.rb +2 -2
  404. data/spec/ngrokapi/models/endpoint_o_auth_facebook_spec.rb +2 -2
  405. data/spec/ngrokapi/models/endpoint_o_auth_git_hub_spec.rb +2 -2
  406. data/spec/ngrokapi/models/endpoint_o_auth_google_spec.rb +2 -2
  407. data/spec/ngrokapi/models/endpoint_o_auth_microsoft_spec.rb +2 -2
  408. data/spec/ngrokapi/models/endpoint_o_auth_provider_spec.rb +2 -2
  409. data/spec/ngrokapi/models/endpoint_o_auth_spec.rb +2 -2
  410. data/spec/ngrokapi/models/endpoint_oidc_spec.rb +2 -2
  411. data/spec/ngrokapi/models/endpoint_request_headers_spec.rb +2 -2
  412. data/spec/ngrokapi/models/endpoint_response_headers_spec.rb +2 -2
  413. data/spec/ngrokapi/models/endpoint_saml_mutate_spec.rb +2 -2
  414. data/spec/ngrokapi/models/endpoint_saml_spec.rb +2 -2
  415. data/spec/ngrokapi/models/endpoint_spec.rb +21 -0
  416. data/spec/ngrokapi/models/endpoint_tls_termination_at_edge_spec.rb +21 -0
  417. data/spec/ngrokapi/models/endpoint_tls_termination_spec.rb +2 -2
  418. data/spec/ngrokapi/models/endpoint_webhook_validation_spec.rb +2 -2
  419. data/spec/ngrokapi/models/endpoint_websocket_tcp_converter_spec.rb +21 -0
  420. data/spec/ngrokapi/models/event_destination_spec.rb +2 -2
  421. data/spec/ngrokapi/models/event_source_list_spec.rb +2 -2
  422. data/spec/ngrokapi/models/event_source_replace_spec.rb +2 -2
  423. data/spec/ngrokapi/models/event_source_spec.rb +2 -2
  424. data/spec/ngrokapi/models/event_subscription_spec.rb +2 -2
  425. data/spec/ngrokapi/models/event_target_cloudwatch_logs_spec.rb +2 -2
  426. data/spec/ngrokapi/models/event_target_firehose_spec.rb +2 -2
  427. data/spec/ngrokapi/models/event_target_kinesis_spec.rb +2 -2
  428. data/spec/ngrokapi/models/event_target_spec.rb +2 -2
  429. data/spec/ngrokapi/models/failover_backend_spec.rb +45 -0
  430. data/spec/ngrokapi/models/http_response_backend_spec.rb +51 -0
  431. data/spec/ngrokapi/models/https_edge_route_spec.rb +81 -0
  432. data/spec/ngrokapi/models/https_edge_spec.rb +51 -0
  433. data/spec/ngrokapi/models/ip_policy_rule_spec.rb +2 -2
  434. data/spec/ngrokapi/models/ip_policy_spec.rb +2 -2
  435. data/spec/ngrokapi/models/ip_restriction_spec.rb +2 -2
  436. data/spec/ngrokapi/models/listable_spec.rb +2 -2
  437. data/spec/ngrokapi/models/ref_spec.rb +2 -2
  438. data/spec/ngrokapi/models/reserved_addr_spec.rb +2 -2
  439. data/spec/ngrokapi/models/reserved_domain_cert_job_spec.rb +2 -2
  440. data/spec/ngrokapi/models/reserved_domain_cert_policy_spec.rb +2 -2
  441. data/spec/ngrokapi/models/reserved_domain_cert_status_spec.rb +2 -2
  442. data/spec/ngrokapi/models/reserved_domain_spec.rb +2 -2
  443. data/spec/ngrokapi/models/ssh_certificate_authority_spec.rb +2 -2
  444. data/spec/ngrokapi/models/ssh_credential_spec.rb +2 -2
  445. data/spec/ngrokapi/models/ssh_host_certificate_spec.rb +2 -2
  446. data/spec/ngrokapi/models/ssh_user_certificate_spec.rb +2 -2
  447. data/spec/ngrokapi/models/tcp_edge_spec.rb +51 -0
  448. data/spec/ngrokapi/models/tls_certificate_sa_ns_spec.rb +2 -2
  449. data/spec/ngrokapi/models/tls_certificate_spec.rb +2 -2
  450. data/spec/ngrokapi/models/tls_edge_spec.rb +57 -0
  451. data/spec/ngrokapi/models/tunnel_group_backend_spec.rb +45 -0
  452. data/spec/ngrokapi/models/tunnel_session_spec.rb +2 -2
  453. data/spec/ngrokapi/models/tunnel_spec.rb +2 -2
  454. data/spec/ngrokapi/models/weighted_backend_spec.rb +45 -0
  455. data/spec/ngrokapi/paged_iterator_spec.rb +5 -5
  456. data/spec/ngrokapi/services/abuse_reports_client_spec.rb +19 -0
  457. data/spec/ngrokapi/services/agent_ingresses_client_spec.rb +21 -0
  458. data/spec/ngrokapi/services/api_keys_client_spec.rb +19 -0
  459. data/spec/ngrokapi/services/certificate_authorities_client_spec.rb +21 -0
  460. data/spec/ngrokapi/services/credentials_client_spec.rb +21 -0
  461. data/spec/ngrokapi/services/edge_route_backend_module_client_spec.rb +137 -0
  462. data/spec/ngrokapi/services/{endpoint_circuit_breaker_module_client_spec.rb → edge_route_circuit_breaker_module_client_spec.rb} +33 -21
  463. data/spec/ngrokapi/services/{endpoint_compression_module_client_spec.rb → edge_route_compression_module_client_spec.rb} +33 -21
  464. data/spec/ngrokapi/services/edge_route_ip_restriction_module_client_spec.rb +137 -0
  465. data/spec/ngrokapi/services/{endpoint_o_auth_module_client_spec.rb → edge_route_o_auth_module_client_spec.rb} +33 -21
  466. data/spec/ngrokapi/services/{endpoint_oidc_module_client_spec.rb → edge_route_oidc_module_client_spec.rb} +33 -21
  467. data/spec/ngrokapi/services/{endpoint_request_headers_module_client_spec.rb → edge_route_request_headers_module_client_spec.rb} +33 -21
  468. data/spec/ngrokapi/services/{endpoint_response_headers_module_client_spec.rb → edge_route_response_headers_module_client_spec.rb} +33 -21
  469. data/spec/ngrokapi/services/{endpoint_saml_module_client_spec.rb → edge_route_saml_module_client_spec.rb} +33 -21
  470. data/spec/ngrokapi/services/{endpoint_webhook_validation_module_client_spec.rb → edge_route_webhook_verification_module_client_spec.rb} +33 -21
  471. data/spec/ngrokapi/services/edge_route_websocket_tcp_converter_module_client_spec.rb +137 -0
  472. data/spec/ngrokapi/services/edges_https_client_spec.rb +200 -0
  473. data/spec/ngrokapi/services/edges_https_routes_client_spec.rb +288 -0
  474. data/spec/ngrokapi/services/edges_tcp_client_spec.rb +200 -0
  475. data/spec/ngrokapi/services/edges_tls_client_spec.rb +216 -0
  476. data/spec/ngrokapi/services/endpoints_client_spec.rb +57 -0
  477. data/spec/ngrokapi/services/event_destinations_client_spec.rb +24 -0
  478. data/spec/ngrokapi/services/event_sources_client_spec.rb +21 -0
  479. data/spec/ngrokapi/services/event_subscriptions_client_spec.rb +23 -0
  480. data/spec/ngrokapi/services/failover_backends_client_spec.rb +184 -0
  481. data/spec/ngrokapi/services/http_response_backends_client_spec.rb +200 -0
  482. data/spec/ngrokapi/services/{endpoint_mutual_tls_module_client_spec.rb → https_edge_mutual_tls_module_client_spec.rb} +19 -21
  483. data/spec/ngrokapi/services/{endpoint_tls_termination_module_client_spec.rb → https_edge_tls_termination_module_client_spec.rb} +19 -21
  484. data/spec/ngrokapi/services/ip_policies_client_spec.rb +20 -1
  485. data/spec/ngrokapi/services/ip_policy_rules_client_spec.rb +28 -1
  486. data/spec/ngrokapi/services/ip_restrictions_client_spec.rb +25 -0
  487. data/spec/ngrokapi/services/reserved_addrs_client_spec.rb +22 -44
  488. data/spec/ngrokapi/services/reserved_domains_client_spec.rb +29 -88
  489. data/spec/ngrokapi/services/ssh_certificate_authorities_client_spec.rb +25 -0
  490. data/spec/ngrokapi/services/ssh_credentials_client_spec.rb +23 -0
  491. data/spec/ngrokapi/services/ssh_host_certificates_client_spec.rb +29 -0
  492. data/spec/ngrokapi/services/ssh_user_certificates_client_spec.rb +33 -0
  493. data/spec/ngrokapi/services/tcp_edge_backend_module_client_spec.rb +123 -0
  494. data/spec/ngrokapi/services/{endpoint_ip_policy_module_client_spec.rb → tcp_edge_ip_restriction_module_client_spec.rb} +19 -21
  495. data/spec/ngrokapi/services/tls_certificates_client_spec.rb +23 -0
  496. data/spec/ngrokapi/services/tls_edge_backend_module_client_spec.rb +123 -0
  497. data/spec/ngrokapi/services/tls_edge_ip_restriction_module_client_spec.rb +123 -0
  498. data/spec/ngrokapi/services/tls_edge_mutual_tls_module_client_spec.rb +123 -0
  499. data/spec/ngrokapi/services/tls_edge_tls_termination_module_client_spec.rb +123 -0
  500. data/spec/ngrokapi/services/tunnel_group_backends_client_spec.rb +184 -0
  501. data/spec/ngrokapi/services/tunnels_client_spec.rb +36 -0
  502. data/spec/ngrokapi/services/weighted_backends_client_spec.rb +184 -0
  503. data/spec/spec_helper.rb +326 -33
  504. metadata +166 -76
  505. data/doc/README +0 -94
  506. data/docs/README +0 -94
  507. data/lib/ngrokapi/models/endpoint_configuration.rb +0 -130
  508. data/lib/ngrokapi/models/endpoint_logging.rb +0 -27
  509. data/lib/ngrokapi/models/endpoint_logging_mutate.rb +0 -27
  510. data/lib/ngrokapi/models/event_stream.rb +0 -77
  511. data/lib/ngrokapi/services/endpoint_circuit_breaker_module_client.rb +0 -108
  512. data/lib/ngrokapi/services/endpoint_compression_module_client.rb +0 -108
  513. data/lib/ngrokapi/services/endpoint_configurations_client.rb +0 -289
  514. data/lib/ngrokapi/services/endpoint_o_auth_module_client.rb +0 -108
  515. data/lib/ngrokapi/services/endpoint_request_headers_module_client.rb +0 -108
  516. data/lib/ngrokapi/services/endpoint_response_headers_module_client.rb +0 -108
  517. data/lib/ngrokapi/services/endpoint_webhook_validation_module_client.rb +0 -108
  518. data/lib/ngrokapi/services/event_streams_client.rb +0 -224
  519. data/spec/ngrokapi/models/endpoint_configuration_spec.rb +0 -78
  520. data/spec/ngrokapi/models/endpoint_logging_mutate_spec.rb +0 -21
  521. data/spec/ngrokapi/models/endpoint_logging_spec.rb +0 -21
  522. data/spec/ngrokapi/models/event_stream_spec.rb +0 -51
  523. data/spec/ngrokapi/services/endpoint_configurations_client_spec.rb +0 -237
  524. data/spec/ngrokapi/services/endpoint_logging_module_client_spec.rb +0 -125
  525. data/spec/ngrokapi/services/event_streams_client_spec.rb +0 -177
@@ -3,6 +3,9 @@ require 'spec_helper'
3
3
  RSpec.describe NgrokAPI::Services::TunnelsClient do
4
4
  let(:base_url) { 'https://api.ngrok.com' }
5
5
  let(:path) { '/tunnels' }
6
+ let(:not_found) do
7
+ NgrokAPI::Errors::NotFoundError.new(response: tunnel_result)
8
+ end
6
9
 
7
10
  before(:each) do
8
11
  @client = class_double("HttpClient")
@@ -18,4 +21,37 @@ RSpec.describe NgrokAPI::Services::TunnelsClient do
18
21
  expect(result.class).to eq(NgrokAPI::Models::Listable)
19
22
  end
20
23
  end
24
+
25
+ describe "#get" do
26
+ it "will make a get request and return an instance of NgrokAPI::Models::Tunnel" do
27
+ path = '/tunnels/%{id}'
28
+ replacements = {
29
+ id: tunnel_result["id"],
30
+ }
31
+ data = {}
32
+ expect(@client).to receive(:get).with(path % replacements, data: data).
33
+ and_return(tunnel_result)
34
+ result = @tunnels_client.get(
35
+ id: tunnel_result["id"]
36
+ )
37
+ expect(result.class).to eq(NgrokAPI::Models::Tunnel)
38
+ end
39
+ end
40
+
41
+ describe "#get!" do
42
+ it "will make a get request and return an instance of NgrokAPI::Models::Tunnel" do
43
+ path = '/tunnels/%{id}'
44
+ replacements = {
45
+ id: tunnel_result["id"],
46
+ }
47
+ data = {}
48
+ expect(@client).to receive(:get).with(path % replacements, data: data).
49
+ and_return(tunnel_result)
50
+ result = @tunnels_client.get(
51
+ id: tunnel_result["id"]
52
+ )
53
+ expect(result.class).to eq(NgrokAPI::Models::Tunnel)
54
+ # expect(result.id).to eq(tunnel_result["id"])
55
+ end
56
+ end
21
57
  end
@@ -0,0 +1,184 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe NgrokAPI::Services::WeightedBackendsClient do
4
+ let(:base_url) { 'https://api.ngrok.com' }
5
+ let(:path) { '/backends/weighted' }
6
+ let(:not_found) do
7
+ NgrokAPI::Errors::NotFoundError.new(response: weighted_backend_result)
8
+ end
9
+
10
+ before(:each) do
11
+ @client = class_double("HttpClient")
12
+ @weighted_backends_client = NgrokAPI::Services::WeightedBackendsClient.new(client: @client)
13
+ end
14
+
15
+ describe "#create" do
16
+ it "will make a post request and return an instance of NgrokAPI::Models::WeightedBackend" do
17
+ path = '/backends/weighted'
18
+ replacements = {
19
+ }
20
+ data = {}
21
+ data[:description] = "New description"
22
+ data[:metadata] = "New metadata"
23
+ data[:backends] = "New backends"
24
+ expect(@client).to receive(:post).with(path % replacements, data: data).
25
+ and_return(weighted_backend_result)
26
+ result = @weighted_backends_client.create(
27
+ description: "New description",
28
+ metadata: "New metadata",
29
+ backends: "New backends"
30
+ )
31
+ expect(result.class).to eq(NgrokAPI::Models::WeightedBackend)
32
+ end
33
+ end
34
+
35
+ describe "#create!" do
36
+ it "will make a post request and return an instance of NgrokAPI::Models::WeightedBackend" do
37
+ path = '/backends/weighted'
38
+ replacements = {
39
+ }
40
+ data = {}
41
+ data[:description] = "New description"
42
+ data[:metadata] = "New metadata"
43
+ data[:backends] = "New backends"
44
+ expect(@client).to receive(:post).with(path % replacements, data: data).
45
+ and_return(weighted_backend_result)
46
+ result = @weighted_backends_client.create(
47
+ description: "New description",
48
+ metadata: "New metadata",
49
+ backends: "New backends"
50
+ )
51
+ expect(result.class).to eq(NgrokAPI::Models::WeightedBackend)
52
+ # expect(result.id).to eq(weighted_backend_result["id"])
53
+ end
54
+ end
55
+
56
+ describe "#delete" do
57
+ it "will make a delete request" do
58
+ path = '/backends/weighted/%{id}'
59
+ replacements = {
60
+ id: api_key_result["id"],
61
+ }
62
+ expect(@client).to receive(:delete).with(path % replacements).and_return(nil)
63
+ @weighted_backends_client.delete(
64
+ id: api_key_result["id"]
65
+ )
66
+ end
67
+ end
68
+
69
+ describe "#delete!" do
70
+ it "will make a delete request" do
71
+ path = '/backends/weighted/%{id}'
72
+ replacements = {
73
+ id: api_key_result["id"],
74
+ }
75
+ expect(@client).to receive(:delete).with(path % replacements, danger: true).and_return(nil)
76
+ @weighted_backends_client.delete!(
77
+ id: api_key_result["id"]
78
+ )
79
+ end
80
+
81
+ it "will make a delete request and return NotFoundError if 404" do
82
+ path = '/backends/weighted/%{id}'
83
+ replacements = {
84
+ id: api_key_result["id"],
85
+ }
86
+ expect do
87
+ expect(@client).to receive(:delete).with(path % replacements, danger: true).
88
+ and_raise(NgrokAPI::Errors::NotFoundError)
89
+ result = @weighted_backends_client.delete!(
90
+ id: api_key_result["id"]
91
+ )
92
+ expect(result).to be nil
93
+ end.to raise_error(NgrokAPI::Errors::NotFoundError)
94
+ end
95
+ end
96
+
97
+ describe "#get" do
98
+ it "will make a get request and return an instance of NgrokAPI::Models::WeightedBackend" do
99
+ path = '/backends/weighted/%{id}'
100
+ replacements = {
101
+ id: weighted_backend_result["id"],
102
+ }
103
+ data = {}
104
+ expect(@client).to receive(:get).with(path % replacements, data: data).
105
+ and_return(weighted_backend_result)
106
+ result = @weighted_backends_client.get(
107
+ id: weighted_backend_result["id"]
108
+ )
109
+ expect(result.class).to eq(NgrokAPI::Models::WeightedBackend)
110
+ end
111
+ end
112
+
113
+ describe "#get!" do
114
+ it "will make a get request and return an instance of NgrokAPI::Models::WeightedBackend" do
115
+ path = '/backends/weighted/%{id}'
116
+ replacements = {
117
+ id: weighted_backend_result["id"],
118
+ }
119
+ data = {}
120
+ expect(@client).to receive(:get).with(path % replacements, data: data).
121
+ and_return(weighted_backend_result)
122
+ result = @weighted_backends_client.get(
123
+ id: weighted_backend_result["id"]
124
+ )
125
+ expect(result.class).to eq(NgrokAPI::Models::WeightedBackend)
126
+ # expect(result.id).to eq(weighted_backend_result["id"])
127
+ end
128
+ end
129
+
130
+ describe "#list" do
131
+ it "will make a call to list (a GET request) and return a NgrokAPI::Models::Listable" do
132
+ expect(@client).to receive(:list).
133
+ and_return(weighted_backend_results)
134
+ url = base_url + path + "?before_id=" + api_key_result["id"] + "&limit=1"
135
+ result = @weighted_backends_client.list(url: url)
136
+ expect(result.class).to eq(NgrokAPI::Models::Listable)
137
+ end
138
+ end
139
+
140
+ describe "#update" do
141
+ it "will make a patch request and return an instance of NgrokAPI::Models::WeightedBackend" do
142
+ path = '/backends/weighted/%{id}'
143
+ replacements = {
144
+ id: weighted_backend_result["id"],
145
+ }
146
+ data = {}
147
+ data[:description] = "New description"
148
+ data[:metadata] = "New metadata"
149
+ data[:backends] = "New backends"
150
+ expect(@client).to receive(:patch).with(path % replacements, data: data).
151
+ and_return(weighted_backend_result)
152
+ result = @weighted_backends_client.update(
153
+ id: weighted_backend_result["id"],
154
+ description: "New description",
155
+ metadata: "New metadata",
156
+ backends: "New backends"
157
+ )
158
+ expect(result.class).to eq(NgrokAPI::Models::WeightedBackend)
159
+ end
160
+ end
161
+
162
+ describe "#update!" do
163
+ it "will make a patch request and return an instance of NgrokAPI::Models::WeightedBackend" do
164
+ path = '/backends/weighted/%{id}'
165
+ replacements = {
166
+ id: weighted_backend_result["id"],
167
+ }
168
+ data = {}
169
+ data[:description] = "New description"
170
+ data[:metadata] = "New metadata"
171
+ data[:backends] = "New backends"
172
+ expect(@client).to receive(:patch).with(path % replacements, data: data).
173
+ and_return(weighted_backend_result)
174
+ result = @weighted_backends_client.update(
175
+ id: weighted_backend_result["id"],
176
+ description: "New description",
177
+ metadata: "New metadata",
178
+ backends: "New backends"
179
+ )
180
+ expect(result.class).to eq(NgrokAPI::Models::WeightedBackend)
181
+ # expect(result.id).to eq(weighted_backend_result["id"])
182
+ end
183
+ end
184
+ end
data/spec/spec_helper.rb CHANGED
@@ -237,6 +237,53 @@ def credential_results
237
237
  }
238
238
  end
239
239
 
240
+ def endpoint_result
241
+ {
242
+ "id" => "ep_123",
243
+ "region" => "us",
244
+ "created_at" => "2021-04-21T23:36:29Z",
245
+ "updated_at" => "2021-04-21T23:36:29Z",
246
+ "public_url" => "tls://1.tcp.ngrok.io:1234",
247
+ "proto" => "tcp",
248
+ "hostport" => "1.tcp.ngrok.io:1234",
249
+ "type" => "ephemeral",
250
+ "metadata" => "tunnel metadata",
251
+ "domain" => nil,
252
+ "tcp_addr" => { "id": "ra_1024", "uri": "foo" },
253
+ "tunnel" => { "id": "tun_1024", "uri": "foo" },
254
+ "edge" => nil,
255
+ }
256
+ end
257
+
258
+ def endpoint_result2
259
+ {
260
+ "id" => "ep_456",
261
+ "region" => "sa",
262
+ "created_at" => "2021-04-21T23:36:29Z",
263
+ "updated_at" => "2021-04-21T23:36:29Z",
264
+ "public_url" => "https://bugcat.ngrok.io",
265
+ "proto" => "https",
266
+ "hostport" => "bugcat.ngrok.io:443",
267
+ "type" => "persistent",
268
+ "metadata" => "edge metadata",
269
+ "domain" => { "id": "rd_2408", "uri": "quux" },
270
+ "tcp_addr" => nil,
271
+ "tunnel" => nil,
272
+ "edge" => { "id": "edghts_555", "uri": "bar" },
273
+ }
274
+ end
275
+
276
+ def endpoint_results
277
+ {
278
+ "endpoints" => [
279
+ endpoint_result,
280
+ endpoint_result2,
281
+ ],
282
+ "uri" => "https://api.ngrok.com/endpoints",
283
+ "next_page_uri" => nil,
284
+ }
285
+ end
286
+
240
287
  def endpoint_compression_result
241
288
  {
242
289
  }
@@ -709,39 +756,6 @@ def ip_restriction_results
709
756
  }
710
757
  end
711
758
 
712
- def ip_whitelist_entry_result
713
- {
714
- "id" => "wl_1rV55uK6IddK1eJWBcopcSqr9jr",
715
- "uri" => "https://api.ngrok.com/ip_whitelist/wl_1rV55uK6IddK1eJWBcopcSqr9jr",
716
- "created_at" => "2021-04-21T23:37:16Z",
717
- "description" => "outbound proxy servers",
718
- "metadata" => "",
719
- "ip_net" => "10.1.1.0/24",
720
- }
721
- end
722
-
723
- def ip_whitelist_entry_result2
724
- {
725
- "id" => "wl_1rV55s4NmZ81mUa5zqPetlpngC7",
726
- "uri" => "https://api.ngrok.com/ip_whitelist/wl_1rV55s4NmZ81mUa5zqPetlpngC7",
727
- "created_at" => "2021-04-21T23:37:16Z",
728
- "description" => "office wifi",
729
- "metadata" => "",
730
- "ip_net" => "78.3.12.121/32",
731
- }
732
- end
733
-
734
- def ip_whitelist_entry_results
735
- {
736
- "whitelist" => [
737
- ip_whitelist_entry_result,
738
- ip_whitelist_entry_result2,
739
- ],
740
- "uri" => "https://api.ngrok.com/ip_whitelist",
741
- "next_page_uri" => nil,
742
- }
743
- end
744
-
745
759
  def ref_result
746
760
  {
747
761
  }
@@ -1094,3 +1108,282 @@ def tunnel_session_results
1094
1108
  "next_page_uri" => nil,
1095
1109
  }
1096
1110
  end
1111
+
1112
+ def endpoint_backend_mutate_result
1113
+ {
1114
+ "enabled" => true,
1115
+ "backend_id" => "bkdhr_23ejDsgFClTHtGtzdbcNzkr2DvA",
1116
+ }
1117
+ end
1118
+
1119
+ def endpoint_backend_result
1120
+ {
1121
+ "enabled" => true,
1122
+ "backend" => {
1123
+ "id" => "bkdfo_23WYoC8ApDQQpNeaqhvzQD25RVx",
1124
+ "uri" => "https://api.ngrok.com/backends/failover/bkdfo_23WYoC8ApDQQpNeaqhvzQD25RVx",
1125
+ },
1126
+ }
1127
+ end
1128
+
1129
+ def endpoint_tls_termination_at_edge_result
1130
+ {
1131
+ "enabled" => true,
1132
+ "min_version" => nil,
1133
+ }
1134
+ end
1135
+
1136
+ def endpoint_websocket_tcp_converter_result
1137
+ {
1138
+ "enabled" => true,
1139
+ }
1140
+ end
1141
+
1142
+ def https_edge_result
1143
+ {
1144
+ "id" => "edghts_23WYoHa6cZpqNFOr7nuDEsaN9SG",
1145
+ "description" => "",
1146
+ "metadata" => "",
1147
+ "created_at" => "2021-10-20T12=>08=>58Z",
1148
+ "uri" => "https://api.ngrok.com/edges/https/edghts_23WYoHa6cZpqNFOr7nuDEsaN9SG",
1149
+ "hostports" => [
1150
+ "example.ngrok.io:443",
1151
+ ],
1152
+ "mutual_tls" => nil,
1153
+ "tls_termination" => nil,
1154
+ "routes" => nil,
1155
+ }
1156
+ end
1157
+
1158
+ def https_edge_result2
1159
+ {
1160
+ "id" => "edghts_23f9iVEEQPCXa54Ob3s0M9t8cq8",
1161
+ "description" => "",
1162
+ "metadata" => "",
1163
+ "created_at" => "2021-10-20T12=>08=>58Z",
1164
+ "uri" => "https://api.ngrok.com/edges/https/edghts_23f9iVEEQPCXa54Ob3s0M9t8cq8",
1165
+ "hostports" => [
1166
+ "example.ngrok.io:443",
1167
+ ],
1168
+ "mutual_tls" => nil,
1169
+ "tls_termination" => nil,
1170
+ "routes" => nil,
1171
+ }
1172
+ end
1173
+
1174
+ def https_edge_results
1175
+ {
1176
+ "https_edges" => [
1177
+ https_edge_result,
1178
+ https_edge_result2,
1179
+ ],
1180
+ "uri" => "https://api.ngrok.com/edges/https",
1181
+ "next_page_uri" => nil,
1182
+ }
1183
+ end
1184
+
1185
+ def https_edge_route_result
1186
+ {
1187
+ "id" => "edghtsrt_23WZ2wMQh9ZV0gPcToseRIIUJQo",
1188
+ "description" => "",
1189
+ "metadata" => "",
1190
+ "created_at" => "2021-10-20T12=>08=>58Z",
1191
+ "edge_id" => "edghts_23WYoHa6cZpqNFOr7nuDEsaN9SG",
1192
+ "match_type" => "path_prefix",
1193
+ "match" => "/",
1194
+ "uri" => "https://api.ngrok.com/edges/https/edghts_23WYoHa6cZpqNFOr7nuDEsaN9SG/routes/edghtsrt_23WZ2wMQh9ZV0gPcToseRIIUJQo",
1195
+ "backend" => nil,
1196
+ "ip_restriction" => nil,
1197
+ "circuit_breaker" => nil,
1198
+ "compression" => nil,
1199
+ "request_headers" => nil,
1200
+ "response_headers" => nil,
1201
+ "webhook_validation" => nil,
1202
+ "oauth" => nil,
1203
+ "saml" => nil,
1204
+ "oidc" => nil,
1205
+ "websocket_tcp_converter" => nil,
1206
+ }
1207
+ end
1208
+
1209
+ def tcp_edge_result
1210
+ {
1211
+ "id" => "edgtcp_23f9bWP6gWuwWVhhXXZJd87khPr",
1212
+ "description" => "",
1213
+ "metadata" => "",
1214
+ "created_at" => "2021-10-20T12=>08=>58Z",
1215
+ "uri" => "https://api.ngrok.com/edges/tcp/edgtcp_23f9bWP6gWuwWVhhXXZJd87khPr",
1216
+ "hostports" => [
1217
+ "1.tcp.ngrok.io:20033",
1218
+ ],
1219
+ "backend" => nil,
1220
+ "ip_restriction" => nil,
1221
+ }
1222
+ end
1223
+
1224
+ def tcp_edge_result2
1225
+ {
1226
+ "id" => "edgtcp_23fAbCNhQWBW7jaAEHIwNjN0psq",
1227
+ "description" => "",
1228
+ "metadata" => "",
1229
+ "created_at" => "2021-10-20T12=>08=>58Z",
1230
+ "uri" => "https://api.ngrok.com/edges/tcp/edgtcp_23fAbCNhQWBW7jaAEHIwNjN0psq",
1231
+ "hostports" => [
1232
+ "1.tcp.ngrok.io:20034",
1233
+ ],
1234
+ "backend" => nil,
1235
+ "ip_restriction" => nil,
1236
+ }
1237
+ end
1238
+
1239
+ def tcp_edge_results
1240
+ {
1241
+ "tcp_edges" => [
1242
+ tcp_edge_result,
1243
+ tcp_edge_result2,
1244
+ ],
1245
+ "uri" => "https://api.ngrok.com/edges/tcp",
1246
+ "next_page_uri" => nil,
1247
+ }
1248
+ end
1249
+
1250
+ def tls_edge_result
1251
+ {
1252
+ "id" => "edgtls_23fAtcj1nEUtNOvCHTmw2p7boPq",
1253
+ "description" => "",
1254
+ "metadata" => "",
1255
+ "created_at" => "2021-10-20T12=>08=>58Z",
1256
+ "uri" => "https://api.ngrok.com/edges/tls/edgtls_23fAtcj1nEUtNOvCHTmw2p7boPq",
1257
+ "hostports" => [
1258
+ "q3n1rmaj.ngrok.io:443",
1259
+ ],
1260
+ "backend" => nil,
1261
+ "ip_restriction" => nil,
1262
+ "mutual_tls" => nil,
1263
+ "tls_termination" => nil,
1264
+ }
1265
+ end
1266
+
1267
+ def tls_edge_result2
1268
+ {
1269
+ "id" => "edgtls_23fB67XVniqMYnmzMHJCGDjlNTh",
1270
+ "description" => "",
1271
+ "metadata" => "",
1272
+ "created_at" => "2021-10-20T12=>08=>58Z",
1273
+ "uri" => "https://api.ngrok.com/edges/tls/edgtls_23fB67XVniqMYnmzMHJCGDjlNTh",
1274
+ "hostports" => [
1275
+ "q3n1rmaj.ngrok.io:443",
1276
+ ],
1277
+ "backend" => nil,
1278
+ "ip_restriction" => nil,
1279
+ "mutual_tls" => nil,
1280
+ "tls_termination" => nil,
1281
+ }
1282
+ end
1283
+
1284
+ def tls_edge_results
1285
+ {
1286
+ "tls_edges" => [
1287
+ tls_edge_result,
1288
+ tls_edge_result2,
1289
+ ],
1290
+ "uri" => "https://api.ngrok.com/edges/tls",
1291
+ "next_page_uri" => nil,
1292
+ }
1293
+ end
1294
+
1295
+ def tunnel_group_backend_result
1296
+ {
1297
+ "id" => "bkdtg_23wBji94nFzDEouYAo3QHYWLmKH",
1298
+ "uri" => "https://api.ngrok.com/backends/tunnel_group/bkdtg_23wBji94nFzDEouYAo3QHYWLmKH",
1299
+ "created_at" => "2022-01-19T23:36:45Z",
1300
+ "description" => "acme tunnel group",
1301
+ "metadata" => "{\"environment\" => \"staging\"}",
1302
+ "labels" => {
1303
+ "baz" => "qux",
1304
+ "foo" => "bar",
1305
+ },
1306
+ }
1307
+ end
1308
+
1309
+ def tunnel_group_backend_results
1310
+ {
1311
+ "backends" => [
1312
+ tunnel_group_backend_result,
1313
+ ],
1314
+ "uri" => "https://api.ngrok.com/backends/tunnel_group",
1315
+ "next_page_uri" => nil,
1316
+ }
1317
+ end
1318
+
1319
+ def http_response_backend_result
1320
+ {
1321
+ "id" => "bkdhr_23wBjkemewVLpsBfzIsBkzgaE3A",
1322
+ "uri" => "https://api.ngrok.com/backends/http_response/bkdhr_23wBjkemewVLpsBfzIsBkzgaE3A",
1323
+ "created_at" => "2022-01-19T23:36:45Z",
1324
+ "description" => "acme http response",
1325
+ "metadata" => "{\"environment\" => \"staging\"}",
1326
+ "body" => "I'm a teapot",
1327
+ "headers" => {
1328
+ "content-type" => "text/plain",
1329
+ },
1330
+ "status_code" => 418,
1331
+ }
1332
+ end
1333
+
1334
+ def http_response_backend_results
1335
+ {
1336
+ "backends" => [
1337
+ http_response_backend_result,
1338
+ ],
1339
+ "uri" => "https://api.ngrok.com/backends/http_response",
1340
+ "next_page_uri" => nil,
1341
+ }
1342
+ end
1343
+
1344
+ def failover_backend_result
1345
+ {
1346
+ "id" => "bkdfo_23wBjiMhF0HaPfF98vQrdWmscai",
1347
+ "uri" => "https://api.ngrok.com/backends/failover/bkdfo_23wBjiMhF0HaPfF98vQrdWmscai",
1348
+ "created_at" => "2022-01-19T23:36:45Z",
1349
+ "description" => "acme failover",
1350
+ "metadata" => "{\"environment\" => \"staging\"}",
1351
+ "backends" => [
1352
+ "bkdhr_23wBjgJYO3hKSpkaIrDQ5HQE2jY",
1353
+ ],
1354
+ }
1355
+ end
1356
+
1357
+ def failover_backend_results
1358
+ {
1359
+ "backends" => [
1360
+ failover_backend_result,
1361
+ ],
1362
+ "uri" => "https://api.ngrok.com/backends/failover",
1363
+ "next_page_uri" => nil,
1364
+ }
1365
+ end
1366
+
1367
+ def weighted_backend_result
1368
+ {
1369
+ "id" => "bkdwd_23wBjgO2sn7WFHs8269Xrdv2yXw",
1370
+ "uri" => "https://api.ngrok.com/backends/weighted/bkdwd_23wBjgO2sn7WFHs8269Xrdv2yXw",
1371
+ "created_at" => "2022-01-19T23:36:45Z",
1372
+ "description" => "acme weighted",
1373
+ "metadata" => "{\"environment\" => \"staging\"}",
1374
+ "backends" => {
1375
+ "bkdhr_23wBjgkCq2PEYfrOjKBqQY3hy9B" => 0,
1376
+ "bkdhr_23wBjiPnTqyUosGG2pdP2VWXxlx" => 1,
1377
+ },
1378
+ }
1379
+ end
1380
+
1381
+ def weighted_backend_results
1382
+ {
1383
+ "backends" => [
1384
+ weighted_backend_result,
1385
+ ],
1386
+ "uri" => "https://api.ngrok.com/backends/weighted",
1387
+ "next_page_uri" => nil,
1388
+ }
1389
+ end