@ngrok/ngrok-api 0.1.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +102 -31
  3. package/docs/CNAME +1 -0
  4. package/docs/assets/js/search.js +1 -1
  5. package/docs/classes/client.Ngrok.html +772 -0
  6. package/docs/classes/services.APIKeys.html +354 -0
  7. package/docs/classes/services.AbuseReports.html +261 -0
  8. package/docs/classes/services.AgentIngresses.html +343 -0
  9. package/docs/classes/services.CertificateAuthorities.html +354 -0
  10. package/docs/classes/services.Credentials.html +353 -0
  11. package/docs/classes/services.EdgeRouteBackendModule.html +270 -0
  12. package/docs/classes/services.EdgeRouteCircuitBreakerModule.html +270 -0
  13. package/docs/classes/services.EdgeRouteCompressionModule.html +270 -0
  14. package/docs/classes/services.EdgeRouteIPRestrictionModule.html +270 -0
  15. package/docs/classes/services.EdgeRouteOAuthModule.html +270 -0
  16. package/docs/classes/services.EdgeRouteOIDCModule.html +270 -0
  17. package/docs/classes/services.EdgeRouteRequestHeadersModule.html +270 -0
  18. package/docs/classes/services.EdgeRouteResponseHeadersModule.html +270 -0
  19. package/docs/classes/services.EdgeRouteSAMLModule.html +270 -0
  20. package/docs/classes/services.EdgeRouteWebhookVerificationModule.html +270 -0
  21. package/docs/classes/services.EdgeRouteWebsocketTCPConverterModule.html +270 -0
  22. package/docs/classes/services.EdgesHTTPS.html +343 -0
  23. package/docs/classes/services.EdgesHTTPSRoutes.html +317 -0
  24. package/docs/classes/services.EdgesTCP.html +343 -0
  25. package/docs/classes/services.EdgesTLS.html +343 -0
  26. package/docs/classes/services.Endpoints.html +256 -0
  27. package/docs/classes/services.EventDestinations.html +343 -0
  28. package/docs/classes/services.EventSources.html +349 -0
  29. package/docs/classes/services.EventSubscriptions.html +343 -0
  30. package/docs/classes/services.FailoverBackends.html +353 -0
  31. package/docs/classes/services.HTTPResponseBackends.html +318 -0
  32. package/docs/classes/services.HTTPSEdgeMutualTLSModule.html +270 -0
  33. package/docs/classes/services.HTTPSEdgeTLSTerminationModule.html +270 -0
  34. package/docs/classes/services.IPPolicies.html +353 -0
  35. package/docs/classes/services.IPPolicyRules.html +351 -0
  36. package/docs/classes/services.IPRestrictions.html +355 -0
  37. package/docs/classes/services.ReservedAddrs.html +352 -0
  38. package/docs/classes/services.ReservedDomains.html +417 -0
  39. package/docs/classes/services.SSHCertificateAuthorities.html +351 -0
  40. package/docs/classes/services.SSHCredentials.html +351 -0
  41. package/docs/classes/services.SSHHostCertificates.html +352 -0
  42. package/docs/classes/services.SSHUserCertificates.html +352 -0
  43. package/docs/classes/services.TCPEdgeBackendModule.html +270 -0
  44. package/docs/classes/services.TCPEdgeIPRestrictionModule.html +270 -0
  45. package/docs/classes/services.TLSCertificates.html +354 -0
  46. package/docs/classes/services.TLSEdgeBackendModule.html +270 -0
  47. package/docs/classes/services.TLSEdgeIPRestrictionModule.html +270 -0
  48. package/docs/classes/services.TLSEdgeMutualTLSModule.html +270 -0
  49. package/docs/classes/services.TLSEdgeTLSTerminationModule.html +270 -0
  50. package/docs/classes/services.TunnelGroupBackends.html +351 -0
  51. package/docs/classes/services.TunnelSessions.html +352 -0
  52. package/docs/classes/services.Tunnels.html +255 -0
  53. package/docs/classes/services.WeightedBackends.html +353 -0
  54. package/docs/index.html +103 -546
  55. package/docs/interfaces/client.NgrokConfig.html +179 -0
  56. package/docs/interfaces/{apikey.html → datatypes.APIKey.html} +41 -29
  57. package/docs/interfaces/{apikeycreate.html → datatypes.APIKeyCreate.html} +25 -13
  58. package/docs/interfaces/{apikeylist.html → datatypes.APIKeyList.html} +32 -20
  59. package/docs/interfaces/{apikeyupdate.html → datatypes.APIKeyUpdate.html} +28 -16
  60. package/docs/interfaces/{awsauth.html → datatypes.AWSAuth.html} +27 -15
  61. package/docs/interfaces/{awscredentials.html → datatypes.AWSCredentials.html} +31 -19
  62. package/docs/interfaces/{awsrole.html → datatypes.AWSRole.html} +25 -13
  63. package/docs/interfaces/{abusereport.html → datatypes.AbuseReport.html} +45 -33
  64. package/docs/interfaces/{abusereportcreate.html → datatypes.AbuseReportCreate.html} +25 -13
  65. package/docs/interfaces/{abusereporthostname.html → datatypes.AbuseReportHostname.html} +26 -14
  66. package/docs/interfaces/datatypes.AgentIngress.html +300 -0
  67. package/docs/interfaces/{ipwhitelistentrycreate.html → datatypes.AgentIngressCreate.html} +37 -25
  68. package/docs/interfaces/datatypes.AgentIngressList.html +205 -0
  69. package/docs/interfaces/{ipwhitelistentryupdate.html → datatypes.AgentIngressUpdate.html} +33 -21
  70. package/docs/interfaces/{certificateauthority.html → datatypes.CertificateAuthority.html} +73 -61
  71. package/docs/interfaces/{certificateauthoritycreate.html → datatypes.CertificateAuthorityCreate.html} +31 -19
  72. package/docs/interfaces/{certificateauthoritylist.html → datatypes.CertificateAuthorityList.html} +34 -22
  73. package/docs/interfaces/{certificateauthorityupdate.html → datatypes.CertificateAuthorityUpdate.html} +28 -16
  74. package/docs/interfaces/{credential.html → datatypes.Credential.html} +45 -33
  75. package/docs/interfaces/{credentialcreate.html → datatypes.CredentialCreate.html} +29 -17
  76. package/docs/interfaces/{credentiallist.html → datatypes.CredentialList.html} +32 -20
  77. package/docs/interfaces/{credentialupdate.html → datatypes.CredentialUpdate.html} +32 -20
  78. package/docs/interfaces/{endpointippolicyreplace.html → datatypes.EdgeBackendReplace.html} +29 -17
  79. package/docs/interfaces/{endpointbackendreplace.html → datatypes.EdgeIPRestrictionReplace.html} +29 -17
  80. package/docs/interfaces/{endpointresponseheadersreplace.html → datatypes.EdgeMutualTLSReplace.html} +29 -17
  81. package/docs/interfaces/datatypes.EdgeRouteBackendReplace.html +190 -0
  82. package/docs/interfaces/datatypes.EdgeRouteCircuitBreakerReplace.html +190 -0
  83. package/docs/interfaces/datatypes.EdgeRouteCompressionReplace.html +190 -0
  84. package/docs/interfaces/datatypes.EdgeRouteIPRestrictionReplace.html +190 -0
  85. package/docs/interfaces/{reserveddomaincertnstarget.html → datatypes.EdgeRouteItem.html} +36 -24
  86. package/docs/interfaces/datatypes.EdgeRouteOAuthReplace.html +190 -0
  87. package/docs/interfaces/datatypes.EdgeRouteOIDCReplace.html +190 -0
  88. package/docs/interfaces/datatypes.EdgeRouteRequestHeadersReplace.html +190 -0
  89. package/docs/interfaces/datatypes.EdgeRouteResponseHeadersReplace.html +190 -0
  90. package/docs/interfaces/datatypes.EdgeRouteSAMLReplace.html +190 -0
  91. package/docs/interfaces/datatypes.EdgeRouteWebhookVerificationReplace.html +190 -0
  92. package/docs/interfaces/datatypes.EdgeRouteWebsocketTCPConverterReplace.html +190 -0
  93. package/docs/interfaces/{endpointoauthreplace.html → datatypes.EdgeTLSTerminationAtEdgeReplace.html} +29 -17
  94. package/docs/interfaces/{endpointbasicauthreplace.html → datatypes.EdgeTLSTerminationReplace.html} +29 -17
  95. package/docs/interfaces/{empty.html → datatypes.Empty.html} +18 -7
  96. package/docs/interfaces/datatypes.Endpoint.html +395 -0
  97. package/docs/interfaces/{endpointbackend.html → datatypes.EndpointBackend.html} +27 -15
  98. package/docs/interfaces/{endpointlogging.html → datatypes.EndpointBackendMutate.html} +36 -24
  99. package/docs/interfaces/{endpointcircuitbreaker.html → datatypes.EndpointCircuitBreaker.html} +53 -41
  100. package/docs/interfaces/{endpointcompression.html → datatypes.EndpointCompression.html} +23 -11
  101. package/docs/interfaces/{endpointippolicy.html → datatypes.EndpointIPPolicy.html} +29 -17
  102. package/docs/interfaces/{endpointippolicymutate.html → datatypes.EndpointIPPolicyMutate.html} +29 -17
  103. package/docs/interfaces/datatypes.EndpointList.html +205 -0
  104. package/docs/interfaces/{endpointmutualtls.html → datatypes.EndpointMutualTLS.html} +29 -17
  105. package/docs/interfaces/{endpointmutualtlsmutate.html → datatypes.EndpointMutualTLSMutate.html} +29 -17
  106. package/docs/interfaces/{endpointoauth.html → datatypes.EndpointOAuth.html} +57 -45
  107. package/docs/interfaces/{endpointoauthfacebook.html → datatypes.EndpointOAuthFacebook.html} +48 -36
  108. package/docs/interfaces/{endpointoauthgithub.html → datatypes.EndpointOAuthGitHub.html} +55 -43
  109. package/docs/interfaces/{endpointoauthgoogle.html → datatypes.EndpointOAuthGoogle.html} +48 -36
  110. package/docs/interfaces/{endpointoauthmicrosoft.html → datatypes.EndpointOAuthMicrosoft.html} +48 -36
  111. package/docs/interfaces/{endpointoauthprovider.html → datatypes.EndpointOAuthProvider.html} +35 -23
  112. package/docs/interfaces/{endpointoidc.html → datatypes.EndpointOIDC.html} +65 -53
  113. package/docs/interfaces/{endpointrequestheaders.html → datatypes.EndpointRequestHeaders.html} +29 -17
  114. package/docs/interfaces/{endpointresponseheaders.html → datatypes.EndpointResponseHeaders.html} +29 -17
  115. package/docs/interfaces/{endpointsaml.html → datatypes.EndpointSAML.html} +121 -90
  116. package/docs/interfaces/{endpointsamlmutate.html → datatypes.EndpointSAMLMutate.html} +91 -60
  117. package/docs/interfaces/{endpointtlstermination.html → datatypes.EndpointTLSTermination.html} +37 -25
  118. package/docs/interfaces/{endpointloggingmutate.html → datatypes.EndpointTLSTerminationAtEdge.html} +33 -21
  119. package/docs/interfaces/{endpointwebhookvalidation.html → datatypes.EndpointWebhookValidation.html} +30 -18
  120. package/docs/interfaces/{staticbackendtls.html → datatypes.EndpointWebsocketTCPConverter.html} +27 -15
  121. package/docs/interfaces/{error.html → datatypes.Error.html} +37 -25
  122. package/docs/interfaces/{eventdestination.html → datatypes.EventDestination.html} +46 -34
  123. package/docs/interfaces/{eventdestinationcreate.html → datatypes.EventDestinationCreate.html} +34 -22
  124. package/docs/interfaces/{eventdestinationlist.html → datatypes.EventDestinationList.html} +34 -22
  125. package/docs/interfaces/{eventdestinationupdate.html → datatypes.EventDestinationUpdate.html} +37 -25
  126. package/docs/interfaces/{eventsource.html → datatypes.EventSource.html} +25 -13
  127. package/docs/interfaces/{eventsourcecreate.html → datatypes.EventSourceCreate.html} +28 -16
  128. package/docs/interfaces/{eventsourceitem.html → datatypes.EventSourceItem.html} +28 -16
  129. package/docs/interfaces/{eventsourcelist.html → datatypes.EventSourceList.html} +26 -14
  130. package/docs/interfaces/{eventsourcepaging.html → datatypes.EventSourcePaging.html} +25 -13
  131. package/docs/interfaces/{eventsourcereplace.html → datatypes.EventSourceReplace.html} +22 -10
  132. package/docs/interfaces/{eventsourceupdate.html → datatypes.EventSourceUpdate.html} +28 -16
  133. package/docs/interfaces/{eventsubscription.html → datatypes.EventSubscription.html} +45 -33
  134. package/docs/interfaces/{eventsubscriptioncreate.html → datatypes.EventSubscriptionCreate.html} +36 -24
  135. package/docs/interfaces/{eventsubscriptionlist.html → datatypes.EventSubscriptionList.html} +34 -22
  136. package/docs/interfaces/{eventsubscriptionupdate.html → datatypes.EventSubscriptionUpdate.html} +39 -27
  137. package/docs/interfaces/{eventtarget.html → datatypes.EventTarget.html} +33 -21
  138. package/docs/interfaces/{eventtargetcloudwatchlogs.html → datatypes.EventTargetCloudwatchLogs.html} +30 -18
  139. package/docs/interfaces/{eventtargetfirehose.html → datatypes.EventTargetFirehose.html} +30 -18
  140. package/docs/interfaces/{eventtargetkinesis.html → datatypes.EventTargetKinesis.html} +30 -18
  141. package/docs/interfaces/{staticbackend.html → datatypes.FailoverBackend.html} +52 -40
  142. package/docs/interfaces/{prioritybackendcreate.html → datatypes.FailoverBackendCreate.html} +31 -19
  143. package/docs/interfaces/{prioritybackendlist.html → datatypes.FailoverBackendList.html} +37 -25
  144. package/docs/interfaces/{prioritybackendupdate.html → datatypes.FailoverBackendUpdate.html} +34 -22
  145. package/docs/interfaces/datatypes.HTTPResponseBackend.html +295 -0
  146. package/docs/interfaces/{tunnelgroupbackend.html → datatypes.HTTPResponseBackendCreate.html} +53 -41
  147. package/docs/interfaces/{staticbackendlist.html → datatypes.HTTPResponseBackendList.html} +35 -38
  148. package/docs/interfaces/{tcpedge.html → datatypes.HTTPResponseBackendUpdate.html} +58 -65
  149. package/docs/interfaces/{eventstream.html → datatypes.HTTPSEdge.html} +78 -71
  150. package/docs/interfaces/{staticbackendupdate.html → datatypes.HTTPSEdgeCreate.html} +60 -48
  151. package/docs/interfaces/datatypes.HTTPSEdgeList.html +205 -0
  152. package/docs/interfaces/datatypes.HTTPSEdgeRoute.html +509 -0
  153. package/docs/interfaces/{endpointconfigurationcreate.html → datatypes.HTTPSEdgeRouteCreate.html} +141 -110
  154. package/docs/interfaces/{endpointconfiguration.html → datatypes.HTTPSEdgeRouteUpdate.html} +138 -145
  155. package/docs/interfaces/{tlsedgeupdate.html → datatypes.HTTPSEdgeUpdate.html} +65 -43
  156. package/docs/interfaces/{ippolicy.html → datatypes.IPPolicy.html} +37 -44
  157. package/docs/interfaces/{ippolicycreate.html → datatypes.IPPolicyCreate.html} +25 -32
  158. package/docs/interfaces/{ippolicylist.html → datatypes.IPPolicyList.html} +34 -22
  159. package/docs/interfaces/{ippolicyrule.html → datatypes.IPPolicyRule.html} +65 -34
  160. package/docs/interfaces/{ippolicyrulecreate.html → datatypes.IPPolicyRuleCreate.html} +53 -22
  161. package/docs/interfaces/{ippolicyrulelist.html → datatypes.IPPolicyRuleList.html} +34 -22
  162. package/docs/interfaces/{ippolicyruleupdate.html → datatypes.IPPolicyRuleUpdate.html} +31 -19
  163. package/docs/interfaces/{ippolicyupdate.html → datatypes.IPPolicyUpdate.html} +28 -16
  164. package/docs/interfaces/{iprestriction.html → datatypes.IPRestriction.html} +50 -38
  165. package/docs/interfaces/{iprestrictioncreate.html → datatypes.IPRestrictionCreate.html} +38 -26
  166. package/docs/interfaces/{iprestrictionlist.html → datatypes.IPRestrictionList.html} +34 -22
  167. package/docs/interfaces/{iprestrictionupdate.html → datatypes.IPRestrictionUpdate.html} +37 -25
  168. package/docs/interfaces/{item.html → datatypes.Item.html} +22 -10
  169. package/docs/interfaces/{paging.html → datatypes.Paging.html} +28 -16
  170. package/docs/interfaces/{ref.html → datatypes.Ref.html} +25 -13
  171. package/docs/interfaces/{reservedaddr.html → datatypes.ReservedAddr.html} +43 -50
  172. package/docs/interfaces/{reservedaddrcreate.html → datatypes.ReservedAddrCreate.html} +28 -35
  173. package/docs/interfaces/{reservedaddrlist.html → datatypes.ReservedAddrList.html} +34 -22
  174. package/docs/interfaces/datatypes.ReservedAddrUpdate.html +200 -0
  175. package/docs/interfaces/{reserveddomain.html → datatypes.ReservedDomain.html} +82 -89
  176. package/docs/interfaces/{reserveddomaincertjob.html → datatypes.ReservedDomainCertJob.html} +40 -47
  177. package/docs/interfaces/{reserveddomaincertpolicy.html → datatypes.ReservedDomainCertPolicy.html} +28 -16
  178. package/docs/interfaces/{reserveddomaincertstatus.html → datatypes.ReservedDomainCertStatus.html} +31 -19
  179. package/docs/interfaces/{reserveddomaincreate.html → datatypes.ReservedDomainCreate.html} +45 -71
  180. package/docs/interfaces/{reserveddomainlist.html → datatypes.ReservedDomainList.html} +34 -22
  181. package/docs/interfaces/datatypes.ReservedDomainUpdate.html +238 -0
  182. package/docs/interfaces/{sshcertificateauthority.html → datatypes.SSHCertificateAuthority.html} +49 -37
  183. package/docs/interfaces/{sshcertificateauthoritycreate.html → datatypes.SSHCertificateAuthorityCreate.html} +45 -33
  184. package/docs/interfaces/{sshcertificateauthoritylist.html → datatypes.SSHCertificateAuthorityList.html} +34 -22
  185. package/docs/interfaces/{sshcertificateauthorityupdate.html → datatypes.SSHCertificateAuthorityUpdate.html} +28 -16
  186. package/docs/interfaces/{sshcredential.html → datatypes.SSHCredential.html} +47 -35
  187. package/docs/interfaces/{sshcredentialcreate.html → datatypes.SSHCredentialCreate.html} +35 -23
  188. package/docs/interfaces/{sshcredentiallist.html → datatypes.SSHCredentialList.html} +34 -22
  189. package/docs/interfaces/{sshcredentialupdate.html → datatypes.SSHCredentialUpdate.html} +32 -20
  190. package/docs/interfaces/{sshhostcertificate.html → datatypes.SSHHostCertificate.html} +76 -64
  191. package/docs/interfaces/{sshhostcertificatecreate.html → datatypes.SSHHostCertificateCreate.html} +53 -41
  192. package/docs/interfaces/{sshhostcertificatelist.html → datatypes.SSHHostCertificateList.html} +34 -22
  193. package/docs/interfaces/{sshhostcertificateupdate.html → datatypes.SSHHostCertificateUpdate.html} +28 -16
  194. package/docs/interfaces/{sshusercertificate.html → datatypes.SSHUserCertificate.html} +87 -75
  195. package/docs/interfaces/{sshusercertificatecreate.html → datatypes.SSHUserCertificateCreate.html} +64 -52
  196. package/docs/interfaces/{sshusercertificatelist.html → datatypes.SSHUserCertificateList.html} +34 -22
  197. package/docs/interfaces/{sshusercertificateupdate.html → datatypes.SSHUserCertificateUpdate.html} +28 -16
  198. package/docs/interfaces/{tlsedge.html → datatypes.TCPEdge.html} +69 -66
  199. package/docs/interfaces/{tlsedgecreate.html → datatypes.TCPEdgeCreate.html} +64 -42
  200. package/docs/interfaces/{endpointconfigurationlist.html → datatypes.TCPEdgeList.html} +40 -28
  201. package/docs/interfaces/{eventstreamupdate.html → datatypes.TCPEdgeUpdate.html} +60 -53
  202. package/docs/interfaces/{tlscertificate.html → datatypes.TLSCertificate.html} +134 -122
  203. package/docs/interfaces/{tlscertificatecreate.html → datatypes.TLSCertificateCreate.html} +39 -27
  204. package/docs/interfaces/{tlscertificatelist.html → datatypes.TLSCertificateList.html} +34 -22
  205. package/docs/interfaces/{tlscertificatesans.html → datatypes.TLSCertificateSANs.html} +28 -16
  206. package/docs/interfaces/{tlscertificateupdate.html → datatypes.TLSCertificateUpdate.html} +28 -16
  207. package/docs/interfaces/datatypes.TLSEdge.html +323 -0
  208. package/docs/interfaces/datatypes.TLSEdgeCreate.html +266 -0
  209. package/docs/interfaces/datatypes.TLSEdgeList.html +205 -0
  210. package/docs/interfaces/{reserveddomainupdate.html → datatypes.TLSEdgeUpdate.html} +83 -62
  211. package/docs/interfaces/datatypes.Tunnel.html +357 -0
  212. package/docs/interfaces/datatypes.TunnelGroupBackend.html +281 -0
  213. package/docs/interfaces/{tunnelgroupbackendcreate.html → datatypes.TunnelGroupBackendCreate.html} +28 -16
  214. package/docs/interfaces/{tunnelgroupbackendlist.html → datatypes.TunnelGroupBackendList.html} +32 -20
  215. package/docs/interfaces/{tunnelgroupbackendupdate.html → datatypes.TunnelGroupBackendUpdate.html} +31 -19
  216. package/docs/interfaces/{tunnellist.html → datatypes.TunnelList.html} +32 -20
  217. package/docs/interfaces/{tunnelsession.html → datatypes.TunnelSession.html} +57 -45
  218. package/docs/interfaces/{tunnelsessionlist.html → datatypes.TunnelSessionList.html} +34 -22
  219. package/docs/interfaces/{tunnelsessionsupdate.html → datatypes.TunnelSessionsUpdate.html} +22 -10
  220. package/docs/interfaces/{weightedbackend.html → datatypes.WeightedBackend.html} +56 -25
  221. package/docs/interfaces/{weightedbackendcreate.html → datatypes.WeightedBackendCreate.html} +28 -16
  222. package/docs/interfaces/{weightedbackendlist.html → datatypes.WeightedBackendList.html} +32 -20
  223. package/docs/interfaces/{weightedbackendupdate.html → datatypes.WeightedBackendUpdate.html} +31 -19
  224. package/docs/{interfaces/endpointbasicauth.html → modules/client.html} +38 -20
  225. package/docs/modules/datatypes.html +796 -0
  226. package/docs/modules/services.html +316 -0
  227. package/docs/modules.html +16 -690
  228. package/lib/client.d.ts +179 -0
  229. package/lib/client.d.ts.map +1 -0
  230. package/lib/client.js +126 -0
  231. package/lib/client.js.map +1 -0
  232. package/lib/{types.d.ts → datatypes.d.ts} +729 -660
  233. package/lib/datatypes.d.ts.map +1 -0
  234. package/lib/{types.js → datatypes.js} +1 -1
  235. package/lib/datatypes.js.map +1 -0
  236. package/lib/index.d.ts +2 -378
  237. package/lib/index.d.ts.map +1 -1
  238. package/lib/index.js +2 -2148
  239. package/lib/index.js.map +1 -1
  240. package/lib/services.d.ts +993 -0
  241. package/lib/services.d.ts.map +1 -0
  242. package/lib/services.js +3600 -0
  243. package/lib/services.js.map +1 -0
  244. package/lib/util.d.ts +5 -0
  245. package/lib/util.d.ts.map +1 -0
  246. package/lib/util.js +53 -0
  247. package/lib/util.js.map +1 -0
  248. package/package.json +2 -2
  249. package/src/client.ts +322 -0
  250. package/src/{types.ts → datatypes.ts} +760 -689
  251. package/src/index.ts +2 -1775
  252. package/src/services.ts +3380 -0
  253. package/src/util.ts +48 -0
  254. package/test/apikey.test.js +41 -30
  255. package/docs/classes/ngrok.html +0 -5028
  256. package/docs/interfaces/endpointbackendmutate.html +0 -119
  257. package/docs/interfaces/endpointcircuitbreakerreplace.html +0 -164
  258. package/docs/interfaces/endpointcompressionreplace.html +0 -164
  259. package/docs/interfaces/endpointconfigurationupdate.html +0 -421
  260. package/docs/interfaces/endpointloggingreplace.html +0 -164
  261. package/docs/interfaces/endpointmutualtlsreplace.html +0 -164
  262. package/docs/interfaces/endpointoidcreplace.html +0 -164
  263. package/docs/interfaces/endpointrequestheadersreplace.html +0 -164
  264. package/docs/interfaces/endpointsamlreplace.html +0 -164
  265. package/docs/interfaces/endpointtlsterminationreplace.html +0 -164
  266. package/docs/interfaces/endpointwebhookvalidationreplace.html +0 -164
  267. package/docs/interfaces/eventstreamcreate.html +0 -250
  268. package/docs/interfaces/eventstreamlist.html +0 -193
  269. package/docs/interfaces/eventtargetdebug.html +0 -119
  270. package/docs/interfaces/eventtargets3.html +0 -250
  271. package/docs/interfaces/ipwhitelistentry.html +0 -250
  272. package/docs/interfaces/ipwhitelistentrylist.html +0 -193
  273. package/docs/interfaces/prioritybackend.html +0 -231
  274. package/docs/interfaces/reservedaddrupdate.html +0 -207
  275. package/docs/interfaces/rootresponse.html +0 -164
  276. package/docs/interfaces/sentevent.html +0 -150
  277. package/docs/interfaces/staticbackendcreate.html +0 -212
  278. package/docs/interfaces/tcpedgecreate.html +0 -188
  279. package/docs/interfaces/tcpedgeupdate.html +0 -207
  280. package/docs/interfaces/tunnel.html +0 -269
  281. package/lib/types.d.ts.map +0 -1
  282. package/lib/types.js.map +0 -1
  283. package/test/endpointConfigurations.test.js +0 -63
