ngrok-api 0.16.0 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (525) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +28 -1
  3. data/doc/NgrokAPI/Client.html +270 -180
  4. data/doc/NgrokAPI/Error.html +2 -2
  5. data/doc/NgrokAPI/Errors/NotFoundError.html +2 -2
  6. data/doc/NgrokAPI/Errors.html +2 -2
  7. data/doc/NgrokAPI/HttpClient.html +147 -4
  8. data/doc/NgrokAPI/Models/APIKey.html +120 -68
  9. data/doc/NgrokAPI/Models/AWSAuth.html +83 -31
  10. data/doc/NgrokAPI/Models/AWSCredentials.html +90 -38
  11. data/doc/NgrokAPI/Models/AWSRole.html +75 -23
  12. data/doc/NgrokAPI/Models/AbuseReport.html +109 -57
  13. data/doc/NgrokAPI/Models/AbuseReportHostname.html +83 -31
  14. data/doc/NgrokAPI/Models/AgentIngress.html +142 -90
  15. data/doc/NgrokAPI/Models/CertificateAuthority.html +149 -97
  16. data/doc/NgrokAPI/Models/Credential.html +121 -69
  17. data/doc/NgrokAPI/Models/Endpoint.html +1483 -0
  18. data/doc/NgrokAPI/Models/{EndpointLoggingMutate.html → EndpointBackend.html} +105 -53
  19. data/doc/NgrokAPI/Models/EndpointBackendMutate.html +669 -0
  20. data/doc/NgrokAPI/Models/EndpointCircuitBreaker.html +101 -49
  21. data/doc/NgrokAPI/Models/EndpointCompression.html +82 -30
  22. data/doc/NgrokAPI/Models/EndpointIPPolicy.html +90 -38
  23. data/doc/NgrokAPI/Models/EndpointIPPolicyMutate.html +90 -38
  24. data/doc/NgrokAPI/Models/EndpointMutualTLS.html +90 -38
  25. data/doc/NgrokAPI/Models/EndpointMutualTLSMutate.html +90 -38
  26. data/doc/NgrokAPI/Models/EndpointOAuth.html +124 -72
  27. data/doc/NgrokAPI/Models/EndpointOAuthFacebook.html +107 -55
  28. data/doc/NgrokAPI/Models/EndpointOAuthGitHub.html +116 -64
  29. data/doc/NgrokAPI/Models/EndpointOAuthGoogle.html +107 -55
  30. data/doc/NgrokAPI/Models/EndpointOAuthMicrosoft.html +107 -55
  31. data/doc/NgrokAPI/Models/EndpointOAuthProvider.html +106 -54
  32. data/doc/NgrokAPI/Models/EndpointOIDC.html +133 -81
  33. data/doc/NgrokAPI/Models/EndpointRequestHeaders.html +91 -39
  34. data/doc/NgrokAPI/Models/EndpointResponseHeaders.html +91 -39
  35. data/doc/NgrokAPI/Models/EndpointSAML.html +148 -96
  36. data/doc/NgrokAPI/Models/EndpointSAMLMutate.html +133 -81
  37. data/doc/NgrokAPI/Models/EndpointTLSTermination.html +91 -39
  38. data/doc/NgrokAPI/Models/EndpointTLSTerminationAtEdge.html +669 -0
  39. data/doc/NgrokAPI/Models/EndpointWebhookValidation.html +91 -39
  40. data/{docs/NgrokAPI/Models/EndpointLogging.html → doc/NgrokAPI/Models/EndpointWebsocketTCPConverter.html} +95 -117
  41. data/doc/NgrokAPI/Models/EventDestination.html +122 -70
  42. data/doc/NgrokAPI/Models/EventSource.html +92 -40
  43. data/doc/NgrokAPI/Models/EventSourceList.html +76 -24
  44. data/doc/NgrokAPI/Models/EventSourceReplace.html +91 -39
  45. data/doc/NgrokAPI/Models/EventSubscription.html +122 -70
  46. data/doc/NgrokAPI/Models/EventTarget.html +106 -54
  47. data/doc/NgrokAPI/Models/EventTargetCloudwatchLogs.html +90 -38
  48. data/doc/NgrokAPI/Models/EventTargetFirehose.html +90 -38
  49. data/doc/NgrokAPI/Models/EventTargetKinesis.html +83 -31
  50. data/doc/NgrokAPI/Models/FailoverBackend.html +1127 -0
  51. data/{docs/NgrokAPI/Models/EventStream.html → doc/NgrokAPI/Models/HTTPResponseBackend.html} +170 -196
  52. data/doc/NgrokAPI/Models/HTTPSEdge.html +1361 -0
  53. data/doc/NgrokAPI/Models/{EndpointConfiguration.html → HTTPSEdgeRoute.html} +278 -288
  54. data/doc/NgrokAPI/Models/IPPolicy.html +120 -68
  55. data/doc/NgrokAPI/Models/IPPolicyRule.html +222 -96
  56. data/doc/NgrokAPI/Models/IPRestriction.html +130 -78
  57. data/doc/NgrokAPI/Models/Listable.html +61 -61
  58. data/doc/NgrokAPI/Models/Ref.html +83 -31
  59. data/doc/NgrokAPI/Models/ReservedAddr.html +130 -78
  60. data/doc/NgrokAPI/Models/ReservedDomain.html +151 -99
  61. data/doc/NgrokAPI/Models/ReservedDomainCertJob.html +92 -40
  62. data/doc/NgrokAPI/Models/ReservedDomainCertPolicy.html +90 -38
  63. data/doc/NgrokAPI/Models/ReservedDomainCertStatus.html +90 -38
  64. data/doc/NgrokAPI/Models/SSHCertificateAuthority.html +135 -83
  65. data/doc/NgrokAPI/Models/SSHCredential.html +128 -76
  66. data/doc/NgrokAPI/Models/SSHHostCertificate.html +148 -96
  67. data/doc/NgrokAPI/Models/SSHUserCertificate.html +154 -102
  68. data/doc/NgrokAPI/Models/TCPEdge.html +1287 -0
  69. data/doc/NgrokAPI/Models/TLSCertificate.html +165 -113
  70. data/doc/NgrokAPI/Models/TLSCertificateSANs.html +90 -38
  71. data/doc/NgrokAPI/Models/TLSEdge.html +1447 -0
  72. data/doc/NgrokAPI/Models/Tunnel.html +413 -65
  73. data/doc/NgrokAPI/Models/TunnelGroupBackend.html +1201 -0
  74. data/doc/NgrokAPI/Models/TunnelSession.html +126 -74
  75. data/doc/NgrokAPI/Models/WeightedBackend.html +1127 -0
  76. data/doc/NgrokAPI/Models.html +4 -4
  77. data/doc/NgrokAPI/PagedIterator.html +3 -3
  78. data/doc/NgrokAPI/Services/APIKeysClient.html +244 -109
  79. data/doc/NgrokAPI/Services/AbuseReportsClient.html +162 -25
  80. data/doc/NgrokAPI/Services/AgentIngressesClient.html +262 -109
  81. data/doc/NgrokAPI/Services/CertificateAuthoritiesClient.html +262 -109
  82. data/doc/NgrokAPI/Services/CredentialsClient.html +266 -111
  83. data/doc/NgrokAPI/Services/EdgeRouteBackendModuleClient.html +1149 -0
  84. data/doc/NgrokAPI/Services/{EndpointCircuitBreakerModuleClient.html → EdgeRouteCircuitBreakerModuleClient.html} +205 -99
  85. data/{docs/NgrokAPI/Services/EndpointCompressionModuleClient.html → doc/NgrokAPI/Services/EdgeRouteCompressionModuleClient.html} +205 -99
  86. data/doc/NgrokAPI/Services/EdgeRouteIPRestrictionModuleClient.html +1149 -0
  87. data/doc/NgrokAPI/Services/{EndpointOAuthModuleClient.html → EdgeRouteOAuthModuleClient.html} +205 -99
  88. data/doc/NgrokAPI/Services/EdgeRouteOIDCModuleClient.html +1149 -0
  89. data/doc/NgrokAPI/Services/EdgeRouteRequestHeadersModuleClient.html +1149 -0
  90. data/doc/NgrokAPI/Services/{EndpointResponseHeadersModuleClient.html → EdgeRouteResponseHeadersModuleClient.html} +205 -99
  91. data/{docs/NgrokAPI/Services/EndpointSAMLModuleClient.html → doc/NgrokAPI/Services/EdgeRouteSAMLModuleClient.html} +205 -99
  92. data/{docs/NgrokAPI/Services/EndpointWebhookValidationModuleClient.html → doc/NgrokAPI/Services/EdgeRouteWebhookVerificationModuleClient.html} +205 -99
  93. data/doc/NgrokAPI/Services/EdgeRouteWebsocketTCPConverterModuleClient.html +1149 -0
  94. data/doc/NgrokAPI/Services/EdgesHTTPSClient.html +1947 -0
  95. data/doc/NgrokAPI/Services/EdgesHTTPSRoutesClient.html +2585 -0
  96. data/doc/NgrokAPI/Services/EdgesTCPClient.html +1947 -0
  97. data/{docs/NgrokAPI/Services/EndpointConfigurationsClient.html → doc/NgrokAPI/Services/EdgesTLSClient.html} +374 -641
  98. data/doc/NgrokAPI/Services/EndpointsClient.html +903 -0
  99. data/doc/NgrokAPI/Services/EventDestinationsClient.html +290 -115
  100. data/doc/NgrokAPI/Services/EventSourcesClient.html +227 -88
  101. data/doc/NgrokAPI/Services/EventSubscriptionsClient.html +291 -116
  102. data/doc/NgrokAPI/Services/{EventStreamsClient.html → FailoverBackendsClient.html} +342 -335
  103. data/doc/NgrokAPI/Services/HTTPResponseBackendsClient.html +1937 -0
  104. data/doc/NgrokAPI/Services/HTTPSEdgeMutualTLSModuleClient.html +1039 -0
  105. data/{docs/NgrokAPI/Services/EndpointRequestHeadersModuleClient.html → doc/NgrokAPI/Services/HTTPSEdgeTLSTerminationModuleClient.html} +76 -80
  106. data/doc/NgrokAPI/Services/IPPoliciesClient.html +245 -128
  107. data/doc/NgrokAPI/Services/IPPolicyRulesClient.html +328 -117
  108. data/doc/NgrokAPI/Services/IPRestrictionsClient.html +305 -114
  109. data/doc/NgrokAPI/Services/ReservedAddrsClient.html +160 -295
  110. data/doc/NgrokAPI/Services/ReservedDomainsClient.html +257 -624
  111. data/doc/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +304 -109
  112. data/doc/NgrokAPI/Services/SSHCredentialsClient.html +284 -111
  113. data/doc/NgrokAPI/Services/SSHHostCertificatesClient.html +340 -109
  114. data/doc/NgrokAPI/Services/SSHUserCertificatesClient.html +381 -110
  115. data/{docs/NgrokAPI/Services/EndpointLoggingModuleClient.html → doc/NgrokAPI/Services/TCPEdgeBackendModuleClient.html} +76 -80
  116. data/doc/NgrokAPI/Services/{EndpointIPPolicyModuleClient.html → TCPEdgeIPRestrictionModuleClient.html} +62 -66
  117. data/doc/NgrokAPI/Services/TLSCertificatesClient.html +280 -109
  118. data/doc/NgrokAPI/Services/{EndpointLoggingModuleClient.html → TLSEdgeBackendModuleClient.html} +76 -80
  119. data/{docs/NgrokAPI/Services/EndpointIPPolicyModuleClient.html → doc/NgrokAPI/Services/TLSEdgeIPRestrictionModuleClient.html} +62 -66
  120. data/doc/NgrokAPI/Services/{EndpointMutualTLSModuleClient.html → TLSEdgeMutualTLSModuleClient.html} +62 -66
  121. data/doc/NgrokAPI/Services/{EndpointTLSTerminationModuleClient.html → TLSEdgeTLSTerminationModuleClient.html} +62 -66
  122. data/doc/NgrokAPI/Services/TunnelGroupBackendsClient.html +1799 -0
  123. data/doc/NgrokAPI/Services/TunnelSessionsClient.html +44 -48
  124. data/doc/NgrokAPI/Services/TunnelsClient.html +249 -15
  125. data/doc/NgrokAPI/Services/WeightedBackendsClient.html +1799 -0
  126. data/doc/NgrokAPI/Services.html +4 -4
  127. data/doc/NgrokAPI.html +3 -3
  128. data/doc/_index.html +237 -60
  129. data/doc/class_list.html +1 -1
  130. data/doc/file.README.html +55 -55
  131. data/doc/index.html +55 -55
  132. data/doc/method_list.html +4555 -1843
  133. data/doc/top-level-namespace.html +2 -2
  134. data/docs/NgrokAPI/Client.html +270 -180
  135. data/docs/NgrokAPI/Error.html +2 -2
  136. data/docs/NgrokAPI/Errors/NotFoundError.html +2 -2
  137. data/docs/NgrokAPI/Errors.html +2 -2
  138. data/docs/NgrokAPI/HttpClient.html +147 -4
  139. data/docs/NgrokAPI/Models/APIKey.html +120 -68
  140. data/docs/NgrokAPI/Models/AWSAuth.html +83 -31
  141. data/docs/NgrokAPI/Models/AWSCredentials.html +90 -38
  142. data/docs/NgrokAPI/Models/AWSRole.html +75 -23
  143. data/docs/NgrokAPI/Models/AbuseReport.html +109 -57
  144. data/docs/NgrokAPI/Models/AbuseReportHostname.html +83 -31
  145. data/docs/NgrokAPI/Models/AgentIngress.html +142 -90
  146. data/docs/NgrokAPI/Models/CertificateAuthority.html +149 -97
  147. data/docs/NgrokAPI/Models/Credential.html +121 -69
  148. data/docs/NgrokAPI/Models/Endpoint.html +1483 -0
  149. data/docs/NgrokAPI/Models/{EndpointLoggingMutate.html → EndpointBackend.html} +105 -53
  150. data/docs/NgrokAPI/Models/EndpointBackendMutate.html +669 -0
  151. data/docs/NgrokAPI/Models/EndpointCircuitBreaker.html +101 -49
  152. data/docs/NgrokAPI/Models/EndpointCompression.html +82 -30
  153. data/docs/NgrokAPI/Models/EndpointIPPolicy.html +90 -38
  154. data/docs/NgrokAPI/Models/EndpointIPPolicyMutate.html +90 -38
  155. data/docs/NgrokAPI/Models/EndpointMutualTLS.html +90 -38
  156. data/docs/NgrokAPI/Models/EndpointMutualTLSMutate.html +90 -38
  157. data/docs/NgrokAPI/Models/EndpointOAuth.html +124 -72
  158. data/docs/NgrokAPI/Models/EndpointOAuthFacebook.html +107 -55
  159. data/docs/NgrokAPI/Models/EndpointOAuthGitHub.html +116 -64
  160. data/docs/NgrokAPI/Models/EndpointOAuthGoogle.html +107 -55
  161. data/docs/NgrokAPI/Models/EndpointOAuthMicrosoft.html +107 -55
  162. data/docs/NgrokAPI/Models/EndpointOAuthProvider.html +106 -54
  163. data/docs/NgrokAPI/Models/EndpointOIDC.html +133 -81
  164. data/docs/NgrokAPI/Models/EndpointRequestHeaders.html +91 -39
  165. data/docs/NgrokAPI/Models/EndpointResponseHeaders.html +91 -39
  166. data/docs/NgrokAPI/Models/EndpointSAML.html +148 -96
  167. data/docs/NgrokAPI/Models/EndpointSAMLMutate.html +133 -81
  168. data/docs/NgrokAPI/Models/EndpointTLSTermination.html +91 -39
  169. data/docs/NgrokAPI/Models/EndpointTLSTerminationAtEdge.html +669 -0
  170. data/docs/NgrokAPI/Models/EndpointWebhookValidation.html +91 -39
  171. data/{doc/NgrokAPI/Models/EndpointLogging.html → docs/NgrokAPI/Models/EndpointWebsocketTCPConverter.html} +95 -117
  172. data/docs/NgrokAPI/Models/EventDestination.html +122 -70
  173. data/docs/NgrokAPI/Models/EventSource.html +92 -40
  174. data/docs/NgrokAPI/Models/EventSourceList.html +76 -24
  175. data/docs/NgrokAPI/Models/EventSourceReplace.html +91 -39
  176. data/docs/NgrokAPI/Models/EventSubscription.html +122 -70
  177. data/docs/NgrokAPI/Models/EventTarget.html +106 -54
  178. data/docs/NgrokAPI/Models/EventTargetCloudwatchLogs.html +90 -38
  179. data/docs/NgrokAPI/Models/EventTargetFirehose.html +90 -38
  180. data/docs/NgrokAPI/Models/EventTargetKinesis.html +83 -31
  181. data/docs/NgrokAPI/Models/FailoverBackend.html +1127 -0
  182. data/{doc/NgrokAPI/Models/EventStream.html → docs/NgrokAPI/Models/HTTPResponseBackend.html} +170 -196
  183. data/docs/NgrokAPI/Models/HTTPSEdge.html +1361 -0
  184. data/docs/NgrokAPI/Models/{EndpointConfiguration.html → HTTPSEdgeRoute.html} +278 -288
  185. data/docs/NgrokAPI/Models/IPPolicy.html +120 -68
  186. data/docs/NgrokAPI/Models/IPPolicyRule.html +222 -96
  187. data/docs/NgrokAPI/Models/IPRestriction.html +130 -78
  188. data/docs/NgrokAPI/Models/Listable.html +61 -61
  189. data/docs/NgrokAPI/Models/Ref.html +83 -31
  190. data/docs/NgrokAPI/Models/ReservedAddr.html +130 -78
  191. data/docs/NgrokAPI/Models/ReservedDomain.html +151 -99
  192. data/docs/NgrokAPI/Models/ReservedDomainCertJob.html +92 -40
  193. data/docs/NgrokAPI/Models/ReservedDomainCertPolicy.html +90 -38
  194. data/docs/NgrokAPI/Models/ReservedDomainCertStatus.html +90 -38
  195. data/docs/NgrokAPI/Models/SSHCertificateAuthority.html +135 -83
  196. data/docs/NgrokAPI/Models/SSHCredential.html +128 -76
  197. data/docs/NgrokAPI/Models/SSHHostCertificate.html +148 -96
  198. data/docs/NgrokAPI/Models/SSHUserCertificate.html +154 -102
  199. data/docs/NgrokAPI/Models/TCPEdge.html +1287 -0
  200. data/docs/NgrokAPI/Models/TLSCertificate.html +165 -113
  201. data/docs/NgrokAPI/Models/TLSCertificateSANs.html +90 -38
  202. data/docs/NgrokAPI/Models/TLSEdge.html +1447 -0
  203. data/docs/NgrokAPI/Models/Tunnel.html +413 -65
  204. data/docs/NgrokAPI/Models/TunnelGroupBackend.html +1201 -0
  205. data/docs/NgrokAPI/Models/TunnelSession.html +126 -74
  206. data/docs/NgrokAPI/Models/WeightedBackend.html +1127 -0
  207. data/docs/NgrokAPI/Models.html +4 -4
  208. data/docs/NgrokAPI/PagedIterator.html +3 -3
  209. data/docs/NgrokAPI/Services/APIKeysClient.html +244 -109
  210. data/docs/NgrokAPI/Services/AbuseReportsClient.html +162 -25
  211. data/docs/NgrokAPI/Services/AgentIngressesClient.html +262 -109
  212. data/docs/NgrokAPI/Services/CertificateAuthoritiesClient.html +262 -109
  213. data/docs/NgrokAPI/Services/CredentialsClient.html +266 -111
  214. data/docs/NgrokAPI/Services/EdgeRouteBackendModuleClient.html +1149 -0
  215. data/docs/NgrokAPI/Services/{EndpointCircuitBreakerModuleClient.html → EdgeRouteCircuitBreakerModuleClient.html} +205 -99
  216. data/{doc/NgrokAPI/Services/EndpointCompressionModuleClient.html → docs/NgrokAPI/Services/EdgeRouteCompressionModuleClient.html} +205 -99
  217. data/docs/NgrokAPI/Services/EdgeRouteIPRestrictionModuleClient.html +1149 -0
  218. data/docs/NgrokAPI/Services/{EndpointOAuthModuleClient.html → EdgeRouteOAuthModuleClient.html} +205 -99
  219. data/docs/NgrokAPI/Services/EdgeRouteOIDCModuleClient.html +1149 -0
  220. data/docs/NgrokAPI/Services/EdgeRouteRequestHeadersModuleClient.html +1149 -0
  221. data/docs/NgrokAPI/Services/{EndpointResponseHeadersModuleClient.html → EdgeRouteResponseHeadersModuleClient.html} +205 -99
  222. data/{doc/NgrokAPI/Services/EndpointSAMLModuleClient.html → docs/NgrokAPI/Services/EdgeRouteSAMLModuleClient.html} +205 -99
  223. data/{doc/NgrokAPI/Services/EndpointWebhookValidationModuleClient.html → docs/NgrokAPI/Services/EdgeRouteWebhookVerificationModuleClient.html} +205 -99
  224. data/docs/NgrokAPI/Services/EdgeRouteWebsocketTCPConverterModuleClient.html +1149 -0
  225. data/docs/NgrokAPI/Services/EdgesHTTPSClient.html +1947 -0
  226. data/docs/NgrokAPI/Services/EdgesHTTPSRoutesClient.html +2585 -0
  227. data/docs/NgrokAPI/Services/EdgesTCPClient.html +1947 -0
  228. data/{doc/NgrokAPI/Services/EndpointConfigurationsClient.html → docs/NgrokAPI/Services/EdgesTLSClient.html} +374 -641
  229. data/docs/NgrokAPI/Services/EndpointsClient.html +903 -0
  230. data/docs/NgrokAPI/Services/EventDestinationsClient.html +290 -115
  231. data/docs/NgrokAPI/Services/EventSourcesClient.html +227 -88
  232. data/docs/NgrokAPI/Services/EventSubscriptionsClient.html +291 -116
  233. data/docs/NgrokAPI/Services/{EventStreamsClient.html → FailoverBackendsClient.html} +342 -335
  234. data/docs/NgrokAPI/Services/HTTPResponseBackendsClient.html +1937 -0
  235. data/docs/NgrokAPI/Services/HTTPSEdgeMutualTLSModuleClient.html +1039 -0
  236. data/{doc/NgrokAPI/Services/EndpointRequestHeadersModuleClient.html → docs/NgrokAPI/Services/HTTPSEdgeTLSTerminationModuleClient.html} +76 -80
  237. data/docs/NgrokAPI/Services/IPPoliciesClient.html +245 -128
  238. data/docs/NgrokAPI/Services/IPPolicyRulesClient.html +328 -117
  239. data/docs/NgrokAPI/Services/IPRestrictionsClient.html +305 -114
  240. data/docs/NgrokAPI/Services/ReservedAddrsClient.html +160 -295
  241. data/docs/NgrokAPI/Services/ReservedDomainsClient.html +257 -624
  242. data/docs/NgrokAPI/Services/SSHCertificateAuthoritiesClient.html +304 -109
  243. data/docs/NgrokAPI/Services/SSHCredentialsClient.html +284 -111
  244. data/docs/NgrokAPI/Services/SSHHostCertificatesClient.html +340 -109
  245. data/docs/NgrokAPI/Services/SSHUserCertificatesClient.html +381 -110
  246. data/docs/NgrokAPI/Services/{EndpointOIDCModuleClient.html → TCPEdgeBackendModuleClient.html} +76 -80
  247. data/docs/NgrokAPI/Services/TCPEdgeIPRestrictionModuleClient.html +1039 -0
  248. data/docs/NgrokAPI/Services/TLSCertificatesClient.html +280 -109
  249. data/{doc/NgrokAPI/Services/EndpointOIDCModuleClient.html → docs/NgrokAPI/Services/TLSEdgeBackendModuleClient.html} +76 -80
  250. data/docs/NgrokAPI/Services/TLSEdgeIPRestrictionModuleClient.html +1039 -0
  251. data/docs/NgrokAPI/Services/{EndpointMutualTLSModuleClient.html → TLSEdgeMutualTLSModuleClient.html} +62 -66
  252. data/docs/NgrokAPI/Services/{EndpointTLSTerminationModuleClient.html → TLSEdgeTLSTerminationModuleClient.html} +62 -66
  253. data/docs/NgrokAPI/Services/TunnelGroupBackendsClient.html +1799 -0
  254. data/docs/NgrokAPI/Services/TunnelSessionsClient.html +44 -48
  255. data/docs/NgrokAPI/Services/TunnelsClient.html +249 -15
  256. data/docs/NgrokAPI/Services/WeightedBackendsClient.html +1799 -0
  257. data/docs/NgrokAPI/Services.html +4 -4
  258. data/docs/NgrokAPI.html +3 -3
  259. data/docs/_index.html +237 -60
  260. data/docs/class_list.html +1 -1
  261. data/docs/file.README.html +55 -55
  262. data/docs/index.html +55 -55
  263. data/docs/method_list.html +4555 -1843
  264. data/docs/top-level-namespace.html +2 -2
  265. data/lib/ngrokapi/client.rb +47 -24
  266. data/lib/ngrokapi/http_client.rb +21 -2
  267. data/lib/ngrokapi/models/abuse_report.rb +16 -12
  268. data/lib/ngrokapi/models/abuse_report_hostname.rb +11 -7
  269. data/lib/ngrokapi/models/agent_ingress.rb +17 -13
  270. data/lib/ngrokapi/models/api_key.rb +15 -11
  271. data/lib/ngrokapi/models/aws_auth.rb +11 -7
  272. data/lib/ngrokapi/models/aws_credentials.rb +11 -7
  273. data/lib/ngrokapi/models/aws_role.rb +10 -6
  274. data/lib/ngrokapi/models/certificate_authority.rb +20 -16
  275. data/lib/ngrokapi/models/credential.rb +16 -12
  276. data/lib/ngrokapi/models/endpoint.rb +53 -0
  277. data/lib/ngrokapi/models/endpoint_backend.rb +31 -0
  278. data/lib/ngrokapi/models/endpoint_backend_mutate.rb +31 -0
  279. data/lib/ngrokapi/models/endpoint_circuit_breaker.rb +15 -11
  280. data/lib/ngrokapi/models/endpoint_compression.rb +10 -6
  281. data/lib/ngrokapi/models/endpoint_ip_policy.rb +11 -7
  282. data/lib/ngrokapi/models/endpoint_ip_policy_mutate.rb +11 -7
  283. data/lib/ngrokapi/models/endpoint_mutual_tls.rb +11 -7
  284. data/lib/ngrokapi/models/endpoint_mutual_tls_mutate.rb +11 -7
  285. data/lib/ngrokapi/models/endpoint_o_auth.rb +16 -12
  286. data/lib/ngrokapi/models/endpoint_o_auth_facebook.rb +14 -10
  287. data/lib/ngrokapi/models/endpoint_o_auth_git_hub.rb +16 -12
  288. data/lib/ngrokapi/models/endpoint_o_auth_google.rb +14 -10
  289. data/lib/ngrokapi/models/endpoint_o_auth_microsoft.rb +14 -10
  290. data/lib/ngrokapi/models/endpoint_o_auth_provider.rb +13 -9
  291. data/lib/ngrokapi/models/endpoint_oidc.rb +18 -14
  292. data/lib/ngrokapi/models/endpoint_request_headers.rb +12 -8
  293. data/lib/ngrokapi/models/endpoint_response_headers.rb +12 -8
  294. data/lib/ngrokapi/models/endpoint_saml.rb +25 -21
  295. data/lib/ngrokapi/models/endpoint_saml_mutate.rb +20 -16
  296. data/lib/ngrokapi/models/endpoint_tls_termination.rb +12 -8
  297. data/lib/ngrokapi/models/endpoint_tls_termination_at_edge.rb +31 -0
  298. data/lib/ngrokapi/models/endpoint_webhook_validation.rb +12 -8
  299. data/lib/ngrokapi/models/endpoint_websocket_tcp_converter.rb +29 -0
  300. data/lib/ngrokapi/models/event_destination.rb +17 -14
  301. data/lib/ngrokapi/models/event_source.rb +13 -9
  302. data/lib/ngrokapi/models/event_source_list.rb +11 -7
  303. data/lib/ngrokapi/models/event_source_replace.rb +12 -8
  304. data/lib/ngrokapi/models/event_subscription.rb +16 -12
  305. data/lib/ngrokapi/models/event_target.rb +13 -9
  306. data/lib/ngrokapi/models/event_target_cloudwatch_logs.rb +11 -7
  307. data/lib/ngrokapi/models/event_target_firehose.rb +11 -7
  308. data/lib/ngrokapi/models/event_target_kinesis.rb +11 -7
  309. data/lib/ngrokapi/models/failover_backend.rb +69 -0
  310. data/lib/ngrokapi/models/http_response_backend.rb +75 -0
  311. data/lib/ngrokapi/models/https_edge.rb +84 -0
  312. data/lib/ngrokapi/models/https_edge_route.rb +137 -0
  313. data/lib/ngrokapi/models/ip_policy.rb +15 -11
  314. data/lib/ngrokapi/models/ip_policy_rule.rb +19 -13
  315. data/lib/ngrokapi/models/ip_restriction.rb +17 -13
  316. data/lib/ngrokapi/models/listable.rb +9 -9
  317. data/lib/ngrokapi/models/ref.rb +11 -7
  318. data/lib/ngrokapi/models/reserved_addr.rb +17 -13
  319. data/lib/ngrokapi/models/reserved_domain.rb +23 -19
  320. data/lib/ngrokapi/models/reserved_domain_cert_job.rb +13 -9
  321. data/lib/ngrokapi/models/reserved_domain_cert_policy.rb +11 -7
  322. data/lib/ngrokapi/models/reserved_domain_cert_status.rb +11 -7
  323. data/lib/ngrokapi/models/ssh_certificate_authority.rb +16 -12
  324. data/lib/ngrokapi/models/ssh_credential.rb +16 -12
  325. data/lib/ngrokapi/models/ssh_host_certificate.rb +21 -17
  326. data/lib/ngrokapi/models/ssh_user_certificate.rb +23 -19
  327. data/lib/ngrokapi/models/tcp_edge.rb +82 -0
  328. data/lib/ngrokapi/models/tls_certificate.rb +30 -26
  329. data/lib/ngrokapi/models/tls_certificate_sa_ns.rb +11 -7
  330. data/lib/ngrokapi/models/tls_edge.rb +92 -0
  331. data/lib/ngrokapi/models/tunnel.rb +25 -13
  332. data/lib/ngrokapi/models/tunnel_group_backend.rb +71 -0
  333. data/lib/ngrokapi/models/tunnel_session.rb +19 -15
  334. data/lib/ngrokapi/models/weighted_backend.rb +69 -0
  335. data/lib/ngrokapi/paged_iterator.rb +1 -1
  336. data/lib/ngrokapi/services/abuse_reports_client.rb +25 -3
  337. data/lib/ngrokapi/services/agent_ingresses_client.rb +32 -11
  338. data/lib/ngrokapi/services/api_keys_client.rb +30 -11
  339. data/lib/ngrokapi/services/certificate_authorities_client.rb +31 -11
  340. data/lib/ngrokapi/services/credentials_client.rb +34 -11
  341. data/lib/ngrokapi/services/edge_route_backend_module_client.rb +118 -0
  342. data/lib/ngrokapi/services/edge_route_circuit_breaker_module_client.rb +118 -0
  343. data/lib/ngrokapi/services/edge_route_compression_module_client.rb +118 -0
  344. data/lib/ngrokapi/services/edge_route_ip_restriction_module_client.rb +118 -0
  345. data/lib/ngrokapi/services/edge_route_o_auth_module_client.rb +118 -0
  346. data/lib/ngrokapi/services/edge_route_oidc_module_client.rb +118 -0
  347. data/lib/ngrokapi/services/edge_route_request_headers_module_client.rb +118 -0
  348. data/lib/ngrokapi/services/edge_route_response_headers_module_client.rb +118 -0
  349. data/lib/ngrokapi/services/edge_route_saml_module_client.rb +118 -0
  350. data/lib/ngrokapi/services/edge_route_webhook_verification_module_client.rb +118 -0
  351. data/lib/ngrokapi/services/edge_route_websocket_tcp_converter_module_client.rb +118 -0
  352. data/lib/ngrokapi/services/edges_https_client.rb +251 -0
  353. data/lib/ngrokapi/services/edges_https_routes_client.rb +292 -0
  354. data/lib/ngrokapi/services/edges_tcp_client.rb +251 -0
  355. data/lib/ngrokapi/services/edges_tls_client.rb +267 -0
  356. data/lib/ngrokapi/services/endpoints_client.rb +112 -0
  357. data/lib/ngrokapi/services/event_destinations_client.rb +37 -15
  358. data/lib/ngrokapi/services/event_sources_client.rb +27 -7
  359. data/lib/ngrokapi/services/event_subscriptions_client.rb +36 -14
  360. data/lib/ngrokapi/services/failover_backends_client.rb +234 -0
  361. data/lib/ngrokapi/services/http_response_backends_client.rb +220 -0
  362. data/lib/ngrokapi/services/{endpoint_oidc_module_client.rb → https_edge_mutual_tls_module_client.rb} +27 -29
  363. data/lib/ngrokapi/services/https_edge_tls_termination_module_client.rb +106 -0
  364. data/lib/ngrokapi/services/ip_policies_client.rb +31 -14
  365. data/lib/ngrokapi/services/ip_policy_rules_client.rb +38 -12
  366. data/lib/ngrokapi/services/ip_restrictions_client.rb +36 -12
  367. data/lib/ngrokapi/services/reserved_addrs_client.rb +31 -48
  368. data/lib/ngrokapi/services/reserved_domains_client.rb +37 -85
  369. data/lib/ngrokapi/services/ssh_certificate_authorities_client.rb +35 -11
  370. data/lib/ngrokapi/services/ssh_credentials_client.rb +34 -11
  371. data/lib/ngrokapi/services/ssh_host_certificates_client.rb +39 -11
  372. data/lib/ngrokapi/services/ssh_user_certificates_client.rb +44 -12
  373. data/lib/ngrokapi/services/{endpoint_logging_module_client.rb → tcp_edge_backend_module_client.rb} +27 -29
  374. data/lib/ngrokapi/services/{endpoint_ip_policy_module_client.rb → tcp_edge_ip_restriction_module_client.rb} +21 -23
  375. data/lib/ngrokapi/services/tls_certificates_client.rb +33 -11
  376. data/lib/ngrokapi/services/{endpoint_saml_module_client.rb → tls_edge_backend_module_client.rb} +27 -29
  377. data/lib/ngrokapi/services/tls_edge_ip_restriction_module_client.rb +106 -0
  378. data/lib/ngrokapi/services/{endpoint_mutual_tls_module_client.rb → tls_edge_mutual_tls_module_client.rb} +21 -23
  379. data/lib/ngrokapi/services/{endpoint_tls_termination_module_client.rb → tls_edge_tls_termination_module_client.rb} +21 -23
  380. data/lib/ngrokapi/services/tunnel_group_backends_client.rb +232 -0
  381. data/lib/ngrokapi/services/tunnel_sessions_client.rb +6 -8
  382. data/lib/ngrokapi/services/tunnels_client.rb +39 -6
  383. data/lib/ngrokapi/services/weighted_backends_client.rb +234 -0
  384. data/lib/ngrokapi/version.rb +1 -1
  385. data/lib/ngrokapi.rb +1 -1
  386. data/spec/ngrokapi/client_spec.rb +44 -23
  387. data/spec/ngrokapi/models/abuse_report_hostname_spec.rb +2 -2
  388. data/spec/ngrokapi/models/abuse_report_spec.rb +2 -2
  389. data/spec/ngrokapi/models/agent_ingress_spec.rb +2 -2
  390. data/spec/ngrokapi/models/api_key_spec.rb +2 -2
  391. data/spec/ngrokapi/models/aws_auth_spec.rb +2 -2
  392. data/spec/ngrokapi/models/aws_credentials_spec.rb +2 -2
  393. data/spec/ngrokapi/models/aws_role_spec.rb +2 -2
  394. data/spec/ngrokapi/models/certificate_authority_spec.rb +2 -2
  395. data/spec/ngrokapi/models/credential_spec.rb +2 -2
  396. data/spec/ngrokapi/models/endpoint_backend_mutate_spec.rb +21 -0
  397. data/spec/ngrokapi/models/endpoint_backend_spec.rb +21 -0
  398. data/spec/ngrokapi/models/endpoint_circuit_breaker_spec.rb +2 -2
  399. data/spec/ngrokapi/models/endpoint_compression_spec.rb +2 -2
  400. data/spec/ngrokapi/models/endpoint_ip_policy_mutate_spec.rb +2 -2
  401. data/spec/ngrokapi/models/endpoint_ip_policy_spec.rb +2 -2
  402. data/spec/ngrokapi/models/endpoint_mutual_tls_mutate_spec.rb +2 -2
  403. data/spec/ngrokapi/models/endpoint_mutual_tls_spec.rb +2 -2
  404. data/spec/ngrokapi/models/endpoint_o_auth_facebook_spec.rb +2 -2
  405. data/spec/ngrokapi/models/endpoint_o_auth_git_hub_spec.rb +2 -2
  406. data/spec/ngrokapi/models/endpoint_o_auth_google_spec.rb +2 -2
  407. data/spec/ngrokapi/models/endpoint_o_auth_microsoft_spec.rb +2 -2
  408. data/spec/ngrokapi/models/endpoint_o_auth_provider_spec.rb +2 -2
  409. data/spec/ngrokapi/models/endpoint_o_auth_spec.rb +2 -2
  410. data/spec/ngrokapi/models/endpoint_oidc_spec.rb +2 -2
  411. data/spec/ngrokapi/models/endpoint_request_headers_spec.rb +2 -2
  412. data/spec/ngrokapi/models/endpoint_response_headers_spec.rb +2 -2
  413. data/spec/ngrokapi/models/endpoint_saml_mutate_spec.rb +2 -2
  414. data/spec/ngrokapi/models/endpoint_saml_spec.rb +2 -2
  415. data/spec/ngrokapi/models/endpoint_spec.rb +21 -0
  416. data/spec/ngrokapi/models/endpoint_tls_termination_at_edge_spec.rb +21 -0
  417. data/spec/ngrokapi/models/endpoint_tls_termination_spec.rb +2 -2
  418. data/spec/ngrokapi/models/endpoint_webhook_validation_spec.rb +2 -2
  419. data/spec/ngrokapi/models/endpoint_websocket_tcp_converter_spec.rb +21 -0
  420. data/spec/ngrokapi/models/event_destination_spec.rb +2 -2
  421. data/spec/ngrokapi/models/event_source_list_spec.rb +2 -2
  422. data/spec/ngrokapi/models/event_source_replace_spec.rb +2 -2
  423. data/spec/ngrokapi/models/event_source_spec.rb +2 -2
  424. data/spec/ngrokapi/models/event_subscription_spec.rb +2 -2
  425. data/spec/ngrokapi/models/event_target_cloudwatch_logs_spec.rb +2 -2
  426. data/spec/ngrokapi/models/event_target_firehose_spec.rb +2 -2
  427. data/spec/ngrokapi/models/event_target_kinesis_spec.rb +2 -2
  428. data/spec/ngrokapi/models/event_target_spec.rb +2 -2
  429. data/spec/ngrokapi/models/failover_backend_spec.rb +45 -0
  430. data/spec/ngrokapi/models/http_response_backend_spec.rb +51 -0
  431. data/spec/ngrokapi/models/https_edge_route_spec.rb +81 -0
  432. data/spec/ngrokapi/models/https_edge_spec.rb +51 -0
  433. data/spec/ngrokapi/models/ip_policy_rule_spec.rb +2 -2
  434. data/spec/ngrokapi/models/ip_policy_spec.rb +2 -2
  435. data/spec/ngrokapi/models/ip_restriction_spec.rb +2 -2
  436. data/spec/ngrokapi/models/listable_spec.rb +2 -2
  437. data/spec/ngrokapi/models/ref_spec.rb +2 -2
  438. data/spec/ngrokapi/models/reserved_addr_spec.rb +2 -2
  439. data/spec/ngrokapi/models/reserved_domain_cert_job_spec.rb +2 -2
  440. data/spec/ngrokapi/models/reserved_domain_cert_policy_spec.rb +2 -2
  441. data/spec/ngrokapi/models/reserved_domain_cert_status_spec.rb +2 -2
  442. data/spec/ngrokapi/models/reserved_domain_spec.rb +2 -2
  443. data/spec/ngrokapi/models/ssh_certificate_authority_spec.rb +2 -2
  444. data/spec/ngrokapi/models/ssh_credential_spec.rb +2 -2
  445. data/spec/ngrokapi/models/ssh_host_certificate_spec.rb +2 -2
  446. data/spec/ngrokapi/models/ssh_user_certificate_spec.rb +2 -2
  447. data/spec/ngrokapi/models/tcp_edge_spec.rb +51 -0
  448. data/spec/ngrokapi/models/tls_certificate_sa_ns_spec.rb +2 -2
  449. data/spec/ngrokapi/models/tls_certificate_spec.rb +2 -2
  450. data/spec/ngrokapi/models/tls_edge_spec.rb +57 -0
  451. data/spec/ngrokapi/models/tunnel_group_backend_spec.rb +45 -0
  452. data/spec/ngrokapi/models/tunnel_session_spec.rb +2 -2
  453. data/spec/ngrokapi/models/tunnel_spec.rb +2 -2
  454. data/spec/ngrokapi/models/weighted_backend_spec.rb +45 -0
  455. data/spec/ngrokapi/paged_iterator_spec.rb +5 -5
  456. data/spec/ngrokapi/services/abuse_reports_client_spec.rb +19 -0
  457. data/spec/ngrokapi/services/agent_ingresses_client_spec.rb +21 -0
  458. data/spec/ngrokapi/services/api_keys_client_spec.rb +19 -0
  459. data/spec/ngrokapi/services/certificate_authorities_client_spec.rb +21 -0
  460. data/spec/ngrokapi/services/credentials_client_spec.rb +21 -0
  461. data/spec/ngrokapi/services/edge_route_backend_module_client_spec.rb +137 -0
  462. data/spec/ngrokapi/services/{endpoint_circuit_breaker_module_client_spec.rb → edge_route_circuit_breaker_module_client_spec.rb} +33 -21
  463. data/spec/ngrokapi/services/{endpoint_compression_module_client_spec.rb → edge_route_compression_module_client_spec.rb} +33 -21
  464. data/spec/ngrokapi/services/edge_route_ip_restriction_module_client_spec.rb +137 -0
  465. data/spec/ngrokapi/services/{endpoint_o_auth_module_client_spec.rb → edge_route_o_auth_module_client_spec.rb} +33 -21
  466. data/spec/ngrokapi/services/{endpoint_oidc_module_client_spec.rb → edge_route_oidc_module_client_spec.rb} +33 -21
  467. data/spec/ngrokapi/services/{endpoint_request_headers_module_client_spec.rb → edge_route_request_headers_module_client_spec.rb} +33 -21
  468. data/spec/ngrokapi/services/{endpoint_response_headers_module_client_spec.rb → edge_route_response_headers_module_client_spec.rb} +33 -21
  469. data/spec/ngrokapi/services/{endpoint_saml_module_client_spec.rb → edge_route_saml_module_client_spec.rb} +33 -21
  470. data/spec/ngrokapi/services/{endpoint_webhook_validation_module_client_spec.rb → edge_route_webhook_verification_module_client_spec.rb} +33 -21
  471. data/spec/ngrokapi/services/edge_route_websocket_tcp_converter_module_client_spec.rb +137 -0
  472. data/spec/ngrokapi/services/edges_https_client_spec.rb +200 -0
  473. data/spec/ngrokapi/services/edges_https_routes_client_spec.rb +288 -0
  474. data/spec/ngrokapi/services/edges_tcp_client_spec.rb +200 -0
  475. data/spec/ngrokapi/services/edges_tls_client_spec.rb +216 -0
  476. data/spec/ngrokapi/services/endpoints_client_spec.rb +57 -0
  477. data/spec/ngrokapi/services/event_destinations_client_spec.rb +24 -0
  478. data/spec/ngrokapi/services/event_sources_client_spec.rb +21 -0
  479. data/spec/ngrokapi/services/event_subscriptions_client_spec.rb +23 -0
  480. data/spec/ngrokapi/services/failover_backends_client_spec.rb +184 -0
  481. data/spec/ngrokapi/services/http_response_backends_client_spec.rb +200 -0
  482. data/spec/ngrokapi/services/{endpoint_mutual_tls_module_client_spec.rb → https_edge_mutual_tls_module_client_spec.rb} +19 -21
  483. data/spec/ngrokapi/services/{endpoint_tls_termination_module_client_spec.rb → https_edge_tls_termination_module_client_spec.rb} +19 -21
  484. data/spec/ngrokapi/services/ip_policies_client_spec.rb +20 -1
  485. data/spec/ngrokapi/services/ip_policy_rules_client_spec.rb +28 -1
  486. data/spec/ngrokapi/services/ip_restrictions_client_spec.rb +25 -0
  487. data/spec/ngrokapi/services/reserved_addrs_client_spec.rb +22 -44
  488. data/spec/ngrokapi/services/reserved_domains_client_spec.rb +29 -88
  489. data/spec/ngrokapi/services/ssh_certificate_authorities_client_spec.rb +25 -0
  490. data/spec/ngrokapi/services/ssh_credentials_client_spec.rb +23 -0
  491. data/spec/ngrokapi/services/ssh_host_certificates_client_spec.rb +29 -0
  492. data/spec/ngrokapi/services/ssh_user_certificates_client_spec.rb +33 -0
  493. data/spec/ngrokapi/services/tcp_edge_backend_module_client_spec.rb +123 -0
  494. data/spec/ngrokapi/services/{endpoint_ip_policy_module_client_spec.rb → tcp_edge_ip_restriction_module_client_spec.rb} +19 -21
  495. data/spec/ngrokapi/services/tls_certificates_client_spec.rb +23 -0
  496. data/spec/ngrokapi/services/tls_edge_backend_module_client_spec.rb +123 -0
  497. data/spec/ngrokapi/services/tls_edge_ip_restriction_module_client_spec.rb +123 -0
  498. data/spec/ngrokapi/services/tls_edge_mutual_tls_module_client_spec.rb +123 -0
  499. data/spec/ngrokapi/services/tls_edge_tls_termination_module_client_spec.rb +123 -0
  500. data/spec/ngrokapi/services/tunnel_group_backends_client_spec.rb +184 -0
  501. data/spec/ngrokapi/services/tunnels_client_spec.rb +36 -0
  502. data/spec/ngrokapi/services/weighted_backends_client_spec.rb +184 -0
  503. data/spec/spec_helper.rb +326 -33
  504. metadata +166 -76
  505. data/doc/README +0 -94
  506. data/docs/README +0 -94
  507. data/lib/ngrokapi/models/endpoint_configuration.rb +0 -130
  508. data/lib/ngrokapi/models/endpoint_logging.rb +0 -27
  509. data/lib/ngrokapi/models/endpoint_logging_mutate.rb +0 -27
  510. data/lib/ngrokapi/models/event_stream.rb +0 -77
  511. data/lib/ngrokapi/services/endpoint_circuit_breaker_module_client.rb +0 -108
  512. data/lib/ngrokapi/services/endpoint_compression_module_client.rb +0 -108
  513. data/lib/ngrokapi/services/endpoint_configurations_client.rb +0 -289
  514. data/lib/ngrokapi/services/endpoint_o_auth_module_client.rb +0 -108
  515. data/lib/ngrokapi/services/endpoint_request_headers_module_client.rb +0 -108
  516. data/lib/ngrokapi/services/endpoint_response_headers_module_client.rb +0 -108
  517. data/lib/ngrokapi/services/endpoint_webhook_validation_module_client.rb +0 -108
  518. data/lib/ngrokapi/services/event_streams_client.rb +0 -224
  519. data/spec/ngrokapi/models/endpoint_configuration_spec.rb +0 -78
  520. data/spec/ngrokapi/models/endpoint_logging_mutate_spec.rb +0 -21
  521. data/spec/ngrokapi/models/endpoint_logging_spec.rb +0 -21
  522. data/spec/ngrokapi/models/event_stream_spec.rb +0 -51
  523. data/spec/ngrokapi/services/endpoint_configurations_client_spec.rb +0 -237
  524. data/spec/ngrokapi/services/endpoint_logging_module_client_spec.rb +0 -125
  525. data/spec/ngrokapi/services/event_streams_client_spec.rb +0 -177
