ngrok-api 0.16.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. checksums.yaml +4 -4
  2. data/doc/NgrokAPI/Client.html +270 -180
  3. data/doc/NgrokAPI/Error.html +2 -2
  4. data/doc/NgrokAPI/Errors/NotFoundError.html +2 -2
  5. data/doc/NgrokAPI/Errors.html +2 -2
  6. data/doc/NgrokAPI/HttpClient.html +2 -2
  7. data/doc/NgrokAPI/Models/APIKey.html +2 -2
  8. data/doc/NgrokAPI/Models/AWSAuth.html +2 -2
  9. data/doc/NgrokAPI/Models/AWSCredentials.html +2 -2
  10. data/doc/NgrokAPI/Models/AWSRole.html +2 -2
  11. data/doc/NgrokAPI/Models/AbuseReport.html +2 -2
  12. data/doc/NgrokAPI/Models/AbuseReportHostname.html +2 -2
  13. data/doc/NgrokAPI/Models/AgentIngress.html +2 -2
  14. data/doc/NgrokAPI/Models/CertificateAuthority.html +2 -2
  15. data/doc/NgrokAPI/Models/Credential.html +2 -2
  16. data/doc/NgrokAPI/Models/Endpoint.html +1431 -0
  17. data/{docs/NgrokAPI/Models/EndpointLogging.html → doc/NgrokAPI/Models/EndpointBackend.html} +41 -41
  18. data/doc/NgrokAPI/Models/{EndpointLoggingMutate.html → EndpointBackendMutate.html} +41 -41
  19. data/doc/NgrokAPI/Models/EndpointCircuitBreaker.html +2 -2
  20. data/doc/NgrokAPI/Models/EndpointCompression.html +2 -2
  21. data/doc/NgrokAPI/Models/EndpointIPPolicy.html +2 -2
  22. data/doc/NgrokAPI/Models/EndpointIPPolicyMutate.html +2 -2
  23. data/doc/NgrokAPI/Models/EndpointMutualTLS.html +2 -2
  24. data/doc/NgrokAPI/Models/EndpointMutualTLSMutate.html +2 -2
  25. data/doc/NgrokAPI/Models/EndpointOAuth.html +2 -2
  26. data/doc/NgrokAPI/Models/EndpointOAuthFacebook.html +2 -2
  27. data/doc/NgrokAPI/Models/EndpointOAuthGitHub.html +2 -2
  28. data/doc/NgrokAPI/Models/EndpointOAuthGoogle.html +2 -2
  29. data/doc/NgrokAPI/Models/EndpointOAuthMicrosoft.html +2 -2
  30. data/doc/NgrokAPI/Models/EndpointOAuthProvider.html +2 -2
  31. data/doc/NgrokAPI/Models/EndpointOIDC.html +2 -2
  32. data/doc/NgrokAPI/Models/EndpointRequestHeaders.html +2 -2
  33. data/doc/NgrokAPI/Models/EndpointResponseHeaders.html +2 -2
  34. data/doc/NgrokAPI/Models/EndpointSAML.html +2 -2
  35. data/doc/NgrokAPI/Models/EndpointSAMLMutate.html +2 -2
  36. data/doc/NgrokAPI/Models/EndpointTLSTermination.html +2 -2
  37. data/doc/NgrokAPI/Models/EndpointTLSTerminationAtEdge.html +617 -0
  38. data/doc/NgrokAPI/Models/EndpointWebhookValidation.html +2 -2
  39. data/doc/NgrokAPI/Models/EndpointWebsocketTCPConverter.html +543 -0
  40. data/doc/NgrokAPI/Models/EventDestination.html +6 -6
  41. data/doc/NgrokAPI/Models/EventSource.html +2 -2
  42. data/doc/NgrokAPI/Models/EventSourceList.html +2 -2
  43. data/doc/NgrokAPI/Models/EventSourceReplace.html +2 -2
  44. data/doc/NgrokAPI/Models/EventSubscription.html +2 -2
  45. data/doc/NgrokAPI/Models/EventTarget.html +2 -2
  46. data/doc/NgrokAPI/Models/EventTargetCloudwatchLogs.html +2 -2
  47. data/doc/NgrokAPI/Models/EventTargetFirehose.html +2 -2
  48. data/doc/NgrokAPI/Models/EventTargetKinesis.html +2 -2
  49. data/doc/NgrokAPI/Models/FailoverBackend.html +1075 -0
  50. data/doc/NgrokAPI/Models/HTTPResponseBackend.html +1231 -0
  51. data/{docs/NgrokAPI/Models/EventStream.html → doc/NgrokAPI/Models/HTTPSEdge.html} +118 -118
  52. data/doc/NgrokAPI/Models/{EndpointConfiguration.html → HTTPSEdgeRoute.html} +202 -264
  53. data/doc/NgrokAPI/Models/IPPolicy.html +2 -2
  54. data/doc/NgrokAPI/Models/IPPolicyRule.html +96 -22
  55. data/doc/NgrokAPI/Models/IPRestriction.html +2 -2
  56. data/doc/NgrokAPI/Models/Listable.html +2 -2
  57. data/doc/NgrokAPI/Models/Ref.html +2 -2
  58. data/doc/NgrokAPI/Models/ReservedAddr.html +2 -2
  59. data/doc/NgrokAPI/Models/ReservedDomain.html +2 -2
  60. data/doc/NgrokAPI/Models/ReservedDomainCertJob.html +2 -2
  61. data/doc/NgrokAPI/Models/ReservedDomainCertPolicy.html +2 -2
  62. data/doc/NgrokAPI/Models/ReservedDomainCertStatus.html +2 -2
  63. data/doc/NgrokAPI/Models/SSHCertificateAuthority.html +2 -2
  64. data/doc/NgrokAPI/Models/SSHCredential.html +2 -2
  65. data/doc/NgrokAPI/Models/SSHHostCertificate.html +2 -2
  66. data/doc/NgrokAPI/Models/SSHUserCertificate.html +2 -2
  67. data/doc/NgrokAPI/Models/TCPEdge.html +1235 -0
  68. data/doc/NgrokAPI/Models/TLSCertificate.html +2 -2
  69. data/doc/NgrokAPI/Models/TLSCertificateSANs.html +2 -2
  70. data/doc/NgrokAPI/Models/TLSEdge.html +1395 -0
  71. data/doc/NgrokAPI/Models/Tunnel.html +313 -17
  72. data/doc/NgrokAPI/Models/TunnelGroupBackend.html +1149 -0
  73. data/doc/NgrokAPI/Models/TunnelSession.html +2 -2
  74. data/doc/NgrokAPI/Models/WeightedBackend.html +1075 -0
  75. data/doc/NgrokAPI/Models.html +4 -4
  76. data/doc/NgrokAPI/PagedIterator.html +2 -2
  77. data/doc/NgrokAPI/Services/APIKeysClient.html +2 -2
  78. data/doc/NgrokAPI/Services/AbuseReportsClient.html +2 -2
  79. data/doc/NgrokAPI/Services/AgentIngressesClient.html +2 -2
  80. data/doc/NgrokAPI/Services/CertificateAuthoritiesClient.html +2 -2
  81. data/doc/NgrokAPI/Services/CredentialsClient.html +2 -2
  82. data/doc/NgrokAPI/Services/EdgeRouteBackendModuleClient.html +1153 -0
  83. data/doc/NgrokAPI/Services/{EndpointCircuitBreakerModuleClient.html → EdgeRouteCircuitBreakerModuleClient.html} +206 -96
  84. data/{docs/NgrokAPI/Services/EndpointCompressionModuleClient.html → doc/NgrokAPI/Services/EdgeRouteCompressionModuleClient.html} +206 -96
  85. data/doc/NgrokAPI/Services/EdgeRouteIPRestrictionModuleClient.html +1153 -0
  86. data/doc/NgrokAPI/Services/EdgeRouteOAuthModuleClient.html +1153 -0
  87. data/{docs/NgrokAPI/Services/EndpointOIDCModuleClient.html → doc/NgrokAPI/Services/EdgeRouteOIDCModuleClient.html} +206 -96
  88. data/doc/NgrokAPI/Services/EdgeRouteRequestHeadersModuleClient.html +1153 -0
  89. data/{docs/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html → doc/NgrokAPI/Services/EdgeRouteResponseHeadersModuleClient.html} +206 -96
  90. data/{docs/NgrokAPI/Services/EndpointSAMLModuleClient.html → doc/NgrokAPI/Services/EdgeRouteSAMLModuleClient.html} +206 -96
  91. data/doc/NgrokAPI/Services/{EndpointWebhookValidationModuleClient.html → EdgeRouteWebhookVerificationModuleClient.html} +206 -96
  92. data/doc/NgrokAPI/Services/EdgeRouteWebsocketTCPConverterModuleClient.html +1153 -0
  93. data/doc/NgrokAPI/Services/{EventStreamsClient.html → EdgesHTTPSClient.html} +236 -271
  94. data/{docs/NgrokAPI/Services/EndpointConfigurationsClient.html → doc/NgrokAPI/Services/EdgesHTTPSRoutesClient.html} +456 -620
  95. data/doc/NgrokAPI/Services/EdgesTCPClient.html +1757 -0
  96. data/doc/NgrokAPI/Services/EdgesTLSClient.html +1847 -0
  97. data/doc/NgrokAPI/Services/EndpointsClient.html +907 -0
  98. data/doc/NgrokAPI/Services/EventDestinationsClient.html +35 -35
  99. data/doc/NgrokAPI/Services/EventSourcesClient.html +2 -2
  100. data/doc/NgrokAPI/Services/EventSubscriptionsClient.html +5 -5
  101. data/doc/NgrokAPI/Services/FailoverBackendsClient.html +1644 -0
  102. data/doc/NgrokAPI/Services/HTTPResponseBackendsClient.html +1744 -0
  103. data/doc/NgrokAPI/Services/{EndpointOIDCModuleClient.html → HTTPSEdgeMutualTLSModuleClient.html} +59 -59
  104. data/doc/NgrokAPI/Services/{EndpointRequestHeadersModuleClient.html → HTTPSEdgeTLSTerminationModuleClient.html} +59 -59
  105. data/doc/NgrokAPI/Services/IPPoliciesClient.html +40 -58
  106. data/doc/NgrokAPI/Services/IPPolicyRulesClient.html +60 -40
  107. data/doc/NgrokAPI/Services/IPRestrictionsClient.html +3 -3
  108. data/doc/NgrokAPI/Services/ReservedAddrsClient.html +41 -331
  109. data/doc/NgrokAPI/Services/ReservedDomainsClient.html +94 -674
  110. data/doc/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +2 -2
  111. data/doc/NgrokAPI/Services/SSHCredentialsClient.html +2 -2
  112. data/doc/NgrokAPI/Services/SSHHostCertificatesClient.html +2 -2
  113. data/doc/NgrokAPI/Services/SSHUserCertificatesClient.html +2 -2
  114. data/{docs/NgrokAPI/Services/EndpointLoggingModuleClient.html → doc/NgrokAPI/Services/TCPEdgeBackendModuleClient.html} +59 -59
  115. data/doc/NgrokAPI/Services/{EndpointIPPolicyModuleClient.html → TCPEdgeIPRestrictionModuleClient.html} +41 -41
  116. data/doc/NgrokAPI/Services/TLSCertificatesClient.html +2 -2
  117. data/doc/NgrokAPI/Services/{EndpointLoggingModuleClient.html → TLSEdgeBackendModuleClient.html} +59 -59
  118. data/{docs/NgrokAPI/Services/EndpointIPPolicyModuleClient.html → doc/NgrokAPI/Services/TLSEdgeIPRestrictionModuleClient.html} +41 -41
  119. data/doc/NgrokAPI/Services/{EndpointMutualTLSModuleClient.html → TLSEdgeMutualTLSModuleClient.html} +41 -41
  120. data/{docs/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html → doc/NgrokAPI/Services/TLSEdgeTLSTerminationModuleClient.html} +41 -41
  121. data/doc/NgrokAPI/Services/TunnelGroupBackendsClient.html +1644 -0
  122. data/doc/NgrokAPI/Services/TunnelSessionsClient.html +2 -2
  123. data/doc/NgrokAPI/Services/TunnelsClient.html +241 -3
  124. data/doc/NgrokAPI/Services/WeightedBackendsClient.html +1644 -0
  125. data/doc/NgrokAPI/Services.html +4 -4
  126. data/doc/NgrokAPI.html +3 -3
  127. data/doc/_index.html +237 -60
  128. data/doc/class_list.html +1 -1
  129. data/doc/file.README.html +2 -2
  130. data/doc/index.html +2 -2
  131. data/doc/method_list.html +3393 -1433
  132. data/doc/top-level-namespace.html +2 -2
  133. data/docs/NgrokAPI/Client.html +270 -180
  134. data/docs/NgrokAPI/Error.html +2 -2
  135. data/docs/NgrokAPI/Errors/NotFoundError.html +2 -2
  136. data/docs/NgrokAPI/Errors.html +2 -2
  137. data/docs/NgrokAPI/HttpClient.html +2 -2
  138. data/docs/NgrokAPI/Models/APIKey.html +2 -2
  139. data/docs/NgrokAPI/Models/AWSAuth.html +2 -2
  140. data/docs/NgrokAPI/Models/AWSCredentials.html +2 -2
  141. data/docs/NgrokAPI/Models/AWSRole.html +2 -2
  142. data/docs/NgrokAPI/Models/AbuseReport.html +2 -2
  143. data/docs/NgrokAPI/Models/AbuseReportHostname.html +2 -2
  144. data/docs/NgrokAPI/Models/AgentIngress.html +2 -2
  145. data/docs/NgrokAPI/Models/CertificateAuthority.html +2 -2
  146. data/docs/NgrokAPI/Models/Credential.html +2 -2
  147. data/docs/NgrokAPI/Models/Endpoint.html +1431 -0
  148. data/{doc/NgrokAPI/Models/EndpointLogging.html → docs/NgrokAPI/Models/EndpointBackend.html} +41 -41
  149. data/docs/NgrokAPI/Models/{EndpointLoggingMutate.html → EndpointBackendMutate.html} +41 -41
  150. data/docs/NgrokAPI/Models/EndpointCircuitBreaker.html +2 -2
  151. data/docs/NgrokAPI/Models/EndpointCompression.html +2 -2
  152. data/docs/NgrokAPI/Models/EndpointIPPolicy.html +2 -2
  153. data/docs/NgrokAPI/Models/EndpointIPPolicyMutate.html +2 -2
  154. data/docs/NgrokAPI/Models/EndpointMutualTLS.html +2 -2
  155. data/docs/NgrokAPI/Models/EndpointMutualTLSMutate.html +2 -2
  156. data/docs/NgrokAPI/Models/EndpointOAuth.html +2 -2
  157. data/docs/NgrokAPI/Models/EndpointOAuthFacebook.html +2 -2
  158. data/docs/NgrokAPI/Models/EndpointOAuthGitHub.html +2 -2
  159. data/docs/NgrokAPI/Models/EndpointOAuthGoogle.html +2 -2
  160. data/docs/NgrokAPI/Models/EndpointOAuthMicrosoft.html +2 -2
  161. data/docs/NgrokAPI/Models/EndpointOAuthProvider.html +2 -2
  162. data/docs/NgrokAPI/Models/EndpointOIDC.html +2 -2
  163. data/docs/NgrokAPI/Models/EndpointRequestHeaders.html +2 -2
  164. data/docs/NgrokAPI/Models/EndpointResponseHeaders.html +2 -2
  165. data/docs/NgrokAPI/Models/EndpointSAML.html +2 -2
  166. data/docs/NgrokAPI/Models/EndpointSAMLMutate.html +2 -2
  167. data/docs/NgrokAPI/Models/EndpointTLSTermination.html +2 -2
  168. data/docs/NgrokAPI/Models/EndpointTLSTerminationAtEdge.html +617 -0
  169. data/docs/NgrokAPI/Models/EndpointWebhookValidation.html +2 -2
  170. data/docs/NgrokAPI/Models/EndpointWebsocketTCPConverter.html +543 -0
  171. data/docs/NgrokAPI/Models/EventDestination.html +6 -6
  172. data/docs/NgrokAPI/Models/EventSource.html +2 -2
  173. data/docs/NgrokAPI/Models/EventSourceList.html +2 -2
  174. data/docs/NgrokAPI/Models/EventSourceReplace.html +2 -2
  175. data/docs/NgrokAPI/Models/EventSubscription.html +2 -2
  176. data/docs/NgrokAPI/Models/EventTarget.html +2 -2
  177. data/docs/NgrokAPI/Models/EventTargetCloudwatchLogs.html +2 -2
  178. data/docs/NgrokAPI/Models/EventTargetFirehose.html +2 -2
  179. data/docs/NgrokAPI/Models/EventTargetKinesis.html +2 -2
  180. data/docs/NgrokAPI/Models/FailoverBackend.html +1075 -0
  181. data/docs/NgrokAPI/Models/HTTPResponseBackend.html +1231 -0
  182. data/{doc/NgrokAPI/Models/EventStream.html → docs/NgrokAPI/Models/HTTPSEdge.html} +118 -118
  183. data/docs/NgrokAPI/Models/{EndpointConfiguration.html → HTTPSEdgeRoute.html} +202 -264
  184. data/docs/NgrokAPI/Models/IPPolicy.html +2 -2
  185. data/docs/NgrokAPI/Models/IPPolicyRule.html +96 -22
  186. data/docs/NgrokAPI/Models/IPRestriction.html +2 -2
  187. data/docs/NgrokAPI/Models/Listable.html +2 -2
  188. data/docs/NgrokAPI/Models/Ref.html +2 -2
  189. data/docs/NgrokAPI/Models/ReservedAddr.html +2 -2
  190. data/docs/NgrokAPI/Models/ReservedDomain.html +2 -2
  191. data/docs/NgrokAPI/Models/ReservedDomainCertJob.html +2 -2
  192. data/docs/NgrokAPI/Models/ReservedDomainCertPolicy.html +2 -2
  193. data/docs/NgrokAPI/Models/ReservedDomainCertStatus.html +2 -2
  194. data/docs/NgrokAPI/Models/SSHCertificateAuthority.html +2 -2
  195. data/docs/NgrokAPI/Models/SSHCredential.html +2 -2
  196. data/docs/NgrokAPI/Models/SSHHostCertificate.html +2 -2
  197. data/docs/NgrokAPI/Models/SSHUserCertificate.html +2 -2
  198. data/docs/NgrokAPI/Models/TCPEdge.html +1235 -0
  199. data/docs/NgrokAPI/Models/TLSCertificate.html +2 -2
  200. data/docs/NgrokAPI/Models/TLSCertificateSANs.html +2 -2
  201. data/docs/NgrokAPI/Models/TLSEdge.html +1395 -0
  202. data/docs/NgrokAPI/Models/Tunnel.html +313 -17
  203. data/docs/NgrokAPI/Models/TunnelGroupBackend.html +1149 -0
  204. data/docs/NgrokAPI/Models/TunnelSession.html +2 -2
  205. data/docs/NgrokAPI/Models/WeightedBackend.html +1075 -0
  206. data/docs/NgrokAPI/Models.html +4 -4
  207. data/docs/NgrokAPI/PagedIterator.html +2 -2
  208. data/docs/NgrokAPI/Services/APIKeysClient.html +2 -2
  209. data/docs/NgrokAPI/Services/AbuseReportsClient.html +2 -2
  210. data/docs/NgrokAPI/Services/AgentIngressesClient.html +2 -2
  211. data/docs/NgrokAPI/Services/CertificateAuthoritiesClient.html +2 -2
  212. data/docs/NgrokAPI/Services/CredentialsClient.html +2 -2
  213. data/docs/NgrokAPI/Services/EdgeRouteBackendModuleClient.html +1153 -0
  214. data/docs/NgrokAPI/Services/{EndpointCircuitBreakerModuleClient.html → EdgeRouteCircuitBreakerModuleClient.html} +206 -96
  215. data/{doc/NgrokAPI/Services/EndpointCompressionModuleClient.html → docs/NgrokAPI/Services/EdgeRouteCompressionModuleClient.html} +206 -96
  216. data/docs/NgrokAPI/Services/EdgeRouteIPRestrictionModuleClient.html +1153 -0
  217. data/docs/NgrokAPI/Services/EdgeRouteOAuthModuleClient.html +1153 -0
  218. data/docs/NgrokAPI/Services/EdgeRouteOIDCModuleClient.html +1153 -0
  219. data/docs/NgrokAPI/Services/EdgeRouteRequestHeadersModuleClient.html +1153 -0
  220. data/{doc/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html → docs/NgrokAPI/Services/EdgeRouteResponseHeadersModuleClient.html} +206 -96
  221. data/docs/NgrokAPI/Services/EdgeRouteSAMLModuleClient.html +1153 -0
  222. data/docs/NgrokAPI/Services/{EndpointWebhookValidationModuleClient.html → EdgeRouteWebhookVerificationModuleClient.html} +206 -96
  223. data/docs/NgrokAPI/Services/EdgeRouteWebsocketTCPConverterModuleClient.html +1153 -0
  224. data/docs/NgrokAPI/Services/{EventStreamsClient.html → EdgesHTTPSClient.html} +236 -271
  225. data/{doc/NgrokAPI/Services/EndpointConfigurationsClient.html → docs/NgrokAPI/Services/EdgesHTTPSRoutesClient.html} +456 -620
  226. data/docs/NgrokAPI/Services/EdgesTCPClient.html +1757 -0
  227. data/docs/NgrokAPI/Services/EdgesTLSClient.html +1847 -0
  228. data/docs/NgrokAPI/Services/EndpointsClient.html +907 -0
  229. data/docs/NgrokAPI/Services/EventDestinationsClient.html +35 -35
  230. data/docs/NgrokAPI/Services/EventSourcesClient.html +2 -2
  231. data/docs/NgrokAPI/Services/EventSubscriptionsClient.html +5 -5
  232. data/docs/NgrokAPI/Services/FailoverBackendsClient.html +1644 -0
  233. data/docs/NgrokAPI/Services/HTTPResponseBackendsClient.html +1744 -0
  234. data/{doc/NgrokAPI/Services/EndpointSAMLModuleClient.html → docs/NgrokAPI/Services/HTTPSEdgeMutualTLSModuleClient.html} +59 -59
  235. data/docs/NgrokAPI/Services/{EndpointRequestHeadersModuleClient.html → HTTPSEdgeTLSTerminationModuleClient.html} +59 -59
  236. data/docs/NgrokAPI/Services/IPPoliciesClient.html +40 -58
  237. data/docs/NgrokAPI/Services/IPPolicyRulesClient.html +60 -40
  238. data/docs/NgrokAPI/Services/IPRestrictionsClient.html +3 -3
  239. data/docs/NgrokAPI/Services/ReservedAddrsClient.html +41 -331
  240. data/docs/NgrokAPI/Services/ReservedDomainsClient.html +94 -674
  241. data/docs/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +2 -2
  242. data/docs/NgrokAPI/Services/SSHCredentialsClient.html +2 -2
  243. data/docs/NgrokAPI/Services/SSHHostCertificatesClient.html +2 -2
  244. data/docs/NgrokAPI/Services/SSHUserCertificatesClient.html +2 -2
  245. data/docs/NgrokAPI/Services/{EndpointOAuthModuleClient.html → TCPEdgeBackendModuleClient.html} +59 -59
  246. data/docs/NgrokAPI/Services/TCPEdgeIPRestrictionModuleClient.html +1043 -0
  247. data/docs/NgrokAPI/Services/TLSCertificatesClient.html +2 -2
  248. data/{doc/NgrokAPI/Services/EndpointOAuthModuleClient.html → docs/NgrokAPI/Services/TLSEdgeBackendModuleClient.html} +59 -59
  249. data/docs/NgrokAPI/Services/TLSEdgeIPRestrictionModuleClient.html +1043 -0
  250. data/docs/NgrokAPI/Services/{EndpointMutualTLSModuleClient.html → TLSEdgeMutualTLSModuleClient.html} +41 -41
  251. data/{doc/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html → docs/NgrokAPI/Services/TLSEdgeTLSTerminationModuleClient.html} +41 -41
  252. data/docs/NgrokAPI/Services/TunnelGroupBackendsClient.html +1644 -0
  253. data/docs/NgrokAPI/Services/TunnelSessionsClient.html +2 -2
  254. data/docs/NgrokAPI/Services/TunnelsClient.html +241 -3
  255. data/docs/NgrokAPI/Services/WeightedBackendsClient.html +1644 -0
  256. data/docs/NgrokAPI/Services.html +4 -4
  257. data/docs/NgrokAPI.html +3 -3
  258. data/docs/_index.html +237 -60
  259. data/docs/class_list.html +1 -1
  260. data/docs/file.README.html +2 -2
  261. data/docs/index.html +2 -2
  262. data/docs/method_list.html +3393 -1433
  263. data/docs/top-level-namespace.html +2 -2
  264. data/lib/ngrokapi/client.rb +47 -24
  265. data/lib/ngrokapi/models/endpoint.rb +49 -0
  266. data/lib/ngrokapi/models/{endpoint_logging.rb → endpoint_backend.rb} +3 -3
  267. data/lib/ngrokapi/models/{endpoint_logging_mutate.rb → endpoint_backend_mutate.rb} +3 -3
  268. data/lib/ngrokapi/models/endpoint_tls_termination_at_edge.rb +27 -0
  269. data/lib/ngrokapi/models/endpoint_websocket_tcp_converter.rb +25 -0
  270. data/lib/ngrokapi/models/event_destination.rb +1 -2
  271. data/lib/ngrokapi/models/{event_stream.rb → failover_backend.rb} +15 -27
  272. data/lib/ngrokapi/models/http_response_backend.rb +71 -0
  273. data/lib/ngrokapi/models/https_edge.rb +80 -0
  274. data/lib/ngrokapi/models/{endpoint_configuration.rb → https_edge_route.rb} +56 -53
  275. data/lib/ngrokapi/models/ip_policy_rule.rb +3 -1
  276. data/lib/ngrokapi/models/tcp_edge.rb +78 -0
  277. data/lib/ngrokapi/models/tls_edge.rb +88 -0
  278. data/lib/ngrokapi/models/tunnel.rb +9 -1
  279. data/lib/ngrokapi/models/tunnel_group_backend.rb +67 -0
  280. data/lib/ngrokapi/models/weighted_backend.rb +65 -0
  281. data/lib/ngrokapi/services/edge_route_backend_module_client.rb +120 -0
  282. data/lib/ngrokapi/services/{endpoint_circuit_breaker_module_client.rb → edge_route_circuit_breaker_module_client.rb} +37 -25
  283. data/lib/ngrokapi/services/{endpoint_compression_module_client.rb → edge_route_compression_module_client.rb} +37 -25
  284. data/lib/ngrokapi/services/edge_route_ip_restriction_module_client.rb +120 -0
  285. data/lib/ngrokapi/services/edge_route_o_auth_module_client.rb +120 -0
  286. data/lib/ngrokapi/services/edge_route_oidc_module_client.rb +120 -0
  287. data/lib/ngrokapi/services/edge_route_request_headers_module_client.rb +120 -0
  288. data/lib/ngrokapi/services/{endpoint_response_headers_module_client.rb → edge_route_response_headers_module_client.rb} +37 -25
  289. data/lib/ngrokapi/services/edge_route_saml_module_client.rb +120 -0
  290. data/lib/ngrokapi/services/{endpoint_webhook_validation_module_client.rb → edge_route_webhook_verification_module_client.rb} +37 -25
  291. data/lib/ngrokapi/services/edge_route_websocket_tcp_converter_module_client.rb +120 -0
  292. data/lib/ngrokapi/services/edges_https_client.rb +227 -0
  293. data/lib/ngrokapi/services/edges_https_routes_client.rb +244 -0
  294. data/lib/ngrokapi/services/edges_tcp_client.rb +227 -0
  295. data/lib/ngrokapi/services/edges_tls_client.rb +239 -0
  296. data/lib/ngrokapi/services/endpoints_client.rb +114 -0
  297. data/lib/ngrokapi/services/event_destinations_client.rb +2 -4
  298. data/lib/ngrokapi/services/event_subscriptions_client.rb +3 -3
  299. data/lib/ngrokapi/services/failover_backends_client.rb +214 -0
  300. data/lib/ngrokapi/services/http_response_backends_client.rb +199 -0
  301. data/lib/ngrokapi/services/{endpoint_saml_module_client.rb → https_edge_mutual_tls_module_client.rb} +25 -25
  302. data/lib/ngrokapi/services/{endpoint_request_headers_module_client.rb → https_edge_tls_termination_module_client.rb} +25 -25
  303. data/lib/ngrokapi/services/ip_policies_client.rb +1 -3
  304. data/lib/ngrokapi/services/ip_policy_rules_client.rb +3 -1
  305. data/lib/ngrokapi/services/ip_restrictions_client.rb +1 -1
  306. data/lib/ngrokapi/services/reserved_addrs_client.rb +0 -37
  307. data/lib/ngrokapi/services/reserved_domains_client.rb +0 -74
  308. data/lib/ngrokapi/services/{endpoint_logging_module_client.rb → tcp_edge_backend_module_client.rb} +25 -25
  309. data/lib/ngrokapi/services/{endpoint_ip_policy_module_client.rb → tcp_edge_ip_restriction_module_client.rb} +15 -15
  310. data/lib/ngrokapi/services/{endpoint_oidc_module_client.rb → tls_edge_backend_module_client.rb} +25 -25
  311. data/lib/ngrokapi/services/{endpoint_o_auth_module_client.rb → tls_edge_ip_restriction_module_client.rb} +25 -25
  312. data/lib/ngrokapi/services/{endpoint_mutual_tls_module_client.rb → tls_edge_mutual_tls_module_client.rb} +15 -15
  313. data/lib/ngrokapi/services/{endpoint_tls_termination_module_client.rb → tls_edge_tls_termination_module_client.rb} +15 -15
  314. data/lib/ngrokapi/services/tunnel_group_backends_client.rb +212 -0
  315. data/lib/ngrokapi/services/tunnels_client.rb +35 -0
  316. data/lib/ngrokapi/services/weighted_backends_client.rb +214 -0
  317. data/lib/ngrokapi/version.rb +1 -1
  318. data/spec/ngrokapi/client_spec.rb +44 -23
  319. data/spec/ngrokapi/models/endpoint_backend_mutate_spec.rb +21 -0
  320. data/spec/ngrokapi/models/endpoint_backend_spec.rb +21 -0
  321. data/spec/ngrokapi/models/endpoint_spec.rb +21 -0
  322. data/spec/ngrokapi/models/endpoint_tls_termination_at_edge_spec.rb +21 -0
  323. data/spec/ngrokapi/models/endpoint_websocket_tcp_converter_spec.rb +21 -0
  324. data/spec/ngrokapi/models/failover_backend_spec.rb +45 -0
  325. data/spec/ngrokapi/models/http_response_backend_spec.rb +51 -0
  326. data/spec/ngrokapi/models/https_edge_route_spec.rb +81 -0
  327. data/spec/ngrokapi/models/https_edge_spec.rb +51 -0
  328. data/spec/ngrokapi/models/tcp_edge_spec.rb +51 -0
  329. data/spec/ngrokapi/models/tls_edge_spec.rb +57 -0
  330. data/spec/ngrokapi/models/tunnel_group_backend_spec.rb +45 -0
  331. data/spec/ngrokapi/models/weighted_backend_spec.rb +45 -0
  332. data/spec/ngrokapi/services/edge_route_backend_module_client_spec.rb +139 -0
  333. data/spec/ngrokapi/services/{endpoint_circuit_breaker_module_client_spec.rb → edge_route_circuit_breaker_module_client_spec.rb} +31 -17
  334. data/spec/ngrokapi/services/{endpoint_compression_module_client_spec.rb → edge_route_compression_module_client_spec.rb} +31 -17
  335. data/spec/ngrokapi/services/edge_route_ip_restriction_module_client_spec.rb +139 -0
  336. data/spec/ngrokapi/services/{endpoint_o_auth_module_client_spec.rb → edge_route_o_auth_module_client_spec.rb} +31 -17
  337. data/spec/ngrokapi/services/{endpoint_oidc_module_client_spec.rb → edge_route_oidc_module_client_spec.rb} +31 -17
  338. data/spec/ngrokapi/services/{endpoint_request_headers_module_client_spec.rb → edge_route_request_headers_module_client_spec.rb} +31 -17
  339. data/spec/ngrokapi/services/{endpoint_response_headers_module_client_spec.rb → edge_route_response_headers_module_client_spec.rb} +31 -17
  340. data/spec/ngrokapi/services/{endpoint_saml_module_client_spec.rb → edge_route_saml_module_client_spec.rb} +31 -17
  341. data/spec/ngrokapi/services/{endpoint_webhook_validation_module_client_spec.rb → edge_route_webhook_verification_module_client_spec.rb} +31 -17
  342. data/spec/ngrokapi/services/edge_route_websocket_tcp_converter_module_client_spec.rb +139 -0
  343. data/spec/ngrokapi/services/{event_streams_client_spec.rb → edges_https_client_spec.rb} +106 -108
  344. data/spec/ngrokapi/services/edges_https_routes_client_spec.rb +241 -0
  345. data/spec/ngrokapi/services/edges_tcp_client_spec.rb +175 -0
  346. data/spec/ngrokapi/services/edges_tls_client_spec.rb +187 -0
  347. data/spec/ngrokapi/services/endpoints_client_spec.rb +57 -0
  348. data/spec/ngrokapi/services/failover_backends_client_spec.rb +163 -0
  349. data/spec/ngrokapi/services/http_response_backends_client_spec.rb +175 -0
  350. data/spec/ngrokapi/services/{endpoint_mutual_tls_module_client_spec.rb → https_edge_mutual_tls_module_client_spec.rb} +17 -17
  351. data/spec/ngrokapi/services/{endpoint_tls_termination_module_client_spec.rb → https_edge_tls_termination_module_client_spec.rb} +17 -17
  352. data/spec/ngrokapi/services/ip_policies_client_spec.rb +0 -1
  353. data/spec/ngrokapi/services/ip_policy_rules_client_spec.rb +3 -1
  354. data/spec/ngrokapi/services/reserved_addrs_client_spec.rb +0 -44
  355. data/spec/ngrokapi/services/reserved_domains_client_spec.rb +0 -88
  356. data/spec/ngrokapi/services/{endpoint_logging_module_client_spec.rb → tcp_edge_backend_module_client_spec.rb} +40 -40
  357. data/spec/ngrokapi/services/{endpoint_ip_policy_module_client_spec.rb → tcp_edge_ip_restriction_module_client_spec.rb} +17 -17
  358. data/spec/ngrokapi/services/tls_edge_backend_module_client_spec.rb +125 -0
  359. data/spec/ngrokapi/services/tls_edge_ip_restriction_module_client_spec.rb +125 -0
  360. data/spec/ngrokapi/services/tls_edge_mutual_tls_module_client_spec.rb +125 -0
  361. data/spec/ngrokapi/services/tls_edge_tls_termination_module_client_spec.rb +125 -0
  362. data/spec/ngrokapi/services/tunnel_group_backends_client_spec.rb +163 -0
  363. data/spec/ngrokapi/services/tunnels_client_spec.rb +36 -0
  364. data/spec/ngrokapi/services/weighted_backends_client_spec.rb +163 -0
  365. data/spec/spec_helper.rb +326 -33
  366. metadata +166 -74
  367. data/lib/ngrokapi/services/endpoint_configurations_client.rb +0 -289
  368. data/lib/ngrokapi/services/event_streams_client.rb +0 -224
  369. data/spec/ngrokapi/models/endpoint_configuration_spec.rb +0 -78
  370. data/spec/ngrokapi/models/endpoint_logging_mutate_spec.rb +0 -21
  371. data/spec/ngrokapi/models/endpoint_logging_spec.rb +0 -21
  372. data/spec/ngrokapi/models/event_stream_spec.rb +0 -51
  373. data/spec/ngrokapi/services/endpoint_configurations_client_spec.rb +0 -237