@@ -0,0 +1,179 @@
1
+ import * as services from './services';
2
+ export interface NgrokConfig {
3
+ apiToken: string;
4
+ baseUrl: string;
5
+ }
6
+ export declare class Ngrok {
7
+ private token;
8
+ private baseUrl;
9
+ private httpClient;
10
+ /**
11
+ * Abuse Reports allow you to submit take-down requests for URLs hosted by
12
+ ngrok that violate ngrok's terms of service.
13
+ */
14
+ abuseReports: services.AbuseReports;
15
+ agentIngresses: services.AgentIngresses;
16
+ /**
17
+ * API Keys are used to authenticate to the [ngrok
18
+ API](https://ngrok.com/docs/api#authentication). You may use the API itself
19
+ to provision and manage API Keys but you'll need to provision your first API
20
+ key from the [API Keys page](https://dashboard.ngrok.com/api/keys) on your
21
+ ngrok.com dashboard.
22
+ */
23
+ apiKeys: services.APIKeys;
24
+ /**
25
+ * Certificate Authorities are x509 certificates that are used to sign other
26
+ x509 certificates. Attach a Certificate Authority to the Mutual TLS module
27
+ to verify that the TLS certificate presented by a client has been signed by
28
+ this CA. Certificate Authorities are used only for mTLS validation only and
29
+ thus a private key is not included in the resource.
30
+ */
31
+ certificateAuthorities: services.CertificateAuthorities;
32
+ /**
33
+ * Tunnel Credentials are ngrok agent authtokens. They authorize the ngrok
34
+ agent to connect the ngrok service as your account. They are installed with
35
+ the `ngrok authtoken` command or by specifying it in the `ngrok.yml`
36
+ configuration file with the `authtoken` property.
37
+ */
38
+ credentials: services.Credentials;
39
+ /**
40
+ * Endpoints provides an API for querying the endpoint objects
41
+ which define what tunnel or edge is used to serve a hostport.
42
+ Only active endpoints associated with a tunnel or backend are returned.
43
+ */
44
+ endpoints: services.Endpoints;
45
+ eventDestinations: services.EventDestinations;
46
+ eventSubscriptions: services.EventSubscriptions;
47
+ eventSources: services.EventSources;
48
+ /**
49
+ * IP Policies are reusable groups of CIDR ranges with an `allow` or `deny`
50
+ action. They can be attached to endpoints via the Endpoint Configuration IP
51
+ Policy module. They can also be used with IP Restrictions to control source
52
+ IP ranges that can start tunnel sessions and connect to the API and dashboard.
53
+ */
54
+ ipPolicies: services.IPPolicies;
55
+ /**
56
+ * IP Policy Rules are the IPv4 or IPv6 CIDRs entries that
57
+ make up an IP Policy.
58
+ */
59
+ ipPolicyRules: services.IPPolicyRules;
60
+ /**
61
+ * An IP restriction is a restriction placed on the CIDRs that are allowed to
62
+ initiate traffic to a specific aspect of your ngrok account. An IP
63
+ restriction has a type which defines the ingress it applies to. IP
64
+ restrictions can be used to enforce the source IPs that can make API
65
+ requests, log in to the dashboard, start ngrok agents, and connect to your
66
+ public-facing endpoints.
67
+ */
68
+ ipRestrictions: services.IPRestrictions;
69
+ /**
70
+ * Reserved Addresses are TCP addresses that can be used to listen for traffic.
71
+ TCP address hostnames and ports are assigned by ngrok, they cannot be
72
+ chosen.
73
+ */
74
+ reservedAddrs: services.ReservedAddrs;
75
+ /**
76
+ * Reserved Domains are hostnames that you can listen for traffic on. Domains
77
+ can be used to listen for http, https or tls traffic. You may use a domain
78
+ that you own by creating a CNAME record specified in the returned resource.
79
+ This CNAME record points traffic for that domain to ngrok's edge servers.
80
+ */
81
+ reservedDomains: services.ReservedDomains;
82
+ /**
83
+ * An SSH Certificate Authority is a pair of an SSH Certificate and its private
84
+ key that can be used to sign other SSH host and user certificates.
85
+ */
86
+ sshCertificateAuthorities: services.SSHCertificateAuthorities;
87
+ /**
88
+ * SSH Credentials are SSH public keys that can be used to start SSH tunnels
89
+ via the ngrok SSH tunnel gateway.
90
+ */
91
+ sshCredentials: services.SSHCredentials;
92
+ /**
93
+ * SSH Host Certificates along with the corresponding private key allows an SSH
94
+ server to assert its authenticity to connecting SSH clients who trust the
95
+ SSH Certificate Authority that was used to sign the certificate.
96
+ */
97
+ sshHostCertificates: services.SSHHostCertificates;
98
+ /**
99
+ * SSH User Certificates are presented by SSH clients when connecting to an SSH
100
+ server to authenticate their connection. The SSH server must trust the SSH
101
+ Certificate Authority used to sign the certificate.
102
+ */
103
+ sshUserCertificates: services.SSHUserCertificates;
104
+ /**
105
+ * TLS Certificates are pairs of x509 certificates and their matching private
106
+ key that can be used to terminate TLS traffic. TLS certificates are unused
107
+ until they are attached to a Domain. TLS Certificates may also be
108
+ provisioned by ngrok automatically for domains on which you have enabled
109
+ automated certificate provisioning.
110
+ */
111
+ tlsCertificates: services.TLSCertificates;
112
+ /**
113
+ * Tunnel Sessions represent instances of ngrok agents or SSH reverse tunnel
114
+ sessions that are running and connected to the ngrok service. Each tunnel
115
+ session can include one or more Tunnels.
116
+ */
117
+ tunnelSessions: services.TunnelSessions;
118
+ /**
119
+ * Tunnels provide endpoints to access services exposed by a running ngrok
120
+ agent tunnel session or an SSH reverse tunnel session.
121
+ */
122
+ tunnels: services.Tunnels;
123
+ backends: {
124
+ /**
125
+ * A Failover backend defines failover behavior within a list of referenced
126
+ backends. Traffic is sent to the first backend in the list. If that backend
127
+ is offline or no connection can be established, ngrok attempts to connect to
128
+ the next backend in the list until one is successful.
129
+ */
130
+ failoverBackends: services.FailoverBackends;
131
+ httpResponseBackends: services.HTTPResponseBackends;
132
+ /**
133
+ * A Tunnel Group Backend balances traffic among all online tunnels that match
134
+ a label selector.
135
+ */
136
+ tunnelGroupBackends: services.TunnelGroupBackends;
137
+ /**
138
+ * A Weighted Backend balances traffic among the referenced backends. Traffic
139
+ is assigned proportionally to each based on its weight. The percentage of
140
+ traffic is calculated by dividing a backend's weight by the sum of all
141
+ weights.
142
+ */
143
+ weightedBackends: services.WeightedBackends;
144
+ };
145
+ edges: {
146
+ edgesHttpsRoutes: services.EdgesHTTPSRoutes;
147
+ edgesHttps: services.EdgesHTTPS;
148
+ edgesTcp: services.EdgesTCP;
149
+ edgesTls: services.EdgesTLS;
150
+ };
151
+ edgeModules: {
152
+ httpsEdgeMutualTlsModule: services.HTTPSEdgeMutualTLSModule;
153
+ httpsEdgeTlsTerminationModule: services.HTTPSEdgeTLSTerminationModule;
154
+ edgeRouteBackendModule: services.EdgeRouteBackendModule;
155
+ edgeRouteIpRestrictionModule: services.EdgeRouteIPRestrictionModule;
156
+ edgeRouteRequestHeadersModule: services.EdgeRouteRequestHeadersModule;
157
+ edgeRouteResponseHeadersModule: services.EdgeRouteResponseHeadersModule;
158
+ edgeRouteCompressionModule: services.EdgeRouteCompressionModule;
159
+ edgeRouteCircuitBreakerModule: services.EdgeRouteCircuitBreakerModule;
160
+ edgeRouteWebhookVerificationModule: services.EdgeRouteWebhookVerificationModule;
161
+ edgeRouteOAuthModule: services.EdgeRouteOAuthModule;
162
+ edgeRouteSamlModule: services.EdgeRouteSAMLModule;
163
+ edgeRouteOidcModule: services.EdgeRouteOIDCModule;
164
+ edgeRouteWebsocketTcpConverterModule: services.EdgeRouteWebsocketTCPConverterModule;
165
+ tcpEdgeBackendModule: services.TCPEdgeBackendModule;
166
+ tcpEdgeIpRestrictionModule: services.TCPEdgeIPRestrictionModule;
167
+ tlsEdgeBackendModule: services.TLSEdgeBackendModule;
168
+ tlsEdgeIpRestrictionModule: services.TLSEdgeIPRestrictionModule;
169
+ tlsEdgeMutualTlsModule: services.TLSEdgeMutualTLSModule;
170
+ tlsEdgeTlsTerminationModule: services.TLSEdgeTLSTerminationModule;
171
+ };
172
+ /**
173
+ * Creates an instance of the Ngrok HTTP API client
174
+ * @constructor
175
+ * @param {Object} config - config.apiToken and config.baseUrl
176
+ */
177
+ constructor({ baseUrl, apiToken }: NgrokConfig);
178
+ }
179
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/lib/client.js ADDED
@@ -0,0 +1,126 @@
1
+ 'use strict';
2
+ // Code generated by apic. DO NOT EDIT.
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+ exports.Ngrok = void 0;
5
+ const wretch_1 = require('wretch');
6
+ const formData = require('form-data');
7
+ const url_1 = require('url');
8
+ const node_fetch_1 = require('node-fetch');
9
+ const services = require('./services');
10
+ (0, wretch_1.default)().polyfills({
11
+ fetch: node_fetch_1.default,
12
+ FormData: formData,
13
+ URLSearchParams: url_1.URLSearchParams,
14
+ });
15
+ class Ngrok {
16
+ /**
17
+ * Creates an instance of the Ngrok HTTP API client
18
+ * @constructor
19
+ * @param {Object} config - config.apiToken and config.baseUrl
20
+ */
21
+ constructor({ baseUrl = 'https://api.ngrok.com', apiToken }) {
22
+ this.baseUrl = baseUrl;
23
+ if (apiToken) {
24
+ this.token = apiToken;
25
+ } else {
26
+ throw new Error('Cannot create ngrok client without an API token');
27
+ }
28
+ this.httpClient = (0, wretch_1.default)()
29
+ .url(baseUrl)
30
+ .headers({
31
+ 'User-Agent': 'ngrok-ts-user-agent',
32
+ 'Ngrok-Version': '2',
33
+ })
34
+ .content('application/json')
35
+ .auth('Bearer ' + this.token);
36
+ this.abuseReports = new services.AbuseReports(this.httpClient);
37
+ this.agentIngresses = new services.AgentIngresses(this.httpClient);
38
+ this.apiKeys = new services.APIKeys(this.httpClient);
39
+ this.certificateAuthorities = new services.CertificateAuthorities(
40
+ this.httpClient
41
+ );
42
+ this.credentials = new services.Credentials(this.httpClient);
43
+ this.endpoints = new services.Endpoints(this.httpClient);
44
+ this.eventDestinations = new services.EventDestinations(this.httpClient);
45
+ this.eventSubscriptions = new services.EventSubscriptions(this.httpClient);
46
+ this.eventSources = new services.EventSources(this.httpClient);
47
+ this.ipPolicies = new services.IPPolicies(this.httpClient);
48
+ this.ipPolicyRules = new services.IPPolicyRules(this.httpClient);
49
+ this.ipRestrictions = new services.IPRestrictions(this.httpClient);
50
+ this.reservedAddrs = new services.ReservedAddrs(this.httpClient);
51
+ this.reservedDomains = new services.ReservedDomains(this.httpClient);
52
+ this.sshCertificateAuthorities = new services.SSHCertificateAuthorities(
53
+ this.httpClient
54
+ );
55
+ this.sshCredentials = new services.SSHCredentials(this.httpClient);
56
+ this.sshHostCertificates = new services.SSHHostCertificates(
57
+ this.httpClient
58
+ );
59
+ this.sshUserCertificates = new services.SSHUserCertificates(
60
+ this.httpClient
61
+ );
62
+ this.tlsCertificates = new services.TLSCertificates(this.httpClient);
63
+ this.tunnelSessions = new services.TunnelSessions(this.httpClient);
64
+ this.tunnels = new services.Tunnels(this.httpClient);
65
+ this.backends = {
66
+ failoverBackends: new services.FailoverBackends(this.httpClient),
67
+ httpResponseBackends: new services.HTTPResponseBackends(this.httpClient),
68
+ tunnelGroupBackends: new services.TunnelGroupBackends(this.httpClient),
69
+ weightedBackends: new services.WeightedBackends(this.httpClient),
70
+ };
71
+ this.edges = {
72
+ edgesHttpsRoutes: new services.EdgesHTTPSRoutes(this.httpClient),
73
+ edgesHttps: new services.EdgesHTTPS(this.httpClient),
74
+ edgesTcp: new services.EdgesTCP(this.httpClient),
75
+ edgesTls: new services.EdgesTLS(this.httpClient),
76
+ };
77
+ this.edgeModules = {
78
+ httpsEdgeMutualTlsModule: new services.HTTPSEdgeMutualTLSModule(
79
+ this.httpClient
80
+ ),
81
+ httpsEdgeTlsTerminationModule: new services.HTTPSEdgeTLSTerminationModule(
82
+ this.httpClient
83
+ ),
84
+ edgeRouteBackendModule: new services.EdgeRouteBackendModule(
85
+ this.httpClient
86
+ ),
87
+ edgeRouteIpRestrictionModule: new services.EdgeRouteIPRestrictionModule(
88
+ this.httpClient
89
+ ),
90
+ edgeRouteRequestHeadersModule: new services.EdgeRouteRequestHeadersModule(
91
+ this.httpClient
92
+ ),
93
+ edgeRouteResponseHeadersModule:
94
+ new services.EdgeRouteResponseHeadersModule(this.httpClient),
95
+ edgeRouteCompressionModule: new services.EdgeRouteCompressionModule(
96
+ this.httpClient
97
+ ),
98
+ edgeRouteCircuitBreakerModule: new services.EdgeRouteCircuitBreakerModule(
99
+ this.httpClient
100
+ ),
101
+ edgeRouteWebhookVerificationModule:
102
+ new services.EdgeRouteWebhookVerificationModule(this.httpClient),
103
+ edgeRouteOAuthModule: new services.EdgeRouteOAuthModule(this.httpClient),
104
+ edgeRouteSamlModule: new services.EdgeRouteSAMLModule(this.httpClient),
105
+ edgeRouteOidcModule: new services.EdgeRouteOIDCModule(this.httpClient),
106
+ edgeRouteWebsocketTcpConverterModule:
107
+ new services.EdgeRouteWebsocketTCPConverterModule(this.httpClient),
108
+ tcpEdgeBackendModule: new services.TCPEdgeBackendModule(this.httpClient),
109
+ tcpEdgeIpRestrictionModule: new services.TCPEdgeIPRestrictionModule(
110
+ this.httpClient
111
+ ),
112
+ tlsEdgeBackendModule: new services.TLSEdgeBackendModule(this.httpClient),
113
+ tlsEdgeIpRestrictionModule: new services.TLSEdgeIPRestrictionModule(
114
+ this.httpClient
115
+ ),
116
+ tlsEdgeMutualTlsModule: new services.TLSEdgeMutualTLSModule(
117
+ this.httpClient
118
+ ),
119
+ tlsEdgeTlsTerminationModule: new services.TLSEdgeTLSTerminationModule(
120
+ this.httpClient
121
+ ),
122
+ };
123
+ }
124
+ }
125
+ exports.Ngrok = Ngrok;
126
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}