ngrok-api 0.14.0 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (396) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/doc/NgrokAPI/Client.html +325 -267
  4. data/doc/NgrokAPI/Error.html +3 -3
  5. data/doc/NgrokAPI/Errors/NotFoundError.html +3 -3
  6. data/doc/NgrokAPI/Errors.html +3 -3
  7. data/doc/NgrokAPI/HttpClient.html +30 -36
  8. data/doc/NgrokAPI/Models/APIKey.html +3 -3
  9. data/doc/NgrokAPI/Models/AWSAuth.html +3 -3
  10. data/doc/NgrokAPI/Models/AWSCredentials.html +3 -3
  11. data/doc/NgrokAPI/Models/AWSRole.html +3 -3
  12. data/doc/NgrokAPI/Models/AbuseReport.html +3 -3
  13. data/doc/NgrokAPI/Models/AbuseReportHostname.html +3 -3
  14. data/doc/NgrokAPI/Models/AgentIngress.html +1217 -0
  15. data/doc/NgrokAPI/Models/CertificateAuthority.html +3 -3
  16. data/doc/NgrokAPI/Models/Credential.html +3 -3
  17. data/doc/NgrokAPI/Models/Endpoint.html +1431 -0
  18. data/doc/NgrokAPI/Models/{EndpointLogging.html → EndpointBackend.html} +42 -42
  19. data/{docs/NgrokAPI/Models/EndpointLoggingMutate.html → doc/NgrokAPI/Models/EndpointBackendMutate.html} +42 -42
  20. data/doc/NgrokAPI/Models/EndpointCircuitBreaker.html +3 -3
  21. data/doc/NgrokAPI/Models/EndpointCompression.html +3 -3
  22. data/doc/NgrokAPI/Models/EndpointIPPolicy.html +3 -3
  23. data/doc/NgrokAPI/Models/EndpointIPPolicyMutate.html +3 -3
  24. data/doc/NgrokAPI/Models/EndpointMutualTLS.html +3 -3
  25. data/doc/NgrokAPI/Models/EndpointMutualTLSMutate.html +3 -3
  26. data/doc/NgrokAPI/Models/EndpointOAuth.html +3 -3
  27. data/doc/NgrokAPI/Models/EndpointOAuthFacebook.html +3 -3
  28. data/doc/NgrokAPI/Models/EndpointOAuthGitHub.html +3 -3
  29. data/doc/NgrokAPI/Models/EndpointOAuthGoogle.html +3 -3
  30. data/doc/NgrokAPI/Models/EndpointOAuthMicrosoft.html +3 -3
  31. data/doc/NgrokAPI/Models/EndpointOAuthProvider.html +3 -3
  32. data/doc/NgrokAPI/Models/EndpointOIDC.html +3 -3
  33. data/doc/NgrokAPI/Models/EndpointRequestHeaders.html +3 -3
  34. data/doc/NgrokAPI/Models/EndpointResponseHeaders.html +3 -3
  35. data/doc/NgrokAPI/Models/EndpointSAML.html +3 -3
  36. data/doc/NgrokAPI/Models/EndpointSAMLMutate.html +3 -3
  37. data/doc/NgrokAPI/Models/EndpointTLSTermination.html +3 -3
  38. data/doc/NgrokAPI/Models/EndpointTLSTerminationAtEdge.html +617 -0
  39. data/doc/NgrokAPI/Models/EndpointWebhookValidation.html +3 -3
  40. data/doc/NgrokAPI/Models/EndpointWebsocketTCPConverter.html +543 -0
  41. data/doc/NgrokAPI/Models/EventDestination.html +7 -7
  42. data/doc/NgrokAPI/Models/EventSource.html +3 -3
  43. data/doc/NgrokAPI/Models/EventSourceList.html +3 -3
  44. data/doc/NgrokAPI/Models/EventSourceReplace.html +3 -3
  45. data/doc/NgrokAPI/Models/EventSubscription.html +3 -3
  46. data/doc/NgrokAPI/Models/EventTarget.html +3 -3
  47. data/doc/NgrokAPI/Models/EventTargetCloudwatchLogs.html +3 -3
  48. data/doc/NgrokAPI/Models/EventTargetFirehose.html +3 -3
  49. data/doc/NgrokAPI/Models/EventTargetKinesis.html +3 -3
  50. data/doc/NgrokAPI/Models/FailoverBackend.html +1075 -0
  51. data/doc/NgrokAPI/Models/HTTPResponseBackend.html +1231 -0
  52. data/{docs/NgrokAPI/Models/EventStream.html → doc/NgrokAPI/Models/HTTPSEdge.html} +119 -119
  53. data/doc/NgrokAPI/Models/{EndpointConfiguration.html → HTTPSEdgeRoute.html} +203 -265
  54. data/doc/NgrokAPI/Models/IPPolicy.html +3 -3
  55. data/doc/NgrokAPI/Models/IPPolicyRule.html +97 -23
  56. data/doc/NgrokAPI/Models/IPRestriction.html +3 -3
  57. data/doc/NgrokAPI/Models/Listable.html +3 -3
  58. data/doc/NgrokAPI/Models/Ref.html +3 -3
  59. data/doc/NgrokAPI/Models/ReservedAddr.html +3 -3
  60. data/doc/NgrokAPI/Models/ReservedDomain.html +3 -3
  61. data/doc/NgrokAPI/Models/ReservedDomainCertJob.html +3 -3
  62. data/doc/NgrokAPI/Models/ReservedDomainCertPolicy.html +3 -3
  63. data/doc/NgrokAPI/Models/ReservedDomainCertStatus.html +3 -3
  64. data/doc/NgrokAPI/Models/SSHCertificateAuthority.html +3 -3
  65. data/doc/NgrokAPI/Models/SSHCredential.html +3 -3
  66. data/doc/NgrokAPI/Models/SSHHostCertificate.html +3 -3
  67. data/doc/NgrokAPI/Models/SSHUserCertificate.html +3 -3
  68. data/doc/NgrokAPI/Models/TCPEdge.html +1235 -0
  69. data/doc/NgrokAPI/Models/TLSCertificate.html +3 -3
  70. data/doc/NgrokAPI/Models/TLSCertificateSANs.html +3 -3
  71. data/doc/NgrokAPI/Models/TLSEdge.html +1395 -0
  72. data/doc/NgrokAPI/Models/Tunnel.html +314 -18
  73. data/doc/NgrokAPI/Models/TunnelGroupBackend.html +1149 -0
  74. data/doc/NgrokAPI/Models/TunnelSession.html +3 -3
  75. data/doc/NgrokAPI/Models/{IPWhitelistEntry.html → WeightedBackend.html} +80 -74
  76. data/doc/NgrokAPI/Models.html +5 -5
  77. data/doc/NgrokAPI/PagedIterator.html +3 -3
  78. data/doc/NgrokAPI/Services/APIKeysClient.html +99 -149
  79. data/doc/NgrokAPI/Services/AbuseReportsClient.html +19 -33
  80. data/doc/NgrokAPI/Services/{IPWhitelistClient.html → AgentIngressesClient.html} +209 -265
  81. data/doc/NgrokAPI/Services/CertificateAuthoritiesClient.html +104 -156
  82. data/doc/NgrokAPI/Services/CredentialsClient.html +108 -164
  83. data/doc/NgrokAPI/Services/EdgeRouteBackendModuleClient.html +1153 -0
  84. data/{docs/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html → doc/NgrokAPI/Services/EdgeRouteCircuitBreakerModuleClient.html} +177 -95
  85. data/doc/NgrokAPI/Services/{EndpointCompressionModuleClient.html → EdgeRouteCompressionModuleClient.html} +177 -95
  86. data/doc/NgrokAPI/Services/EdgeRouteIPRestrictionModuleClient.html +1153 -0
  87. data/doc/NgrokAPI/Services/EdgeRouteOAuthModuleClient.html +1153 -0
  88. data/{docs/NgrokAPI/Services/EndpointOIDCModuleClient.html → doc/NgrokAPI/Services/EdgeRouteOIDCModuleClient.html} +177 -95
  89. data/doc/NgrokAPI/Services/EdgeRouteRequestHeadersModuleClient.html +1153 -0
  90. data/{docs/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html → doc/NgrokAPI/Services/EdgeRouteResponseHeadersModuleClient.html} +177 -95
  91. data/{docs/NgrokAPI/Services/EndpointSAMLModuleClient.html → doc/NgrokAPI/Services/EdgeRouteSAMLModuleClient.html} +177 -95
  92. data/doc/NgrokAPI/Services/{EndpointWebhookValidationModuleClient.html → EdgeRouteWebhookVerificationModuleClient.html} +177 -95
  93. data/doc/NgrokAPI/Services/EdgeRouteWebsocketTCPConverterModuleClient.html +1153 -0
  94. data/doc/NgrokAPI/Services/{EventStreamsClient.html → EdgesHTTPSClient.html} +248 -353
  95. data/{docs/NgrokAPI/Services/EndpointConfigurationsClient.html → doc/NgrokAPI/Services/EdgesHTTPSRoutesClient.html} +461 -761
  96. data/doc/NgrokAPI/Services/EdgesTCPClient.html +1757 -0
  97. data/doc/NgrokAPI/Services/EdgesTLSClient.html +1847 -0
  98. data/doc/NgrokAPI/Services/EndpointsClient.html +907 -0
  99. data/doc/NgrokAPI/Services/EventDestinationsClient.html +119 -187
  100. data/doc/NgrokAPI/Services/EventSourcesClient.html +95 -157
  101. data/doc/NgrokAPI/Services/EventSubscriptionsClient.html +116 -178
  102. data/doc/NgrokAPI/Services/FailoverBackendsClient.html +1644 -0
  103. data/doc/NgrokAPI/Services/HTTPResponseBackendsClient.html +1744 -0
  104. data/doc/NgrokAPI/Services/{EndpointSAMLModuleClient.html → HTTPSEdgeMutualTLSModuleClient.html} +101 -129
  105. data/doc/NgrokAPI/Services/{EndpointRequestHeadersModuleClient.html → HTTPSEdgeTLSTerminationModuleClient.html} +101 -129
  106. data/doc/NgrokAPI/Services/IPPoliciesClient.html +114 -184
  107. data/doc/NgrokAPI/Services/IPPolicyRulesClient.html +126 -164
  108. data/doc/NgrokAPI/Services/IPRestrictionsClient.html +117 -181
  109. data/doc/NgrokAPI/Services/ReservedAddrsClient.html +117 -473
  110. data/doc/NgrokAPI/Services/ReservedDomainsClient.html +209 -899
  111. data/doc/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +110 -166
  112. data/doc/NgrokAPI/Services/SSHCredentialsClient.html +111 -169
  113. data/doc/NgrokAPI/Services/SSHHostCertificatesClient.html +111 -171
  114. data/doc/NgrokAPI/Services/SSHUserCertificatesClient.html +111 -175
  115. data/{docs/NgrokAPI/Services/EndpointLoggingModuleClient.html → doc/NgrokAPI/Services/TCPEdgeBackendModuleClient.html} +101 -129
  116. data/{docs/NgrokAPI/Services/EndpointIPPolicyModuleClient.html → doc/NgrokAPI/Services/TCPEdgeIPRestrictionModuleClient.html} +83 -111
  117. data/doc/NgrokAPI/Services/TLSCertificatesClient.html +107 -161
  118. data/doc/NgrokAPI/Services/{EndpointLoggingModuleClient.html → TLSEdgeBackendModuleClient.html} +101 -129
  119. data/doc/NgrokAPI/Services/{EndpointIPPolicyModuleClient.html → TLSEdgeIPRestrictionModuleClient.html} +83 -111
  120. data/{docs/NgrokAPI/Services/EndpointMutualTLSModuleClient.html → doc/NgrokAPI/Services/TLSEdgeMutualTLSModuleClient.html} +83 -111
  121. data/{docs/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html → doc/NgrokAPI/Services/TLSEdgeTLSTerminationModuleClient.html} +83 -111
  122. data/doc/NgrokAPI/Services/TunnelGroupBackendsClient.html +1644 -0
  123. data/doc/NgrokAPI/Services/TunnelSessionsClient.html +87 -135
  124. data/doc/NgrokAPI/Services/TunnelsClient.html +252 -26
  125. data/doc/NgrokAPI/Services/WeightedBackendsClient.html +1644 -0
  126. data/doc/NgrokAPI/Services.html +5 -5
  127. data/doc/NgrokAPI.html +4 -4
  128. data/doc/_index.html +253 -76
  129. data/doc/class_list.html +1 -1
  130. data/doc/file.README.html +3 -3
  131. data/doc/frames.html +1 -1
  132. data/doc/index.html +3 -3
  133. data/doc/method_list.html +3559 -1583
  134. data/doc/top-level-namespace.html +3 -3
  135. data/docs/CNAME +1 -0
  136. data/docs/NgrokAPI/Client.html +325 -267
  137. data/docs/NgrokAPI/Error.html +3 -3
  138. data/docs/NgrokAPI/Errors/NotFoundError.html +3 -3
  139. data/docs/NgrokAPI/Errors.html +3 -3
  140. data/docs/NgrokAPI/HttpClient.html +30 -36
  141. data/docs/NgrokAPI/Models/APIKey.html +3 -3
  142. data/docs/NgrokAPI/Models/AWSAuth.html +3 -3
  143. data/docs/NgrokAPI/Models/AWSCredentials.html +3 -3
  144. data/docs/NgrokAPI/Models/AWSRole.html +3 -3
  145. data/docs/NgrokAPI/Models/AbuseReport.html +3 -3
  146. data/docs/NgrokAPI/Models/AbuseReportHostname.html +3 -3
  147. data/docs/NgrokAPI/Models/AgentIngress.html +1217 -0
  148. data/docs/NgrokAPI/Models/CertificateAuthority.html +3 -3
  149. data/docs/NgrokAPI/Models/Credential.html +3 -3
  150. data/docs/NgrokAPI/Models/Endpoint.html +1431 -0
  151. data/docs/NgrokAPI/Models/{EndpointLogging.html → EndpointBackend.html} +42 -42
  152. data/{doc/NgrokAPI/Models/EndpointLoggingMutate.html → docs/NgrokAPI/Models/EndpointBackendMutate.html} +42 -42
  153. data/docs/NgrokAPI/Models/EndpointCircuitBreaker.html +3 -3
  154. data/docs/NgrokAPI/Models/EndpointCompression.html +3 -3
  155. data/docs/NgrokAPI/Models/EndpointIPPolicy.html +3 -3
  156. data/docs/NgrokAPI/Models/EndpointIPPolicyMutate.html +3 -3
  157. data/docs/NgrokAPI/Models/EndpointMutualTLS.html +3 -3
  158. data/docs/NgrokAPI/Models/EndpointMutualTLSMutate.html +3 -3
  159. data/docs/NgrokAPI/Models/EndpointOAuth.html +3 -3
  160. data/docs/NgrokAPI/Models/EndpointOAuthFacebook.html +3 -3
  161. data/docs/NgrokAPI/Models/EndpointOAuthGitHub.html +3 -3
  162. data/docs/NgrokAPI/Models/EndpointOAuthGoogle.html +3 -3
  163. data/docs/NgrokAPI/Models/EndpointOAuthMicrosoft.html +3 -3
  164. data/docs/NgrokAPI/Models/EndpointOAuthProvider.html +3 -3
  165. data/docs/NgrokAPI/Models/EndpointOIDC.html +3 -3
  166. data/docs/NgrokAPI/Models/EndpointRequestHeaders.html +3 -3
  167. data/docs/NgrokAPI/Models/EndpointResponseHeaders.html +3 -3
  168. data/docs/NgrokAPI/Models/EndpointSAML.html +3 -3
  169. data/docs/NgrokAPI/Models/EndpointSAMLMutate.html +3 -3
  170. data/docs/NgrokAPI/Models/EndpointTLSTermination.html +3 -3
  171. data/docs/NgrokAPI/Models/EndpointTLSTerminationAtEdge.html +617 -0
  172. data/docs/NgrokAPI/Models/EndpointWebhookValidation.html +3 -3
  173. data/docs/NgrokAPI/Models/EndpointWebsocketTCPConverter.html +543 -0
  174. data/docs/NgrokAPI/Models/EventDestination.html +7 -7
  175. data/docs/NgrokAPI/Models/EventSource.html +3 -3
  176. data/docs/NgrokAPI/Models/EventSourceList.html +3 -3
  177. data/docs/NgrokAPI/Models/EventSourceReplace.html +3 -3
  178. data/docs/NgrokAPI/Models/EventSubscription.html +3 -3
  179. data/docs/NgrokAPI/Models/EventTarget.html +3 -3
  180. data/docs/NgrokAPI/Models/EventTargetCloudwatchLogs.html +3 -3
  181. data/docs/NgrokAPI/Models/EventTargetFirehose.html +3 -3
  182. data/docs/NgrokAPI/Models/EventTargetKinesis.html +3 -3
  183. data/docs/NgrokAPI/Models/FailoverBackend.html +1075 -0
  184. data/docs/NgrokAPI/Models/HTTPResponseBackend.html +1231 -0
  185. data/{doc/NgrokAPI/Models/EventStream.html → docs/NgrokAPI/Models/HTTPSEdge.html} +119 -119
  186. data/docs/NgrokAPI/Models/{EndpointConfiguration.html → HTTPSEdgeRoute.html} +203 -265
  187. data/docs/NgrokAPI/Models/IPPolicy.html +3 -3
  188. data/docs/NgrokAPI/Models/IPPolicyRule.html +97 -23
  189. data/docs/NgrokAPI/Models/IPRestriction.html +3 -3
  190. data/docs/NgrokAPI/Models/Listable.html +3 -3
  191. data/docs/NgrokAPI/Models/Ref.html +3 -3
  192. data/docs/NgrokAPI/Models/ReservedAddr.html +3 -3
  193. data/docs/NgrokAPI/Models/ReservedDomain.html +3 -3
  194. data/docs/NgrokAPI/Models/ReservedDomainCertJob.html +3 -3
  195. data/docs/NgrokAPI/Models/ReservedDomainCertPolicy.html +3 -3
  196. data/docs/NgrokAPI/Models/ReservedDomainCertStatus.html +3 -3
  197. data/docs/NgrokAPI/Models/SSHCertificateAuthority.html +3 -3
  198. data/docs/NgrokAPI/Models/SSHCredential.html +3 -3
  199. data/docs/NgrokAPI/Models/SSHHostCertificate.html +3 -3
  200. data/docs/NgrokAPI/Models/SSHUserCertificate.html +3 -3
  201. data/docs/NgrokAPI/Models/TCPEdge.html +1235 -0
  202. data/docs/NgrokAPI/Models/TLSCertificate.html +3 -3
  203. data/docs/NgrokAPI/Models/TLSCertificateSANs.html +3 -3
  204. data/docs/NgrokAPI/Models/TLSEdge.html +1395 -0
  205. data/docs/NgrokAPI/Models/Tunnel.html +314 -18
  206. data/docs/NgrokAPI/Models/TunnelGroupBackend.html +1149 -0
  207. data/docs/NgrokAPI/Models/TunnelSession.html +3 -3
  208. data/docs/NgrokAPI/Models/{IPWhitelistEntry.html → WeightedBackend.html} +80 -74
  209. data/docs/NgrokAPI/Models.html +5 -5
  210. data/docs/NgrokAPI/PagedIterator.html +3 -3
  211. data/docs/NgrokAPI/Services/APIKeysClient.html +99 -149
  212. data/docs/NgrokAPI/Services/AbuseReportsClient.html +19 -33
  213. data/docs/NgrokAPI/Services/{IPWhitelistClient.html → AgentIngressesClient.html} +209 -265
  214. data/docs/NgrokAPI/Services/CertificateAuthoritiesClient.html +104 -156
  215. data/docs/NgrokAPI/Services/CredentialsClient.html +108 -164
  216. data/docs/NgrokAPI/Services/EdgeRouteBackendModuleClient.html +1153 -0
  217. data/{doc/NgrokAPI/Services/EndpointCircuitBreakerModuleClient.html → docs/NgrokAPI/Services/EdgeRouteCircuitBreakerModuleClient.html} +177 -95
  218. data/docs/NgrokAPI/Services/{EndpointCompressionModuleClient.html → EdgeRouteCompressionModuleClient.html} +177 -95
  219. data/docs/NgrokAPI/Services/EdgeRouteIPRestrictionModuleClient.html +1153 -0
  220. data/docs/NgrokAPI/Services/EdgeRouteOAuthModuleClient.html +1153 -0
  221. data/docs/NgrokAPI/Services/EdgeRouteOIDCModuleClient.html +1153 -0
  222. data/docs/NgrokAPI/Services/EdgeRouteRequestHeadersModuleClient.html +1153 -0
  223. data/{doc/NgrokAPI/Services/EndpointResponseHeadersModuleClient.html → docs/NgrokAPI/Services/EdgeRouteResponseHeadersModuleClient.html} +177 -95
  224. data/docs/NgrokAPI/Services/EdgeRouteSAMLModuleClient.html +1153 -0
  225. data/docs/NgrokAPI/Services/{EndpointWebhookValidationModuleClient.html → EdgeRouteWebhookVerificationModuleClient.html} +177 -95
  226. data/docs/NgrokAPI/Services/EdgeRouteWebsocketTCPConverterModuleClient.html +1153 -0
  227. data/docs/NgrokAPI/Services/{EventStreamsClient.html → EdgesHTTPSClient.html} +248 -353
  228. data/{doc/NgrokAPI/Services/EndpointConfigurationsClient.html → docs/NgrokAPI/Services/EdgesHTTPSRoutesClient.html} +461 -761
  229. data/docs/NgrokAPI/Services/EdgesTCPClient.html +1757 -0
  230. data/docs/NgrokAPI/Services/EdgesTLSClient.html +1847 -0
  231. data/docs/NgrokAPI/Services/EndpointsClient.html +907 -0
  232. data/docs/NgrokAPI/Services/EventDestinationsClient.html +119 -187
  233. data/docs/NgrokAPI/Services/EventSourcesClient.html +95 -157
  234. data/docs/NgrokAPI/Services/EventSubscriptionsClient.html +116 -178
  235. data/docs/NgrokAPI/Services/FailoverBackendsClient.html +1644 -0
  236. data/docs/NgrokAPI/Services/HTTPResponseBackendsClient.html +1744 -0
  237. data/{doc/NgrokAPI/Services/EndpointOIDCModuleClient.html → docs/NgrokAPI/Services/HTTPSEdgeMutualTLSModuleClient.html} +101 -129
  238. data/docs/NgrokAPI/Services/{EndpointRequestHeadersModuleClient.html → HTTPSEdgeTLSTerminationModuleClient.html} +101 -129
  239. data/docs/NgrokAPI/Services/IPPoliciesClient.html +114 -184
  240. data/docs/NgrokAPI/Services/IPPolicyRulesClient.html +126 -164
  241. data/docs/NgrokAPI/Services/IPRestrictionsClient.html +117 -181
  242. data/docs/NgrokAPI/Services/ReservedAddrsClient.html +117 -473
  243. data/docs/NgrokAPI/Services/ReservedDomainsClient.html +209 -899
  244. data/docs/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +110 -166
  245. data/docs/NgrokAPI/Services/SSHCredentialsClient.html +111 -169
  246. data/docs/NgrokAPI/Services/SSHHostCertificatesClient.html +111 -171
  247. data/docs/NgrokAPI/Services/SSHUserCertificatesClient.html +111 -175
  248. data/{doc/NgrokAPI/Services/EndpointOAuthModuleClient.html → docs/NgrokAPI/Services/TCPEdgeBackendModuleClient.html} +101 -129
  249. data/docs/NgrokAPI/Services/TCPEdgeIPRestrictionModuleClient.html +1043 -0
  250. data/docs/NgrokAPI/Services/TLSCertificatesClient.html +107 -161
  251. data/docs/NgrokAPI/Services/{EndpointOAuthModuleClient.html → TLSEdgeBackendModuleClient.html} +101 -129
  252. data/docs/NgrokAPI/Services/TLSEdgeIPRestrictionModuleClient.html +1043 -0
  253. data/{doc/NgrokAPI/Services/EndpointMutualTLSModuleClient.html → docs/NgrokAPI/Services/TLSEdgeMutualTLSModuleClient.html} +83 -111
  254. data/{doc/NgrokAPI/Services/EndpointTLSTerminationModuleClient.html → docs/NgrokAPI/Services/TLSEdgeTLSTerminationModuleClient.html} +83 -111
  255. data/docs/NgrokAPI/Services/TunnelGroupBackendsClient.html +1644 -0
  256. data/docs/NgrokAPI/Services/TunnelSessionsClient.html +87 -135
  257. data/docs/NgrokAPI/Services/TunnelsClient.html +252 -26
  258. data/docs/NgrokAPI/Services/WeightedBackendsClient.html +1644 -0
  259. data/docs/NgrokAPI/Services.html +5 -5
  260. data/docs/NgrokAPI.html +4 -4
  261. data/docs/_index.html +253 -76
  262. data/docs/class_list.html +1 -1
  263. data/docs/file.README.html +3 -3
  264. data/docs/frames.html +1 -1
  265. data/docs/index.html +3 -3
  266. data/docs/method_list.html +3559 -1583
  267. data/docs/top-level-namespace.html +3 -3
  268. data/lib/ngrokapi/client.rb +52 -37
  269. data/lib/ngrokapi/http_client.rb +1 -4
  270. data/lib/ngrokapi/models/{ip_whitelist_entry.rb → agent_ingress.rb} +13 -9
  271. data/lib/ngrokapi/models/endpoint.rb +49 -0
  272. data/lib/ngrokapi/models/{endpoint_logging.rb → endpoint_backend.rb} +3 -3
  273. data/lib/ngrokapi/models/{endpoint_logging_mutate.rb → endpoint_backend_mutate.rb} +3 -3
  274. data/lib/ngrokapi/models/endpoint_tls_termination_at_edge.rb +27 -0
  275. data/lib/ngrokapi/models/endpoint_websocket_tcp_converter.rb +25 -0
  276. data/lib/ngrokapi/models/event_destination.rb +1 -2
  277. data/lib/ngrokapi/models/{event_stream.rb → failover_backend.rb} +15 -27
  278. data/lib/ngrokapi/models/http_response_backend.rb +71 -0
  279. data/lib/ngrokapi/models/https_edge.rb +80 -0
  280. data/lib/ngrokapi/models/{endpoint_configuration.rb → https_edge_route.rb} +56 -53
  281. data/lib/ngrokapi/models/ip_policy_rule.rb +3 -1
  282. data/lib/ngrokapi/models/tcp_edge.rb +78 -0
  283. data/lib/ngrokapi/models/tls_edge.rb +88 -0
  284. data/lib/ngrokapi/models/tunnel.rb +9 -1
  285. data/lib/ngrokapi/models/tunnel_group_backend.rb +67 -0
  286. data/lib/ngrokapi/models/weighted_backend.rb +65 -0
  287. data/lib/ngrokapi/services/abuse_reports_client.rb +3 -10
  288. data/lib/ngrokapi/services/agent_ingresses_client.rb +206 -0
  289. data/lib/ngrokapi/services/api_keys_client.rb +11 -36
  290. data/lib/ngrokapi/services/certificate_authorities_client.rb +11 -37
  291. data/lib/ngrokapi/services/credentials_client.rb +11 -39
  292. data/lib/ngrokapi/services/edge_route_backend_module_client.rb +120 -0
  293. data/lib/ngrokapi/services/{endpoint_circuit_breaker_module_client.rb → edge_route_circuit_breaker_module_client.rb} +37 -39
  294. data/lib/ngrokapi/services/{endpoint_compression_module_client.rb → edge_route_compression_module_client.rb} +37 -39
  295. data/lib/ngrokapi/services/edge_route_ip_restriction_module_client.rb +120 -0
  296. data/lib/ngrokapi/services/{endpoint_o_auth_module_client.rb → edge_route_o_auth_module_client.rb} +37 -39
  297. data/lib/ngrokapi/services/{endpoint_oidc_module_client.rb → edge_route_oidc_module_client.rb} +37 -39
  298. data/lib/ngrokapi/services/{endpoint_request_headers_module_client.rb → edge_route_request_headers_module_client.rb} +37 -39
  299. data/lib/ngrokapi/services/{endpoint_response_headers_module_client.rb → edge_route_response_headers_module_client.rb} +37 -39
  300. data/lib/ngrokapi/services/{endpoint_saml_module_client.rb → edge_route_saml_module_client.rb} +37 -39
  301. data/lib/ngrokapi/services/{endpoint_webhook_validation_module_client.rb → edge_route_webhook_verification_module_client.rb} +37 -39
  302. data/lib/ngrokapi/services/edge_route_websocket_tcp_converter_module_client.rb +120 -0
  303. data/lib/ngrokapi/services/edges_https_client.rb +227 -0
  304. data/lib/ngrokapi/services/edges_https_routes_client.rb +244 -0
  305. data/lib/ngrokapi/services/edges_tcp_client.rb +227 -0
  306. data/lib/ngrokapi/services/edges_tls_client.rb +239 -0
  307. data/lib/ngrokapi/services/endpoints_client.rb +114 -0
  308. data/lib/ngrokapi/services/event_destinations_client.rb +13 -49
  309. data/lib/ngrokapi/services/event_sources_client.rb +9 -40
  310. data/lib/ngrokapi/services/event_subscriptions_client.rb +14 -45
  311. data/lib/ngrokapi/services/failover_backends_client.rb +214 -0
  312. data/lib/ngrokapi/services/http_response_backends_client.rb +199 -0
  313. data/lib/ngrokapi/services/https_edge_mutual_tls_module_client.rb +108 -0
  314. data/lib/ngrokapi/services/https_edge_tls_termination_module_client.rb +108 -0
  315. data/lib/ngrokapi/services/ip_policies_client.rb +11 -39
  316. data/lib/ngrokapi/services/ip_policy_rules_client.rb +13 -40
  317. data/lib/ngrokapi/services/ip_restrictions_client.rb +12 -44
  318. data/lib/ngrokapi/services/reserved_addrs_client.rb +11 -81
  319. data/lib/ngrokapi/services/reserved_domains_client.rb +15 -144
  320. data/lib/ngrokapi/services/ssh_certificate_authorities_client.rb +11 -39
  321. data/lib/ngrokapi/services/ssh_credentials_client.rb +11 -40
  322. data/lib/ngrokapi/services/ssh_host_certificates_client.rb +11 -41
  323. data/lib/ngrokapi/services/ssh_user_certificates_client.rb +11 -43
  324. data/lib/ngrokapi/services/{endpoint_logging_module_client.rb → tcp_edge_backend_module_client.rb} +31 -45
  325. data/lib/ngrokapi/services/{endpoint_ip_policy_module_client.rb → tcp_edge_ip_restriction_module_client.rb} +21 -35
  326. data/lib/ngrokapi/services/tls_certificates_client.rb +11 -38
  327. data/lib/ngrokapi/services/tls_edge_backend_module_client.rb +108 -0
  328. data/lib/ngrokapi/services/tls_edge_ip_restriction_module_client.rb +108 -0
  329. data/lib/ngrokapi/services/{endpoint_mutual_tls_module_client.rb → tls_edge_mutual_tls_module_client.rb} +21 -35
  330. data/lib/ngrokapi/services/{endpoint_tls_termination_module_client.rb → tls_edge_tls_termination_module_client.rb} +21 -35
  331. data/lib/ngrokapi/services/{ip_whitelist_client.rb → tunnel_group_backends_client.rb} +70 -93
  332. data/lib/ngrokapi/services/tunnel_sessions_client.rb +12 -36
  333. data/lib/ngrokapi/services/tunnels_client.rb +39 -10
  334. data/lib/ngrokapi/services/weighted_backends_client.rb +214 -0
  335. data/lib/ngrokapi/version.rb +1 -1
  336. data/lib/ngrokapi.rb +1 -1
  337. data/ngrok-api.gemspec +1 -1
  338. data/spec/ngrokapi/client_spec.rb +50 -29
  339. data/spec/ngrokapi/models/agent_ingress_spec.rb +42 -0
  340. data/spec/ngrokapi/models/endpoint_backend_mutate_spec.rb +21 -0
  341. data/spec/ngrokapi/models/endpoint_backend_spec.rb +21 -0
  342. data/spec/ngrokapi/models/endpoint_spec.rb +21 -0
  343. data/spec/ngrokapi/models/endpoint_tls_termination_at_edge_spec.rb +21 -0
  344. data/spec/ngrokapi/models/endpoint_websocket_tcp_converter_spec.rb +21 -0
  345. data/spec/ngrokapi/models/failover_backend_spec.rb +45 -0
  346. data/spec/ngrokapi/models/http_response_backend_spec.rb +51 -0
  347. data/spec/ngrokapi/models/https_edge_route_spec.rb +81 -0
  348. data/spec/ngrokapi/models/https_edge_spec.rb +51 -0
  349. data/spec/ngrokapi/models/tcp_edge_spec.rb +51 -0
  350. data/spec/ngrokapi/models/tls_edge_spec.rb +57 -0
  351. data/spec/ngrokapi/models/tunnel_group_backend_spec.rb +45 -0
  352. data/spec/ngrokapi/models/weighted_backend_spec.rb +45 -0
  353. data/spec/ngrokapi/services/{ip_whitelist_client_spec.rb → agent_ingresses_client_spec.rb} +49 -49
  354. data/spec/ngrokapi/services/edge_route_backend_module_client_spec.rb +139 -0
  355. data/spec/ngrokapi/services/{endpoint_circuit_breaker_module_client_spec.rb → edge_route_circuit_breaker_module_client_spec.rb} +31 -17
  356. data/spec/ngrokapi/services/{endpoint_compression_module_client_spec.rb → edge_route_compression_module_client_spec.rb} +31 -17
  357. data/spec/ngrokapi/services/edge_route_ip_restriction_module_client_spec.rb +139 -0
  358. data/spec/ngrokapi/services/{endpoint_o_auth_module_client_spec.rb → edge_route_o_auth_module_client_spec.rb} +31 -17
  359. data/spec/ngrokapi/services/{endpoint_oidc_module_client_spec.rb → edge_route_oidc_module_client_spec.rb} +31 -17
  360. data/spec/ngrokapi/services/{endpoint_request_headers_module_client_spec.rb → edge_route_request_headers_module_client_spec.rb} +31 -17
  361. data/spec/ngrokapi/services/{endpoint_response_headers_module_client_spec.rb → edge_route_response_headers_module_client_spec.rb} +31 -17
  362. data/spec/ngrokapi/services/{endpoint_saml_module_client_spec.rb → edge_route_saml_module_client_spec.rb} +31 -17
  363. data/spec/ngrokapi/services/{endpoint_webhook_validation_module_client_spec.rb → edge_route_webhook_verification_module_client_spec.rb} +31 -17
  364. data/spec/ngrokapi/services/edge_route_websocket_tcp_converter_module_client_spec.rb +139 -0
  365. data/spec/ngrokapi/services/{event_streams_client_spec.rb → edges_https_client_spec.rb} +106 -108
  366. data/spec/ngrokapi/services/edges_https_routes_client_spec.rb +241 -0
  367. data/spec/ngrokapi/services/edges_tcp_client_spec.rb +175 -0
  368. data/spec/ngrokapi/services/edges_tls_client_spec.rb +187 -0
  369. data/spec/ngrokapi/services/endpoints_client_spec.rb +57 -0
  370. data/spec/ngrokapi/services/failover_backends_client_spec.rb +163 -0
  371. data/spec/ngrokapi/services/http_response_backends_client_spec.rb +175 -0
  372. data/spec/ngrokapi/services/{endpoint_mutual_tls_module_client_spec.rb → https_edge_mutual_tls_module_client_spec.rb} +17 -17
  373. data/spec/ngrokapi/services/{endpoint_tls_termination_module_client_spec.rb → https_edge_tls_termination_module_client_spec.rb} +17 -17
  374. data/spec/ngrokapi/services/ip_policies_client_spec.rb +0 -1
  375. data/spec/ngrokapi/services/ip_policy_rules_client_spec.rb +3 -1
  376. data/spec/ngrokapi/services/reserved_addrs_client_spec.rb +0 -44
  377. data/spec/ngrokapi/services/reserved_domains_client_spec.rb +0 -88
  378. data/spec/ngrokapi/services/{endpoint_logging_module_client_spec.rb → tcp_edge_backend_module_client_spec.rb} +40 -40
  379. data/spec/ngrokapi/services/{endpoint_ip_policy_module_client_spec.rb → tcp_edge_ip_restriction_module_client_spec.rb} +17 -17
  380. data/spec/ngrokapi/services/tls_edge_backend_module_client_spec.rb +125 -0
  381. data/spec/ngrokapi/services/tls_edge_ip_restriction_module_client_spec.rb +125 -0
  382. data/spec/ngrokapi/services/tls_edge_mutual_tls_module_client_spec.rb +125 -0
  383. data/spec/ngrokapi/services/tls_edge_tls_termination_module_client_spec.rb +125 -0
  384. data/spec/ngrokapi/services/tunnel_group_backends_client_spec.rb +163 -0
  385. data/spec/ngrokapi/services/tunnels_client_spec.rb +36 -0
  386. data/spec/ngrokapi/services/weighted_backends_client_spec.rb +163 -0
  387. data/spec/spec_helper.rb +1389 -1045
  388. metadata +176 -83
  389. data/lib/ngrokapi/services/endpoint_configurations_client.rb +0 -357
  390. data/lib/ngrokapi/services/event_streams_client.rb +0 -259
  391. data/spec/ngrokapi/models/endpoint_configuration_spec.rb +0 -78
  392. data/spec/ngrokapi/models/endpoint_logging_mutate_spec.rb +0 -21
  393. data/spec/ngrokapi/models/endpoint_logging_spec.rb +0 -21
  394. data/spec/ngrokapi/models/event_stream_spec.rb +0 -51
  395. data/spec/ngrokapi/models/ip_whitelist_entry_spec.rb +0 -42
  396. data/spec/ngrokapi/services/endpoint_configurations_client_spec.rb +0 -237