@@ -0,0 +1,292 @@
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, attrs: result)
62
+ end
63
+
64
+ ##
65
+ # Create an HTTPS Edge Route
66
+ # Throws an exception if API error.
67
+ #
68
+ # @param [string] edge_id unique identifier of this edge
69
+ # @param [string] match_type Type of match to use for this route. Valid values are "exact_path" and "path_prefix".
70
+ # @param [string] match Route selector: "/blog" or "example.com" or "example.com/blog"
71
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
72
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
73
+ # @param [EndpointBackendMutate] backend backend module configuration or ``null``
74
+ # @param [EndpointIPPolicyMutate] ip_restriction ip restriction module configuration or ``null``
75
+ # @param [EndpointCircuitBreaker] circuit_breaker circuit breaker module configuration or ``null``
76
+ # @param [EndpointCompression] compression compression module configuration or ``null``
77
+ # @param [EndpointRequestHeaders] request_headers request headers module configuration or ``null``
78
+ # @param [EndpointResponseHeaders] response_headers response headers module configuration or ``null``
79
+ # @param [EndpointWebhookValidation] webhook_verification webhook verification module configuration or ``null``
80
+ # @param [EndpointOAuth] oauth oauth module configuration or ``null``
81
+ # @param [EndpointSAMLMutate] saml saml module configuration or ``null``
82
+ # @param [EndpointOIDC] oidc oidc module configuration or ``null``
83
+ # @param [EndpointWebsocketTCPConverter] websocket_tcp_converter websocket to tcp adapter configuration or ``null``
84
+ # @return [NgrokAPI::Models::HTTPSEdgeRoute] result from the API request
85
+ #
86
+ # https://ngrok.com/docs/api#api-edges-https-routes-create
87
+ 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)
88
+ path = '/edges/https/%{edge_id}/routes'
89
+ replacements = {
90
+ edge_id: edge_id,
91
+ }
92
+ data = {}
93
+ data[:match_type] = match_type if match_type
94
+ data[:match] = match if match
95
+ data[:description] = description if description
96
+ data[:metadata] = metadata if metadata
97
+ data[:backend] = backend if backend
98
+ data[:ip_restriction] = ip_restriction if ip_restriction
99
+ data[:circuit_breaker] = circuit_breaker if circuit_breaker
100
+ data[:compression] = compression if compression
101
+ data[:request_headers] = request_headers if request_headers
102
+ data[:response_headers] = response_headers if response_headers
103
+ data[:webhook_verification] = webhook_verification if webhook_verification
104
+ data[:oauth] = oauth if oauth
105
+ data[:saml] = saml if saml
106
+ data[:oidc] = oidc if oidc
107
+ data[:websocket_tcp_converter] = websocket_tcp_converter if websocket_tcp_converter
108
+ result = @client.post(path % replacements, data: data, danger: true)
109
+ NgrokAPI::Models::HTTPSEdgeRoute.new(client: self, attrs: result)
110
+ end
111
+
112
+ ##
113
+ # Get an HTTPS Edge Route by ID
114
+ #
115
+ # @param [string] edge_id unique identifier of this edge
116
+ # @param [string] id unique identifier of this edge route
117
+ # @return [NgrokAPI::Models::HTTPSEdgeRoute] result from the API request
118
+ #
119
+ # https://ngrok.com/docs/api#api-edges-https-routes-get
120
+ def get(edge_id: "", id: "")
121
+ path = '/edges/https/%{edge_id}/routes/%{id}'
122
+ replacements = {
123
+ edge_id: edge_id,
124
+ id: id,
125
+ }
126
+ data = {}
127
+ result = @client.get(path % replacements, data: data)
128
+ NgrokAPI::Models::HTTPSEdgeRoute.new(client: self, attrs: result)
129
+ end
130
+
131
+ ##
132
+ # Get an HTTPS Edge Route by ID
133
+ # Throws an exception if API error.
134
+ #
135
+ # @param [string] edge_id unique identifier of this edge
136
+ # @param [string] id unique identifier of this edge route
137
+ # @return [NgrokAPI::Models::HTTPSEdgeRoute] result from the API request
138
+ #
139
+ # https://ngrok.com/docs/api#api-edges-https-routes-get
140
+ def get!(edge_id: "", id: "")
141
+ path = '/edges/https/%{edge_id}/routes/%{id}'
142
+ replacements = {
143
+ edge_id: edge_id,
144
+ id: id,
145
+ }
146
+ data = {}
147
+ result = @client.get(path % replacements, data: data, danger: true)
148
+ NgrokAPI::Models::HTTPSEdgeRoute.new(client: self, attrs: result)
149
+ end
150
+
151
+ ##
152
+ # Updates an HTTPS Edge Route by ID. If a module is not specified in the update,
153
+ # it will not be modified. However, each module configuration that is specified
154
+ # will completely replace the existing value. There is no way to delete an
155
+ # existing module via this API, instead use the delete module API.
156
+ #
157
+ # @param [string] edge_id unique identifier of this edge
158
+ # @param [string] id unique identifier of this edge route
159
+ # @param [string] match_type Type of match to use for this route. Valid values are "exact_path" and "path_prefix".
160
+ # @param [string] match Route selector: "/blog" or "example.com" or "example.com/blog"
161
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
162
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
163
+ # @param [EndpointBackendMutate] backend backend module configuration or ``null``
164
+ # @param [EndpointIPPolicyMutate] ip_restriction ip restriction module configuration or ``null``
165
+ # @param [EndpointCircuitBreaker] circuit_breaker circuit breaker module configuration or ``null``
166
+ # @param [EndpointCompression] compression compression module configuration or ``null``
167
+ # @param [EndpointRequestHeaders] request_headers request headers module configuration or ``null``
168
+ # @param [EndpointResponseHeaders] response_headers response headers module configuration or ``null``
169
+ # @param [EndpointWebhookValidation] webhook_verification webhook verification module configuration or ``null``
170
+ # @param [EndpointOAuth] oauth oauth module configuration or ``null``
171
+ # @param [EndpointSAMLMutate] saml saml module configuration or ``null``
172
+ # @param [EndpointOIDC] oidc oidc module configuration or ``null``
173
+ # @param [EndpointWebsocketTCPConverter] websocket_tcp_converter websocket to tcp adapter configuration or ``null``
174
+ # @return [NgrokAPI::Models::HTTPSEdgeRoute] result from the API request
175
+ #
176
+ # https://ngrok.com/docs/api#api-edges-https-routes-update
177
+ 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)
178
+ path = '/edges/https/%{edge_id}/routes/%{id}'
179
+ replacements = {
180
+ edge_id: edge_id,
181
+ id: id,
182
+ }
183
+ data = {}
184
+ data[:match_type] = match_type if match_type
185
+ data[:match] = match if match
186
+ data[:description] = description if description
187
+ data[:metadata] = metadata if metadata
188
+ data[:backend] = backend if backend
189
+ data[:ip_restriction] = ip_restriction if ip_restriction
190
+ data[:circuit_breaker] = circuit_breaker if circuit_breaker
191
+ data[:compression] = compression if compression
192
+ data[:request_headers] = request_headers if request_headers
193
+ data[:response_headers] = response_headers if response_headers
194
+ data[:webhook_verification] = webhook_verification if webhook_verification
195
+ data[:oauth] = oauth if oauth
196
+ data[:saml] = saml if saml
197
+ data[:oidc] = oidc if oidc
198
+ data[:websocket_tcp_converter] = websocket_tcp_converter if websocket_tcp_converter
199
+ result = @client.patch(path % replacements, data: data)
200
+ NgrokAPI::Models::HTTPSEdgeRoute.new(client: self, attrs: result)
201
+ end
202
+
203
+ ##
204
+ # Updates an HTTPS Edge Route by ID. If a module is not specified in the update,
205
+ # it will not be modified. However, each module configuration that is specified
206
+ # will completely replace the existing value. There is no way to delete an
207
+ # existing module via this API, instead use the delete module API.
208
+ # Throws an exception if API error.
209
+ #
210
+ # @param [string] edge_id unique identifier of this edge
211
+ # @param [string] id unique identifier of this edge route
212
+ # @param [string] match_type Type of match to use for this route. Valid values are "exact_path" and "path_prefix".
213
+ # @param [string] match Route selector: "/blog" or "example.com" or "example.com/blog"
214
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
215
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
216
+ # @param [EndpointBackendMutate] backend backend module configuration or ``null``
217
+ # @param [EndpointIPPolicyMutate] ip_restriction ip restriction module configuration or ``null``
218
+ # @param [EndpointCircuitBreaker] circuit_breaker circuit breaker module configuration or ``null``
219
+ # @param [EndpointCompression] compression compression module configuration or ``null``
220
+ # @param [EndpointRequestHeaders] request_headers request headers module configuration or ``null``
221
+ # @param [EndpointResponseHeaders] response_headers response headers module configuration or ``null``
222
+ # @param [EndpointWebhookValidation] webhook_verification webhook verification module configuration or ``null``
223
+ # @param [EndpointOAuth] oauth oauth module configuration or ``null``
224
+ # @param [EndpointSAMLMutate] saml saml module configuration or ``null``
225
+ # @param [EndpointOIDC] oidc oidc module configuration or ``null``
226
+ # @param [EndpointWebsocketTCPConverter] websocket_tcp_converter websocket to tcp adapter configuration or ``null``
227
+ # @return [NgrokAPI::Models::HTTPSEdgeRoute] result from the API request
228
+ #
229
+ # https://ngrok.com/docs/api#api-edges-https-routes-update
230
+ 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)
231
+ path = '/edges/https/%{edge_id}/routes/%{id}'
232
+ replacements = {
233
+ edge_id: edge_id,
234
+ id: id,
235
+ }
236
+ data = {}
237
+ data[:match_type] = match_type if match_type
238
+ data[:match] = match if match
239
+ data[:description] = description if description
240
+ data[:metadata] = metadata if metadata
241
+ data[:backend] = backend if backend
242
+ data[:ip_restriction] = ip_restriction if ip_restriction
243
+ data[:circuit_breaker] = circuit_breaker if circuit_breaker
244
+ data[:compression] = compression if compression
245
+ data[:request_headers] = request_headers if request_headers
246
+ data[:response_headers] = response_headers if response_headers
247
+ data[:webhook_verification] = webhook_verification if webhook_verification
248
+ data[:oauth] = oauth if oauth
249
+ data[:saml] = saml if saml
250
+ data[:oidc] = oidc if oidc
251
+ data[:websocket_tcp_converter] = websocket_tcp_converter if websocket_tcp_converter
252
+ result = @client.patch(path % replacements, data: data, danger: true)
253
+ NgrokAPI::Models::HTTPSEdgeRoute.new(client: self, attrs: result)
254
+ end
255
+
256
+ ##
257
+ # Delete an HTTPS Edge Route by ID
258
+ #
259
+ # @param [string] edge_id unique identifier of this edge
260
+ # @param [string] id unique identifier of this edge route
261
+ # @return [NgrokAPI::Models::Empty] result from the API request
262
+ #
263
+ # https://ngrok.com/docs/api#api-edges-https-routes-delete
264
+ def delete(edge_id: "", id: "")
265
+ path = '/edges/https/%{edge_id}/routes/%{id}'
266
+ replacements = {
267
+ edge_id: edge_id,
268
+ id: id,
269
+ }
270
+ @client.delete(path % replacements)
271
+ end
272
+
273
+ ##
274
+ # Delete an HTTPS Edge Route by ID
275
+ # Throws an exception if API error.
276
+ #
277
+ # @param [string] edge_id unique identifier of this edge
278
+ # @param [string] id unique identifier of this edge route
279
+ # @return [NgrokAPI::Models::Empty] result from the API request
280
+ #
281
+ # https://ngrok.com/docs/api#api-edges-https-routes-delete
282
+ def delete!(edge_id: "", id: "")
283
+ path = '/edges/https/%{edge_id}/routes/%{id}'
284
+ replacements = {
285
+ edge_id: edge_id,
286
+ id: id,
287
+ }
288
+ @client.delete(path % replacements, danger: true)
289
+ end
290
+ end
291
+ end
292
+ end
@@ -0,0 +1,251 @@
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, attrs: result)
42
+ end
43
+
44
+ ##
45
+ # Create a TCP Edge
46
+ # Throws an exception if API error.
47
+ #
48
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
49
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
50
+ # @param [List<string>] hostports hostports served by this edge
51
+ # @param [EndpointBackendMutate] backend edge modules
52
+ # @param [EndpointIPPolicyMutate] ip_restriction
53
+ # @return [NgrokAPI::Models::TCPEdge] result from the API request
54
+ #
55
+ # https://ngrok.com/docs/api#api-edges-tcp-create
56
+ def create!(description: "", metadata: "", hostports: nil, backend: nil, ip_restriction: nil)
57
+ path = '/edges/tcp'
58
+ replacements = {
59
+ }
60
+ data = {}
61
+ data[:description] = description if description
62
+ data[:metadata] = metadata if metadata
63
+ data[:hostports] = hostports if hostports
64
+ data[:backend] = backend if backend
65
+ data[:ip_restriction] = ip_restriction if ip_restriction
66
+ result = @client.post(path % replacements, data: data, danger: true)
67
+ NgrokAPI::Models::TCPEdge.new(client: self, attrs: result)
68
+ end
69
+
70
+ ##
71
+ # Get a TCP Edge by ID
72
+ #
73
+ # @param [string] id a resource identifier
74
+ # @return [NgrokAPI::Models::TCPEdge] result from the API request
75
+ #
76
+ # https://ngrok.com/docs/api#api-edges-tcp-get
77
+ def get(id: "")
78
+ path = '/edges/tcp/%{id}'
79
+ replacements = {
80
+ id: id,
81
+ }
82
+ data = {}
83
+ result = @client.get(path % replacements, data: data)
84
+ NgrokAPI::Models::TCPEdge.new(client: self, attrs: result)
85
+ end
86
+
87
+ ##
88
+ # Get a TCP Edge by ID
89
+ # Throws an exception if API error.
90
+ #
91
+ # @param [string] id a resource identifier
92
+ # @return [NgrokAPI::Models::TCPEdge] result from the API request
93
+ #
94
+ # https://ngrok.com/docs/api#api-edges-tcp-get
95
+ def get!(id: "")
96
+ path = '/edges/tcp/%{id}'
97
+ replacements = {
98
+ id: id,
99
+ }
100
+ data = {}
101
+ result = @client.get(path % replacements, data: data, danger: true)
102
+ NgrokAPI::Models::TCPEdge.new(client: self, attrs: result)
103
+ end
104
+
105
+ ##
106
+ # Returns a list of all TCP Edges on this account
107
+ #
108
+ # @param [string] before_id
109
+ # @param [string] limit
110
+ # @param [string] url optional and mutually exclusive from before_id and limit
111
+ # @return [NgrokAPI::Models::Listable] result from the API request
112
+ #
113
+ # https://ngrok.com/docs/api#api-edges-tcp-list
114
+ def list(before_id: nil, limit: nil, url: nil)
115
+ result = @client.list(
116
+ before_id: before_id,
117
+ limit: limit,
118
+ url: url,
119
+ path: PATH
120
+ )
121
+
122
+ NgrokAPI::Models::Listable.new(
123
+ client: self,
124
+ attrs: result,
125
+ list_property: LIST_PROPERTY,
126
+ klass: NgrokAPI::Models::TCPEdge
127
+ )
128
+ end
129
+
130
+ ##
131
+ # Returns a list of all TCP Edges on this account
132
+ # Throws an exception if API error.
133
+ #
134
+ # @param [string] before_id
135
+ # @param [string] limit
136
+ # @param [string] url optional and mutually exclusive from before_id and limit
137
+ # @return [NgrokAPI::Models::Listable] result from the API request
138
+ #
139
+ # https://ngrok.com/docs/api#api-edges-tcp-list
140
+ def list!(before_id: nil, limit: nil, url: nil)
141
+ result = @client.list(
142
+ before_id: before_id,
143
+ limit: limit,
144
+ danger: true,
145
+ url: url,
146
+ path: PATH
147
+ )
148
+
149
+ NgrokAPI::Models::Listable.new(
150
+ client: self,
151
+ attrs: result,
152
+ list_property: LIST_PROPERTY,
153
+ klass: NgrokAPI::Models::TCPEdge,
154
+ danger: true
155
+ )
156
+ end
157
+
158
+ ##
159
+ # Updates a TCP Edge by ID. If a module is not specified in the update, it will
160
+ # not be modified. However, each module configuration that is specified will
161
+ # completely replace the existing value. There is no way to delete an existing
162
+ # module via this API, instead use the delete module API.
163
+ #
164
+ # @param [string] id unique identifier of this edge
165
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
166
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
167
+ # @param [List<string>] hostports hostports served by this edge
168
+ # @param [EndpointBackendMutate] backend edge modules
169
+ # @param [EndpointIPPolicyMutate] ip_restriction
170
+ # @return [NgrokAPI::Models::TCPEdge] result from the API request
171
+ #
172
+ # https://ngrok.com/docs/api#api-edges-tcp-update
173
+ def update(id: "", description: nil, metadata: nil, hostports: nil, backend: nil, ip_restriction: nil)
174
+ path = '/edges/tcp/%{id}'
175
+ replacements = {
176
+ id: id,
177
+ }
178
+ data = {}
179
+ data[:description] = description if description
180
+ data[:metadata] = metadata if metadata
181
+ data[:hostports] = hostports if hostports
182
+ data[:backend] = backend if backend
183
+ data[:ip_restriction] = ip_restriction if ip_restriction
184
+ result = @client.patch(path % replacements, data: data)
185
+ NgrokAPI::Models::TCPEdge.new(client: self, attrs: result)
186
+ end
187
+
188
+ ##
189
+ # Updates a TCP Edge by ID. If a module is not specified in the update, it will
190
+ # not be modified. However, each module configuration that is specified will
191
+ # completely replace the existing value. There is no way to delete an existing
192
+ # module via this API, instead use the delete module API.
193
+ # Throws an exception if API error.
194
+ #
195
+ # @param [string] id unique identifier of this edge
196
+ # @param [string] description human-readable description of what this edge will be used for; optional, max 255 bytes.
197
+ # @param [string] metadata arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
198
+ # @param [List<string>] hostports hostports served by this edge
199
+ # @param [EndpointBackendMutate] backend edge modules
200
+ # @param [EndpointIPPolicyMutate] ip_restriction
201
+ # @return [NgrokAPI::Models::TCPEdge] result from the API request
202
+ #
203
+ # https://ngrok.com/docs/api#api-edges-tcp-update
204
+ def update!(id: "", description: nil, metadata: nil, hostports: nil, backend: nil, ip_restriction: nil)
205
+ path = '/edges/tcp/%{id}'
206
+ replacements = {
207
+ id: id,
208
+ }
209
+ data = {}
210
+ data[:description] = description if description
211
+ data[:metadata] = metadata if metadata
212
+ data[:hostports] = hostports if hostports
213
+ data[:backend] = backend if backend
214
+ data[:ip_restriction] = ip_restriction if ip_restriction
215
+ result = @client.patch(path % replacements, data: data, danger: true)
216
+ NgrokAPI::Models::TCPEdge.new(client: self, attrs: result)
217
+ end
218
+
219
+ ##
220
+ # Delete a TCP Edge by ID
221
+ #
222
+ # @param [string] id a resource identifier
223
+ # @return [NgrokAPI::Models::Empty] result from the API request
224
+ #
225
+ # https://ngrok.com/docs/api#api-edges-tcp-delete
226
+ def delete(id: "")
227
+ path = '/edges/tcp/%{id}'
228
+ replacements = {
229
+ id: id,
230
+ }
231
+ @client.delete(path % replacements)
232
+ end
233
+
234
+ ##
235
+ # Delete a TCP Edge by ID
236
+ # Throws an exception if API error.
237
+ #
238
+ # @param [string] id a resource identifier
239
+ # @return [NgrokAPI::Models::Empty] result from the API request
240
+ #
241
+ # https://ngrok.com/docs/api#api-edges-tcp-delete
242
+ def delete!(id: "")
243
+ path = '/edges/tcp/%{id}'
244
+ replacements = {
245
+ id: id,
246
+ }
247
+ @client.delete(path % replacements, danger: true)
248
+ end
249
+ end
250
+ end
251
+ end