@@ -0,0 +1,227 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Services
5
+ ##
6
+ # https://ngrok.com/docs/api#api-edges-tcp
7
+ class EdgesTCPClient
8
+ # The API path for the requests
9
+ PATH = '/edges/tcp'
10
+ # The List Property from the resulting API for list calls
11
+ LIST_PROPERTY = 'tcp_edges'
12
+
13
+ attr_reader :client
14
+
15
+ def initialize(client:)
16
+ @client = client
17
+ end
18
+
19
+ ##
20
+ # Create a TCP Edge
21
+ #
22
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
23
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
24
+ # @param [List<string>] hostports hostports served by this edge
25
+ # @param [EndpointBackendMutate] backend edge modules
26
+ # @param [EndpointIPPolicyMutate] ip_restriction
27
+ # @return [NgrokAPI::Models::TCPEdge] result from the API request
28
+ #
29
+ # https://ngrok.com/docs/api#api-edges-tcp-create
30
+ def create(description: "", metadata: "", hostports: nil, backend: nil, ip_restriction: nil)
31
+ path = '/edges/tcp'
32
+ replacements = {
33
+ }
34
+ data = {}
35
+ data[:description] = description if description
36
+ data[:metadata] = metadata if metadata
37
+ data[:hostports] = hostports if hostports
38
+ data[:backend] = backend if backend
39
+ data[:ip_restriction] = ip_restriction if ip_restriction
40
+ result = @client.post(path % replacements, data: data)
41
+ NgrokAPI::Models::TCPEdge.new(client: self, result: result)
42
+ end
43
+
44
+ ##
45
+ # Get a TCP Edge by ID
46
+ #
47
+ # @param [string] id a resource identifier
48
+ # @return [NgrokAPI::Models::TCPEdge] result from the API request
49
+ #
50
+ # https://ngrok.com/docs/api#api-edges-tcp-get
51
+ def get(id: "")
52
+ path = '/edges/tcp/%{id}'
53
+ replacements = {
54
+ id: id,
55
+ }
56
+ data = {}
57
+ result = @client.get(path % replacements, data: data)
58
+ NgrokAPI::Models::TCPEdge.new(client: self, result: result)
59
+ end
60
+
61
+ ##
62
+ # Get a TCP Edge by ID
63
+ # Throws an exception if API error.
64
+ #
65
+ # @param [string] id a resource identifier
66
+ # @return [NgrokAPI::Models::TCPEdge] result from the API request
67
+ #
68
+ # https://ngrok.com/docs/api#api-edges-tcp-get
69
+ def get!(id: "")
70
+ path = '/edges/tcp/%{id}'
71
+ replacements = {
72
+ id: id,
73
+ }
74
+ data = {}
75
+ result = @client.get(path % replacements, data: data, danger: true)
76
+ NgrokAPI::Models::TCPEdge.new(client: self, result: result)
77
+ end
78
+
79
+ ##
80
+ # Returns a list of all TCP Edges on this account
81
+ #
82
+ # @param [string] before_id
83
+ # @param [string] limit
84
+ # @param [string] url optional and mutually exclusive from before_id and limit
85
+ # @return [NgrokAPI::Models::Listable] result from the API request
86
+ #
87
+ # https://ngrok.com/docs/api#api-edges-tcp-list
88
+ def list(before_id: nil, limit: nil,
89
+ url: nil)
90
+ result = @client.list(
91
+ before_id: before_id,
92
+ limit: limit,
93
+ url: url,
94
+ path: PATH
95
+ )
96
+
97
+ NgrokAPI::Models::Listable.new(
98
+ client: self,
99
+ result: result,
100
+ list_property: LIST_PROPERTY,
101
+ klass: NgrokAPI::Models::TCPEdge
102
+ )
103
+ end
104
+
105
+ ##
106
+ # Returns a list of all TCP Edges on this account
107
+ # Throws an exception if API error.
108
+ #
109
+ # @param [string] before_id
110
+ # @param [string] limit
111
+ # @param [string] url optional and mutually exclusive from before_id and limit
112
+ # @return [NgrokAPI::Models::Listable] result from the API request
113
+ #
114
+ # https://ngrok.com/docs/api#api-edges-tcp-list
115
+ def list!(before_id: nil, limit: nil,
116
+ url: nil)
117
+ result = @client.list(
118
+ before_id: before_id,
119
+ limit: limit,
120
+ danger: true,
121
+ url: url,
122
+ path: PATH
123
+ )
124
+
125
+ NgrokAPI::Models::Listable.new(
126
+ client: self,
127
+ result: result,
128
+ list_property: LIST_PROPERTY,
129
+ klass: NgrokAPI::Models::TCPEdge,
130
+ danger: true
131
+ )
132
+ end
133
+
134
+ ##
135
+ # Updates a TCP Edge by ID. If a module is not specified in the update, it will
136
+ # not be modified. However, each module configuration that is specified will
137
+ # completely replace the existing value. There is no way to delete an existing
138
+ # module via this API, instead use the delete module API.
139
+ #
140
+ # @param [string] id unique identifier of this edge
141
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
142
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
143
+ # @param [List<string>] hostports hostports served by this edge
144
+ # @param [EndpointBackendMutate] backend edge modules
145
+ # @param [EndpointIPPolicyMutate] ip_restriction
146
+ # @return [NgrokAPI::Models::TCPEdge] result from the API request
147
+ #
148
+ # https://ngrok.com/docs/api#api-edges-tcp-update
149
+ def update(id: "", description: nil, metadata: nil, hostports: nil, backend: nil, ip_restriction: nil)
150
+ path = '/edges/tcp/%{id}'
151
+ replacements = {
152
+ id: id,
153
+ }
154
+ data = {}
155
+ data[:description] = description if description
156
+ data[:metadata] = metadata if metadata
157
+ data[:hostports] = hostports if hostports
158
+ data[:backend] = backend if backend
159
+ data[:ip_restriction] = ip_restriction if ip_restriction
160
+ result = @client.patch(path % replacements, data: data)
161
+ NgrokAPI::Models::TCPEdge.new(client: self, result: result)
162
+ end
163
+
164
+ ##
165
+ # Updates a TCP Edge by ID. If a module is not specified in the update, it will
166
+ # not be modified. However, each module configuration that is specified will
167
+ # completely replace the existing value. There is no way to delete an existing
168
+ # module via this API, instead use the delete module API.
169
+ # Throws an exception if API error.
170
+ #
171
+ # @param [string] id unique identifier of this edge
172
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
173
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
174
+ # @param [List<string>] hostports hostports served by this edge
175
+ # @param [EndpointBackendMutate] backend edge modules
176
+ # @param [EndpointIPPolicyMutate] ip_restriction
177
+ # @return [NgrokAPI::Models::TCPEdge] result from the API request
178
+ #
179
+ # https://ngrok.com/docs/api#api-edges-tcp-update
180
+ def update!(id: "", description: nil, metadata: nil, hostports: nil, backend: nil, ip_restriction: nil)
181
+ path = '/edges/tcp/%{id}'
182
+ replacements = {
183
+ id: id,
184
+ }
185
+ data = {}
186
+ data[:description] = description if description
187
+ data[:metadata] = metadata if metadata
188
+ data[:hostports] = hostports if hostports
189
+ data[:backend] = backend if backend
190
+ data[:ip_restriction] = ip_restriction if ip_restriction
191
+ result = @client.patch(path % replacements, data: data, danger: true)
192
+ NgrokAPI::Models::TCPEdge.new(client: self, result: result)
193
+ end
194
+
195
+ ##
196
+ # Delete a TCP Edge by ID
197
+ #
198
+ # @param [string] id a resource identifier
199
+ # @return [NgrokAPI::Models::Empty] result from the API request
200
+ #
201
+ # https://ngrok.com/docs/api#api-edges-tcp-delete
202
+ def delete(id: "")
203
+ path = '/edges/tcp/%{id}'
204
+ replacements = {
205
+ id: id,
206
+ }
207
+ @client.delete(path % replacements)
208
+ end
209
+
210
+ ##
211
+ # Delete a TCP Edge by ID
212
+ # Throws an exception if API error.
213
+ #
214
+ # @param [string] id a resource identifier
215
+ # @return [NgrokAPI::Models::Empty] result from the API request
216
+ #
217
+ # https://ngrok.com/docs/api#api-edges-tcp-delete
218
+ def delete!(id: "")
219
+ path = '/edges/tcp/%{id}'
220
+ replacements = {
221
+ id: id,
222
+ }
223
+ @client.delete(path % replacements, danger: true)
224
+ end
225
+ end
226
+ end
227
+ end
@@ -0,0 +1,239 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Services
5
+ ##
6
+ # https://ngrok.com/docs/api#api-edges-tls
7
+ class EdgesTLSClient
8
+ # The API path for the requests
9
+ PATH = '/edges/tls'
10
+ # The List Property from the resulting API for list calls
11
+ LIST_PROPERTY = 'tls_edges'
12
+
13
+ attr_reader :client
14
+
15
+ def initialize(client:)
16
+ @client = client
17
+ end
18
+
19
+ ##
20
+ # Create a TLS Edge
21
+ #
22
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
23
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
24
+ # @param [List<string>] hostports hostports served by this edge
25
+ # @param [EndpointBackendMutate] backend edge modules
26
+ # @param [EndpointIPPolicyMutate] ip_restriction
27
+ # @param [EndpointMutualTLSMutate] mutual_tls
28
+ # @param [EndpointTLSTermination] tls_termination
29
+ # @return [NgrokAPI::Models::TLSEdge] result from the API request
30
+ #
31
+ # https://ngrok.com/docs/api#api-edges-tls-create
32
+ def create(description: "", metadata: "", hostports: nil, backend: nil, ip_restriction: nil, mutual_tls: nil, tls_termination: nil)
33
+ path = '/edges/tls'
34
+ replacements = {
35
+ }
36
+ data = {}
37
+ data[:description] = description if description
38
+ data[:metadata] = metadata if metadata
39
+ data[:hostports] = hostports if hostports
40
+ data[:backend] = backend if backend
41
+ data[:ip_restriction] = ip_restriction if ip_restriction
42
+ data[:mutual_tls] = mutual_tls if mutual_tls
43
+ data[:tls_termination] = tls_termination if tls_termination
44
+ result = @client.post(path % replacements, data: data)
45
+ NgrokAPI::Models::TLSEdge.new(client: self, result: result)
46
+ end
47
+
48
+ ##
49
+ # Get a TLS Edge by ID
50
+ #
51
+ # @param [string] id a resource identifier
52
+ # @return [NgrokAPI::Models::TLSEdge] result from the API request
53
+ #
54
+ # https://ngrok.com/docs/api#api-edges-tls-get
55
+ def get(id: "")
56
+ path = '/edges/tls/%{id}'
57
+ replacements = {
58
+ id: id,
59
+ }
60
+ data = {}
61
+ result = @client.get(path % replacements, data: data)
62
+ NgrokAPI::Models::TLSEdge.new(client: self, result: result)
63
+ end
64
+
65
+ ##
66
+ # Get a TLS Edge by ID
67
+ # Throws an exception if API error.
68
+ #
69
+ # @param [string] id a resource identifier
70
+ # @return [NgrokAPI::Models::TLSEdge] result from the API request
71
+ #
72
+ # https://ngrok.com/docs/api#api-edges-tls-get
73
+ def get!(id: "")
74
+ path = '/edges/tls/%{id}'
75
+ replacements = {
76
+ id: id,
77
+ }
78
+ data = {}
79
+ result = @client.get(path % replacements, data: data, danger: true)
80
+ NgrokAPI::Models::TLSEdge.new(client: self, result: result)
81
+ end
82
+
83
+ ##
84
+ # Returns a list of all TLS Edges on this account
85
+ #
86
+ # @param [string] before_id
87
+ # @param [string] limit
88
+ # @param [string] url optional and mutually exclusive from before_id and limit
89
+ # @return [NgrokAPI::Models::Listable] result from the API request
90
+ #
91
+ # https://ngrok.com/docs/api#api-edges-tls-list
92
+ def list(before_id: nil, limit: nil,
93
+ url: nil)
94
+ result = @client.list(
95
+ before_id: before_id,
96
+ limit: limit,
97
+ url: url,
98
+ path: PATH
99
+ )
100
+
101
+ NgrokAPI::Models::Listable.new(
102
+ client: self,
103
+ result: result,
104
+ list_property: LIST_PROPERTY,
105
+ klass: NgrokAPI::Models::TLSEdge
106
+ )
107
+ end
108
+
109
+ ##
110
+ # Returns a list of all TLS Edges on this account
111
+ # Throws an exception if API error.
112
+ #
113
+ # @param [string] before_id
114
+ # @param [string] limit
115
+ # @param [string] url optional and mutually exclusive from before_id and limit
116
+ # @return [NgrokAPI::Models::Listable] result from the API request
117
+ #
118
+ # https://ngrok.com/docs/api#api-edges-tls-list
119
+ def list!(before_id: nil, limit: nil,
120
+ url: nil)
121
+ result = @client.list(
122
+ before_id: before_id,
123
+ limit: limit,
124
+ danger: true,
125
+ url: url,
126
+ path: PATH
127
+ )
128
+
129
+ NgrokAPI::Models::Listable.new(
130
+ client: self,
131
+ result: result,
132
+ list_property: LIST_PROPERTY,
133
+ klass: NgrokAPI::Models::TLSEdge,
134
+ danger: true
135
+ )
136
+ end
137
+
138
+ ##
139
+ # Updates a TLS Edge by ID. If a module is not specified in the update, it will
140
+ # not be modified. However, each module configuration that is specified will
141
+ # completely replace the existing value. There is no way to delete an existing
142
+ # module via this API, instead use the delete module API.
143
+ #
144
+ # @param [string] id unique identifier of this edge
145
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
146
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
147
+ # @param [List<string>] hostports hostports served by this edge
148
+ # @param [EndpointBackendMutate] backend edge modules
149
+ # @param [EndpointIPPolicyMutate] ip_restriction
150
+ # @param [EndpointMutualTLSMutate] mutual_tls
151
+ # @param [EndpointTLSTermination] tls_termination
152
+ # @return [NgrokAPI::Models::TLSEdge] result from the API request
153
+ #
154
+ # https://ngrok.com/docs/api#api-edges-tls-update
155
+ def update(id: "", description: nil, metadata: nil, hostports: nil, backend: nil, ip_restriction: nil, mutual_tls: nil, tls_termination: nil)
156
+ path = '/edges/tls/%{id}'
157
+ replacements = {
158
+ id: id,
159
+ }
160
+ data = {}
161
+ data[:description] = description if description
162
+ data[:metadata] = metadata if metadata
163
+ data[:hostports] = hostports if hostports
164
+ data[:backend] = backend if backend
165
+ data[:ip_restriction] = ip_restriction if ip_restriction
166
+ data[:mutual_tls] = mutual_tls if mutual_tls
167
+ data[:tls_termination] = tls_termination if tls_termination
168
+ result = @client.patch(path % replacements, data: data)
169
+ NgrokAPI::Models::TLSEdge.new(client: self, result: result)
170
+ end
171
+
172
+ ##
173
+ # Updates a TLS Edge by ID. If a module is not specified in the update, it will
174
+ # not be modified. However, each module configuration that is specified will
175
+ # completely replace the existing value. There is no way to delete an existing
176
+ # module via this API, instead use the delete module API.
177
+ # Throws an exception if API error.
178
+ #
179
+ # @param [string] id unique identifier of this edge
180
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
181
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
182
+ # @param [List<string>] hostports hostports served by this edge
183
+ # @param [EndpointBackendMutate] backend edge modules
184
+ # @param [EndpointIPPolicyMutate] ip_restriction
185
+ # @param [EndpointMutualTLSMutate] mutual_tls
186
+ # @param [EndpointTLSTermination] tls_termination
187
+ # @return [NgrokAPI::Models::TLSEdge] result from the API request
188
+ #
189
+ # https://ngrok.com/docs/api#api-edges-tls-update
190
+ def update!(id: "", description: nil, metadata: nil, hostports: nil, backend: nil, ip_restriction: nil, mutual_tls: nil, tls_termination: nil)
191
+ path = '/edges/tls/%{id}'
192
+ replacements = {
193
+ id: id,
194
+ }
195
+ data = {}
196
+ data[:description] = description if description
197
+ data[:metadata] = metadata if metadata
198
+ data[:hostports] = hostports if hostports
199
+ data[:backend] = backend if backend
200
+ data[:ip_restriction] = ip_restriction if ip_restriction
201
+ data[:mutual_tls] = mutual_tls if mutual_tls
202
+ data[:tls_termination] = tls_termination if tls_termination
203
+ result = @client.patch(path % replacements, data: data, danger: true)
204
+ NgrokAPI::Models::TLSEdge.new(client: self, result: result)
205
+ end
206
+
207
+ ##
208
+ # Delete a TLS Edge by ID
209
+ #
210
+ # @param [string] id a resource identifier
211
+ # @return [NgrokAPI::Models::Empty] result from the API request
212
+ #
213
+ # https://ngrok.com/docs/api#api-edges-tls-delete
214
+ def delete(id: "")
215
+ path = '/edges/tls/%{id}'
216
+ replacements = {
217
+ id: id,
218
+ }
219
+ @client.delete(path % replacements)
220
+ end
221
+
222
+ ##
223
+ # Delete a TLS Edge by ID
224
+ # Throws an exception if API error.
225
+ #
226
+ # @param [string] id a resource identifier
227
+ # @return [NgrokAPI::Models::Empty] result from the API request
228
+ #
229
+ # https://ngrok.com/docs/api#api-edges-tls-delete
230
+ def delete!(id: "")
231
+ path = '/edges/tls/%{id}'
232
+ replacements = {
233
+ id: id,
234
+ }
235
+ @client.delete(path % replacements, danger: true)
236
+ end
237
+ end
238
+ end
239
+ end
@@ -0,0 +1,114 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Services
5
+ ##
6
+ # Endpoints provides an API for querying the endpoint objects
7
+ # which define what tunnel or edge is used to serve a hostport.
8
+ # Only active endpoints associated with a tunnel or backend are returned.
9
+ #
10
+ # https://ngrok.com/docs/api#api-endpoints
11
+ class EndpointsClient
12
+ # The List Property from the resulting API for list calls
13
+ LIST_PROPERTY = 'endpoints'
14
+ # The API path for the requests
15
+ PATH = '/endpoints'
16
+
17
+ attr_reader :client
18
+
19
+ def initialize(client:)
20
+ @client = client
21
+ end
22
+
23
+ ##
24
+ # List all active endpoints on the account
25
+ #
26
+ # @param [string] before_id
27
+ # @param [string] limit
28
+ # @param [string] url optional and mutually exclusive from before_id and limit
29
+ # @return [NgrokAPI::Models::Listable] result from the API request
30
+ #
31
+ # https://ngrok.com/docs/api#api-endpoints-list
32
+ def list(before_id: nil, limit: nil,
33
+ url: nil)
34
+ result = @client.list(
35
+ before_id: before_id,
36
+ limit: limit,
37
+ url: url,
38
+ path: PATH
39
+ )
40
+
41
+ NgrokAPI::Models::Listable.new(
42
+ client: self,
43
+ result: result,
44
+ list_property: LIST_PROPERTY,
45
+ klass: NgrokAPI::Models::Endpoint
46
+ )
47
+ end
48
+
49
+ ##
50
+ # List all active endpoints on the account
51
+ # Throws an exception if API error.
52
+ #
53
+ # @param [string] before_id
54
+ # @param [string] limit
55
+ # @param [string] url optional and mutually exclusive from before_id and limit
56
+ # @return [NgrokAPI::Models::Listable] result from the API request
57
+ #
58
+ # https://ngrok.com/docs/api#api-endpoints-list
59
+ def list!(before_id: nil, limit: nil,
60
+ url: nil)
61
+ result = @client.list(
62
+ before_id: before_id,
63
+ limit: limit,
64
+ danger: true,
65
+ url: url,
66
+ path: PATH
67
+ )
68
+
69
+ NgrokAPI::Models::Listable.new(
70
+ client: self,
71
+ result: result,
72
+ list_property: LIST_PROPERTY,
73
+ klass: NgrokAPI::Models::Endpoint,
74
+ danger: true
75
+ )
76
+ end
77
+
78
+ ##
79
+ # Get the status of an endpoint by ID
80
+ #
81
+ # @param [string] id a resource identifier
82
+ # @return [NgrokAPI::Models::Endpoint] result from the API request
83
+ #
84
+ # https://ngrok.com/docs/api#api-endpoints-get
85
+ def get(id: "")
86
+ path = '/endpoints/%{id}'
87
+ replacements = {
88
+ id: id,
89
+ }
90
+ data = {}
91
+ result = @client.get(path % replacements, data: data)
92
+ NgrokAPI::Models::Endpoint.new(client: self, result: result)
93
+ end
94
+
95
+ ##
96
+ # Get the status of an endpoint by ID
97
+ # Throws an exception if API error.
98
+ #
99
+ # @param [string] id a resource identifier
100
+ # @return [NgrokAPI::Models::Endpoint] result from the API request
101
+ #
102
+ # https://ngrok.com/docs/api#api-endpoints-get
103
+ def get!(id: "")
104
+ path = '/endpoints/%{id}'
105
+ replacements = {
106
+ id: id,
107
+ }
108
+ data = {}
109
+ result = @client.get(path % replacements, data: data, danger: true)
110
+ NgrokAPI::Models::Endpoint.new(client: self, result: result)
111
+ end
112
+ end
113
+ end
114
+ end
@@ -43,8 +43,7 @@ module NgrokAPI
43
43
 