@@ -0,0 +1,244 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NgrokAPI
4
+ module Services
5
+ ##
6
+ # https://ngrok.com/docs/api#api-edges-https-routes
7
+ class EdgesHTTPSRoutesClient
8
+ # The API path for the requests
9
+ PATH = '/edges/https/%{edge_id}/routes'
10
+
11
+ attr_reader :client
12
+
13
+ def initialize(client:)
14
+ @client = client
15
+ end
16
+
17
+ ##
18
+ # Create an HTTPS Edge Route
19
+ #
20
+ # @param [string] edge_id unique identifier of this edge
21
+ # @param [string] match_type Type of match to use for this route. Valid values are "exact_path" and "path_prefix".
22
+ # @param [string] match Route selector: "/blog" or "example.com" or "example.com/blog"
23
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
24
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
25
+ # @param [EndpointBackendMutate] backend backend module configuration or ``null``
26
+ # @param [EndpointIPPolicyMutate] ip_restriction ip restriction module configuration or ``null``
27
+ # @param [EndpointCircuitBreaker] circuit_breaker circuit breaker module configuration or ``null``
28
+ # @param [EndpointCompression] compression compression module configuration or ``null``
29
+ # @param [EndpointRequestHeaders] request_headers request headers module configuration or ``null``
30
+ # @param [EndpointResponseHeaders] response_headers response headers module configuration or ``null``
31
+ # @param [EndpointWebhookValidation] webhook_verification webhook verification module configuration or ``null``
32
+ # @param [EndpointOAuth] oauth oauth module configuration or ``null``
33
+ # @param [EndpointSAMLMutate] saml saml module configuration or ``null``
34
+ # @param [EndpointOIDC] oidc oidc module configuration or ``null``
35
+ # @param [EndpointWebsocketTCPConverter] websocket_tcp_converter websocket to tcp adapter configuration or ``null``
36
+ # @return [NgrokAPI::Models::HTTPSEdgeRoute] result from the API request
37
+ #
38
+ # https://ngrok.com/docs/api#api-edges-https-routes-create
39
+ def create(edge_id: "", match_type:, match:, description: "", metadata: "", backend: nil, ip_restriction: nil, circuit_breaker: nil, compression: nil, request_headers: nil, response_headers: nil, webhook_verification: nil, oauth: nil, saml: nil, oidc: nil, websocket_tcp_converter: nil)
40
+ path = '/edges/https/%{edge_id}/routes'
41
+ replacements = {
42
+ edge_id: edge_id,
43
+ }
44
+ data = {}
45
+ data[:match_type] = match_type if match_type
46
+ data[:match] = match if match
47
+ data[:description] = description if description
48
+ data[:metadata] = metadata if metadata
49
+ data[:backend] = backend if backend
50
+ data[:ip_restriction] = ip_restriction if ip_restriction
51
+ data[:circuit_breaker] = circuit_breaker if circuit_breaker
52
+ data[:compression] = compression if compression
53
+ data[:request_headers] = request_headers if request_headers
54
+ data[:response_headers] = response_headers if response_headers
55
+ data[:webhook_verification] = webhook_verification if webhook_verification
56
+ data[:oauth] = oauth if oauth
57
+ data[:saml] = saml if saml
58
+ data[:oidc] = oidc if oidc
59
+ data[:websocket_tcp_converter] = websocket_tcp_converter if websocket_tcp_converter
60
+ result = @client.post(path % replacements, data: data)
61
+ NgrokAPI::Models::HTTPSEdgeRoute.new(client: self, result: result)
62
+ end
63
+
64
+ ##
65
+ # Get an HTTPS Edge Route by ID
66
+ #
67
+ # @param [string] edge_id unique identifier of this edge
68
+ # @param [string] id unique identifier of this edge route
69
+ # @return [NgrokAPI::Models::HTTPSEdgeRoute] result from the API request
70
+ #
71
+ # https://ngrok.com/docs/api#api-edges-https-routes-get
72
+ def get(edge_id: "", id: "")
73
+ path = '/edges/https/%{edge_id}/routes/%{id}'
74
+ replacements = {
75
+ edge_id: edge_id,
76
+ id: id,
77
+ }
78
+ data = {}
79
+ result = @client.get(path % replacements, data: data)
80
+ NgrokAPI::Models::HTTPSEdgeRoute.new(client: self, result: result)
81
+ end
82
+
83
+ ##
84
+ # Get an HTTPS Edge Route by ID
85
+ # Throws an exception if API error.
86
+ #
87
+ # @param [string] edge_id unique identifier of this edge
88
+ # @param [string] id unique identifier of this edge route
89
+ # @return [NgrokAPI::Models::HTTPSEdgeRoute] result from the API request
90
+ #
91
+ # https://ngrok.com/docs/api#api-edges-https-routes-get
92
+ def get!(edge_id: "", id: "")
93
+ path = '/edges/https/%{edge_id}/routes/%{id}'
94
+ replacements = {
95
+ edge_id: edge_id,
96
+ id: id,
97
+ }
98
+ data = {}
99
+ result = @client.get(path % replacements, data: data, danger: true)
100
+ NgrokAPI::Models::HTTPSEdgeRoute.new(client: self, result: result)
101
+ end
102
+
103
+ ##
104
+ # Updates an HTTPS Edge Route by ID. If a module is not specified in the update,
105
+ # it will not be modified. However, each module configuration that is specified
106
+ # will completely replace the existing value. There is no way to delete an
107
+ # existing module via this API, instead use the delete module API.
108
+ #
109
+ # @param [string] edge_id unique identifier of this edge
110
+ # @param [string] id unique identifier of this edge route
111
+ # @param [string] match_type Type of match to use for this route. Valid values are "exact_path" and "path_prefix".
112
+ # @param [string] match Route selector: "/blog" or "example.com" or "example.com/blog"
113
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
114
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
115
+ # @param [EndpointBackendMutate] backend backend module configuration or ``null``
116
+ # @param [EndpointIPPolicyMutate] ip_restriction ip restriction module configuration or ``null``
117
+ # @param [EndpointCircuitBreaker] circuit_breaker circuit breaker module configuration or ``null``
118
+ # @param [EndpointCompression] compression compression module configuration or ``null``
119
+ # @param [EndpointRequestHeaders] request_headers request headers module configuration or ``null``
120
+ # @param [EndpointResponseHeaders] response_headers response headers module configuration or ``null``
121
+ # @param [EndpointWebhookValidation] webhook_verification webhook verification module configuration or ``null``
122
+ # @param [EndpointOAuth] oauth oauth module configuration or ``null``
123
+ # @param [EndpointSAMLMutate] saml saml module configuration or ``null``
124
+ # @param [EndpointOIDC] oidc oidc module configuration or ``null``
125
+ # @param [EndpointWebsocketTCPConverter] websocket_tcp_converter websocket to tcp adapter configuration or ``null``
126
+ # @return [NgrokAPI::Models::HTTPSEdgeRoute] result from the API request
127
+ #
128
+ # https://ngrok.com/docs/api#api-edges-https-routes-update
129
+ def update(edge_id: "", id: "", match_type: "", match: "", description: "", metadata: "", backend: nil, ip_restriction: nil, circuit_breaker: nil, compression: nil, request_headers: nil, response_headers: nil, webhook_verification: nil, oauth: nil, saml: nil, oidc: nil, websocket_tcp_converter: nil)
130
+ path = '/edges/https/%{edge_id}/routes/%{id}'
131
+ replacements = {
132
+ edge_id: edge_id,
133
+ id: id,
134
+ }
135
+ data = {}
136
+ data[:match_type] = match_type if match_type
137
+ data[:match] = match if match
138
+ data[:description] = description if description
139
+ data[:metadata] = metadata if metadata
140
+ data[:backend] = backend if backend
141
+ data[:ip_restriction] = ip_restriction if ip_restriction
142
+ data[:circuit_breaker] = circuit_breaker if circuit_breaker
143
+ data[:compression] = compression if compression
144
+ data[:request_headers] = request_headers if request_headers
145
+ data[:response_headers] = response_headers if response_headers
146
+ data[:webhook_verification] = webhook_verification if webhook_verification
147
+ data[:oauth] = oauth if oauth
148
+ data[:saml] = saml if saml
149
+ data[:oidc] = oidc if oidc
150
+ data[:websocket_tcp_converter] = websocket_tcp_converter if websocket_tcp_converter
151
+ result = @client.patch(path % replacements, data: data)
152
+ NgrokAPI::Models::HTTPSEdgeRoute.new(client: self, result: result)
153
+ end
154
+
155
+ ##
156
+ # Updates an HTTPS Edge Route by ID. If a module is not specified in the update,
157
+ # it will not be modified. However, each module configuration that is specified
158
+ # will completely replace the existing value. There is no way to delete an
159
+ # existing module via this API, instead use the delete module API.
160
+ # Throws an exception if API error.
161
+ #
162
+ # @param [string] edge_id unique identifier of this edge
163
+ # @param [string] id unique identifier of this edge route
164
+ # @param [string] match_type Type of match to use for this route. Valid values are "exact_path" and "path_prefix".
165
+ # @param [string] match Route selector: "/blog" or "example.com" or "example.com/blog"
166
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
167
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
168
+ # @param [EndpointBackendMutate] backend backend module configuration or ``null``
169
+ # @param [EndpointIPPolicyMutate] ip_restriction ip restriction module configuration or ``null``
170
+ # @param [EndpointCircuitBreaker] circuit_breaker circuit breaker module configuration or ``null``
171
+ # @param [EndpointCompression] compression compression module configuration or ``null``
172
+ # @param [EndpointRequestHeaders] request_headers request headers module configuration or ``null``
173
+ # @param [EndpointResponseHeaders] response_headers response headers module configuration or ``null``
174
+ # @param [EndpointWebhookValidation] webhook_verification webhook verification module configuration or ``null``
175
+ # @param [EndpointOAuth] oauth oauth module configuration or ``null``
176
+ # @param [EndpointSAMLMutate] saml saml module configuration or ``null``
177
+ # @param [EndpointOIDC] oidc oidc module configuration or ``null``
178
+ # @param [EndpointWebsocketTCPConverter] websocket_tcp_converter websocket to tcp adapter configuration or ``null``
179
+ # @return [NgrokAPI::Models::HTTPSEdgeRoute] result from the API request
180
+ #
181
+ # https://ngrok.com/docs/api#api-edges-https-routes-update
182
+ def update!(edge_id: "", id: "", match_type: "", match: "", description: "", metadata: "", backend: nil, ip_restriction: nil, circuit_breaker: nil, compression: nil, request_headers: nil, response_headers: nil, webhook_verification: nil, oauth: nil, saml: nil, oidc: nil, websocket_tcp_converter: nil)
183
+ path = '/edges/https/%{edge_id}/routes/%{id}'
184
+ replacements = {
185
+ edge_id: edge_id,
186
+ id: id,
187
+ }
188
+ data = {}
189
+ data[:match_type] = match_type if match_type
190
+ data[:match] = match if match
191
+ data[:description] = description if description
192
+ data[:metadata] = metadata if metadata
193
+ data[:backend] = backend if backend
194
+ data[:ip_restriction] = ip_restriction if ip_restriction
195
+ data[:circuit_breaker] = circuit_breaker if circuit_breaker
196
+ data[:compression] = compression if compression
197
+ data[:request_headers] = request_headers if request_headers
198
+ data[:response_headers] = response_headers if response_headers
199
+ data[:webhook_verification] = webhook_verification if webhook_verification
200
+ data[:oauth] = oauth if oauth
201
+ data[:saml] = saml if saml
202
+ data[:oidc] = oidc if oidc
203
+ data[:websocket_tcp_converter] = websocket_tcp_converter if websocket_tcp_converter
204
+ result = @client.patch(path % replacements, data: data, danger: true)
205
+ NgrokAPI::Models::HTTPSEdgeRoute.new(client: self, result: result)
206
+ end
207
+
208
+ ##
209
+ # Delete an HTTPS Edge Route by ID
210
+ #
211
+ # @param [string] edge_id unique identifier of this edge
212
+ # @param [string] id unique identifier of this edge route
213
+ # @return [NgrokAPI::Models::Empty] result from the API request
214
+ #
215
+ # https://ngrok.com/docs/api#api-edges-https-routes-delete
216
+ def delete(edge_id: "", id: "")
217
+ path = '/edges/https/%{edge_id}/routes/%{id}'
218
+ replacements = {
219
+ edge_id: edge_id,
220
+ id: id,
221
+ }
222
+ @client.delete(path % replacements)
223
+ end
224
+
225
+ ##
226
+ # Delete an HTTPS Edge Route by ID
227
+ # Throws an exception if API error.
228
+ #
229
+ # @param [string] edge_id unique identifier of this edge
230
+ # @param [string] id unique identifier of this edge route
231
+ # @return [NgrokAPI::Models::Empty] result from the API request
232
+ #
233
+ # https://ngrok.com/docs/api#api-edges-https-routes-delete
234
+ def delete!(edge_id: "", id: "")
235
+ path = '/edges/https/%{edge_id}/routes/%{id}'
236
+ replacements = {
237
+ edge_id: edge_id,
238
+ id: id,
239
+ }
240
+ @client.delete(path % replacements, danger: true)
241
+ end
242
+ end
243
+ end
244
+ end
@@ -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