44
44
  ##
45
45
  # Delete an Event Destination. If the Event Destination is still referenced by an
46
- # Event Stream, this will throw an error until that Event Stream has removed that
47
- # reference.
46
+ # Event Subscription.
48
47
  #
49
48
  # @param [string] id a resource identifier
50
49
  # @return [NgrokAPI::Models::Empty] result from the API request
@@ -60,8 +59,7 @@ module NgrokAPI
60
59
 
61
60
  ##
62
61
  # Delete an Event Destination. If the Event Destination is still referenced by an
63
- # Event Stream, this will throw an error until that Event Stream has removed that
64
- # reference.
62
+ # Event Subscription.
65
63
  # Throws an exception if API error.
66
64
  #
67
65
  # @param [string] id a resource identifier
@@ -22,7 +22,7 @@ module NgrokAPI
22
22
  # @param [string] metadata Arbitrary customer supplied information intended to be machine readable. Optional, max 4096 chars.
23
23
  # @param [string] description Arbitrary customer supplied information intended to be human readable. Optional, max 255 chars.
24
24
  # @param [List<EventSourceReplace>] sources Sources containing the types for which this event subscription will trigger
25
- # @param [List<string>] destination_ids A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination.
25
+ # @param [List<string>] destination_ids A list of Event Destination IDs which should be used for this Event Subscription.
26
26
  # @return [NgrokAPI::Models::EventSubscription] result from the API request
27
27
  #
28
28
  # https://ngrok.com/docs/api#api-event-subscriptions-create
@@ -167,7 +167,7 @@ module NgrokAPI
167
167
  # @param [string] metadata Arbitrary customer supplied information intended to be machine readable. Optional, max 4096 chars.
168
168
  # @param [string] description Arbitrary customer supplied information intended to be human readable. Optional, max 255 chars.
169
169
  # @param [List<EventSourceReplace>] sources Sources containing the types for which this event subscription will trigger
170
- # @param [List<string>] destination_ids A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination.
170
+ # @param [List<string>] destination_ids A list of Event Destination IDs which should be used for this Event Subscription.
171
171
  # @return [NgrokAPI::Models::EventSubscription] result from the API request
172
172
  #
173
173
  # https://ngrok.com/docs/api#api-event-subscriptions-update
@@ -193,7 +193,7 @@ module NgrokAPI
193
193
  # @param [string] metadata Arbitrary customer supplied information intended to be machine readable. Optional, max 4096 chars.
194
194
  # @param [string] description Arbitrary customer supplied information intended to be human readable. Optional, max 255 chars.
195
195
  # @param [List<EventSourceReplace>] sources Sources containing the types for which this event subscription will trigger
196
- # @param [List<string>] destination_ids A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination.
196
+ # @param [List<string>] destination_ids A list of Event Destination IDs which should be used for this Event Subscription.
197
197
  # @return [NgrokAPI::Models::EventSubscription] result from the API request
198
198
  #
199
199
  # https://ngrok.com/docs/api#api-event-subscriptions-update