@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
@@ -5,12 +5,12 @@ export interface Item {
5
5
  id: string;
6
6
  }
7
7
  export interface Paging {
8
- before_id?: string;
8
+ beforeId?: string;
9
9
  limit?: string;
10
10
  }
11
11
  export interface Error {
12
- error_code: string;
13
- status_code: number;
12
+ errorCode: string;
13
+ statusCode: number;
14
14
  msg: string;
15
15
  details: Map<string, string>;
16
16
  }
@@ -26,12 +26,12 @@ export interface AbuseReport {
26
26
  /** URI of the abuse report API resource */
27
27
  uri: string;
28
28
  /** timestamp that the abuse report record was created in RFC 3339 format */
29
- created_at: string;
29
+ createdAt: string;
30
30
  /** a list of URLs containing suspected abusive content */
31
31
  urls: Array<string>;
32
32
  /** arbitrary user-defined data about this abuse report. Optional, max 4096 bytes. */
33
33
  metadata: string;
34
- /** Indicates whether ngrok has processed the abuse report. one of PENDING, PROCESSED, or PARTIALLY_PROCESSED */
34
+ /** Indicates whether ngrok has processed the abuse report. one of `PENDING`, `PROCESSED`, or `PARTIALLY_PROCESSED` */
35
35
  status: string;
36
36
  /** an array of hostname statuses related to the report */
37
37
  hostnames: Array<AbuseReportHostname>;
@@ -39,7 +39,7 @@ export interface AbuseReport {
39
39
  export interface AbuseReportHostname {
40
40
  /** the hostname ngrok has parsed out of one of the reported URLs in this abuse report */
41
41
  hostname: string;
42
- /** indicates what action ngrok has taken against the hostname. one of PENDING, BANNED, UNBANNED, or IGNORE */
42
+ /** indicates what action ngrok has taken against the hostname. one of `PENDING`, `BANNED`, `UNBANNED`, or `IGNORE` */
43
43
  status: string;
44
44
  }
45
45
  export interface AbuseReportCreate {
@@ -48,6 +48,47 @@ export interface AbuseReportCreate {
48
48
  /** arbitrary user-defined data about this abuse report. Optional, max 4096 bytes. */
49
49
  metadata: string;
50
50
  }
51
+ export interface AgentIngressCreate {
52
+ /** human-readable description of the use of this Agent Ingress. optional, max 255 bytes. */
53
+ description: string;
54
+ /** arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes */
55
+ metadata: string;
56
+ /** the domain that you own to be used as the base domain name to generate regional agent ingress domains. */
57
+ domain: string;
58
+ }
59
+ export interface AgentIngressUpdate {
60
+ id: string;
61
+ /** human-readable description of the use of this Agent Ingress. optional, max 255 bytes. */
62
+ description?: string;
63
+ /** arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes */
64
+ metadata?: string;
65
+ }
66
+ export interface AgentIngress {
67
+ /** unique Agent Ingress resource identifier */
68
+ id: string;
69
+ /** URI to the API resource of this Agent ingress */
70
+ uri: string;
71
+ /** human-readable description of the use of this Agent Ingress. optional, max 255 bytes. */
72
+ description: string;
73
+ /** arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes */
74
+ metadata: string;
75
+ /** the domain that you own to be used as the base domain name to generate regional agent ingress domains. */
76
+ domain: string;
77
+ /** a list of target values to use as the values of NS records for the domain property these values will delegate control over the domain to ngrok */
78
+ nsTargets: Array<string>;
79
+ /** a list of regional agent ingress domains that are subdomains of the value of domain this value may increase over time as ngrok adds more regions */
80
+ regionDomains: Array<string>;
81
+ /** timestamp when the Agent Ingress was created, RFC 3339 format */
82
+ createdAt: string;
83
+ }
84
+ export interface AgentIngressList {
85
+ /** the list of Agent Ingresses owned by this account */
86
+ ingresses: Array<AgentIngress>;
87
+ /** URI of the Agent Ingress list API resource */
88
+ uri: string;
89
+ /** URI of the next page, or null if there is no next page */
90
+ nextPageUri?: string;
91
+ }
51
92
  export interface APIKeyCreate {
52
93
  /** human-readable description of what uses the API key to authenticate. optional, max 255 bytes. */
53
94
  description: string;
@@ -71,8 +112,8 @@ export interface APIKey {
71
112
  /** arbitrary user-defined data of this API key. optional, max 4096 bytes */
72
113
  metadata: string;
73
114
  /** timestamp when the api key was created, RFC 3339 format */
74
- created_at: string;
75
- /** the bearer token that can be placed into the Authorization header to authenticate request to the ngrok API. This value is only available one time, on the API response from key creation. Otherwise it is null. */
115
+ createdAt: string;
116
+ /** the bearer token that can be placed into the Authorization header to authenticate request to the ngrok API. **This value is only available one time, on the API response from key creation. Otherwise it is null.** */
76
117
  token?: string;
77
118
  }
78
119
  export interface APIKeyList {
@@ -81,13 +122,15 @@ export interface APIKeyList {
81
122
  /** URI of the API keys list API resource */
82
123
  uri: string;
83
124
  /** URI of the next page, or null if there is no next page */
84
- next_page_uri?: string;
125
+ nextPageUri?: string;
85
126
  }
86
- export interface PriorityBackend {
87
- /** unique identifier for this Priority backend */
127
+ export interface FailoverBackend {
128
+ /** unique identifier for this Failover backend */
88
129
  id: string;
130
+ /** URI of the FailoverBackend API resource */
131
+ uri: string;
89
132
  /** timestamp when the backend was created, RFC 3339 format */
90
- created_at: string;
133
+ createdAt: string;
91
134
  /** human-readable description of this backend. Optional */
92
135
  description: string;
93
136
  /** arbitrary user-defined machine-readable data of this backend. Optional */
@@ -95,7 +138,7 @@ export interface PriorityBackend {
95
138
  /** the ids of the child backends in order */
96
139
  backends: Array<string>;
97
140
  }
98
- export interface PriorityBackendCreate {
141
+ export interface FailoverBackendCreate {
99
142
  /** human-readable description of this backend. Optional */
100
143
  description: string;
101
144
  /** arbitrary user-defined machine-readable data of this backend. Optional */
@@ -103,7 +146,7 @@ export interface PriorityBackendCreate {
103
146
  /** the ids of the child backends in order */
104
147
  backends: Array<string>;
105
148
  }
106
- export interface PriorityBackendUpdate {
149
+ export interface FailoverBackendUpdate {
107
150
  id: string;
108
151
  /** human-readable description of this backend. Optional */
109
152
  description?: string;
@@ -112,72 +155,76 @@ export interface PriorityBackendUpdate {
112
155
  /** the ids of the child backends in order */
113
156
  backends: Array<string>;
114
157
  }
115
- export interface PriorityBackendList {
116
- /** the list of all Priority backends on this account */
117
- backends: Array<PriorityBackend>;
118
- /** URI of the Priority backends list API resource */
158
+ export interface FailoverBackendList {
159
+ /** the list of all Failover backends on this account */
160
+ backends: Array<FailoverBackend>;
161
+ /** URI of the Failover backends list API resource */
119
162
  uri: string;
120
163
  /** URI of the next page, or null if there is no next page */
121
- next_page_uri?: string;
164
+ nextPageUri?: string;
122
165
  }
123
- export interface StaticBackend {
124
- /** unique identifier for this static backend */
166
+ export interface HTTPResponseBackend {
125
167
  id: string;
168
+ /** URI of the HTTPResponseBackend API resource */
169
+ uri: string;
126
170
  /** timestamp when the backend was created, RFC 3339 format */
127
- created_at: string;
171
+ createdAt: string;
128
172
  /** human-readable description of this backend. Optional */
129
173
  description: string;
130
174
  /** arbitrary user-defined machine-readable data of this backend. Optional */
131
175
  metadata: string;
132
- /** the address to forward to */
133
- address: string;
134
- /** tls configuration to use */
135
- tls: StaticBackendTLS;
136
- }
137
- export interface StaticBackendTLS {
138
- /** if tls is checked */
139
- enabled: boolean;
140
- }
141
- export interface StaticBackendCreate {
176
+ /** body to return as fixed content */
177
+ body: string;
178
+ /** headers to return */
179
+ headers: Map<string, string>;
180
+ /** status code to return */
181
+ statusCode: number;
182
+ }
183
+ export interface HTTPResponseBackendCreate {
142
184
  /** human-readable description of this backend. Optional */
143
185
  description: string;
144
186
  /** arbitrary user-defined machine-readable data of this backend. Optional */
145
187
  metadata: string;
146
- /** the address to forward to */
147
- address: string;
148
- /** tls configuration to use */
149
- tls: StaticBackendTLS;
188
+ /** body to return as fixed content */
189
+ body: string;
190
+ /** headers to return */
191
+ headers: Map<string, string>;
192
+ /** status code to return */
193
+ statusCode?: number;
150
194
  }
151
- export interface StaticBackendUpdate {
195
+ export interface HTTPResponseBackendUpdate {
152
196
  id: string;
153
197
  /** human-readable description of this backend. Optional */
154
198
  description?: string;
155
199
  /** arbitrary user-defined machine-readable data of this backend. Optional */
156
200
  metadata?: string;
157
- /** the address to forward to */
158
- address: string;
159
- /** tls configuration to use */
160
- tls: StaticBackendTLS;
161
- }
162
- export interface StaticBackendList {
163
- /** the list of all static backends on this account */
164
- backends: Array<StaticBackend>;
165
- /** URI of the static backends list API resource */
201
+ /** body to return as fixed content */
202
+ body?: string;
203
+ /** headers to return */
204
+ headers?: Map<string, string>;
205
+ /** status code to return */
206
+ statusCode?: number;
207
+ }
208
+ export interface HTTPResponseBackendList {
209
+ backends: Array<HTTPResponseBackend>;
166
210
  uri: string;
167
- /** URI of the next page, or null if there is no next page */
168
- next_page_uri?: string;
211
+ nextPageUri?: string;
169
212
  }
170
213
  export interface TunnelGroupBackend {
171
214
  /** unique identifier for this TunnelGroup backend */
172
215
  id: string;
216
+ /** URI of the TunnelGroupBackend API resource */
217
+ uri: string;
173
218
  /** timestamp when the backend was created, RFC 3339 format */
174
- created_at: string;
219
+ createdAt: string;
175
220
  /** human-readable description of this backend. Optional */
176
221
  description: string;
177
222
  /** arbitrary user-defined machine-readable data of this backend. Optional */
178
223
  metadata: string;
179
224
  /** labels to watch for tunnels on, e.g. app->foo, dc->bar */
180
225
  labels: Map<string, string>;
226
+ /** tunnels matching this backend */
227
+ tunnels: Array<Ref>;
181
228
  }
182
229
  export interface TunnelGroupBackendCreate {
183
230
  /** human-readable description of this backend. Optional */
@@ -202,13 +249,15 @@ export interface TunnelGroupBackendList {
202
249
  /** URI of the TunnelGroup backends list API resource */
203
250
  uri: string;
204
251
  /** URI of the next page, or null if there is no next page */
205
- next_page_uri?: string;
252
+ nextPageUri?: string;
206
253
  }
207
254
  export interface WeightedBackend {
208
255
  /** unique identifier for this Weighted backend */
209
256
  id: string;
257
+ /** URI of the WeightedBackend API resource */
258
+ uri: string;
210
259
  /** timestamp when the backend was created, RFC 3339 format */
211
- created_at: string;
260
+ createdAt: string;
212
261
  /** human-readable description of this backend. Optional */
213
262
  description: string;
214
263
  /** arbitrary user-defined machine-readable data of this backend. Optional */
@@ -239,7 +288,7 @@ export interface WeightedBackendList {
239
288
  /** URI of the Weighted backends list API resource */
240
289
  uri: string;
241
290
  /** URI of the next page, or null if there is no next page */
242
- next_page_uri?: string;
291
+ nextPageUri?: string;
243
292
  }
244
293
  export interface CertificateAuthorityCreate {
245
294
  /** human-readable description of this Certificate Authority. optional, max 255 bytes. */
@@ -247,7 +296,7 @@ export interface CertificateAuthorityCreate {
247
296
  /** arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes. */
248
297
  metadata: string;
249
298
  /** raw PEM of the Certificate Authority */
250
- ca_pem: string;
299
+ caPem: string;
251
300
  }
252
301
  export interface CertificateAuthorityUpdate {
253
302
  id: string;
@@ -262,38 +311,38 @@ export interface CertificateAuthority {
262
311
  /** URI of the Certificate Authority API resource */
263
312
  uri: string;
264
313
  /** timestamp when the Certificate Authority was created, RFC 3339 format */
265
- created_at: string;
314
+ createdAt: string;
266
315
  /** human-readable description of this Certificate Authority. optional, max 255 bytes. */
267
316
  description: string;
268
317
  /** arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes. */
269
318
  metadata: string;
270
319
  /** raw PEM of the Certificate Authority */
271
- ca_pem: string;
320
+ caPem: string;
272
321
  /** subject common name of the Certificate Authority */
273
- subject_common_name: string;
322
+ subjectCommonName: string;
274
323
  /** timestamp when this Certificate Authority becomes valid, RFC 3339 format */
275
- not_before: string;
324
+ notBefore: string;
276
325
  /** timestamp when this Certificate Authority becomes invalid, RFC 3339 format */
277
- not_after: string;
326
+ notAfter: string;
278
327
  /** set of actions the private key of this Certificate Authority can be used for */
279
- key_usages: Array<string>;
328
+ keyUsages: Array<string>;
280
329
  /** extended set of actions the private key of this Certificate Authority can be used for */
281
- extended_key_usages: Array<string>;
330
+ extendedKeyUsages: Array<string>;
282
331
  }
283
332
  export interface CertificateAuthorityList {
284
333
  /** the list of all certificate authorities on this account */
285
- certificate_authorities: Array<CertificateAuthority>;
334
+ certificateAuthorities: Array<CertificateAuthority>;
286
335
  /** URI of the certificates authorities list API resource */
287
336
  uri: string;
288
337
  /** URI of the next page, or null if there is no next page */
289
- next_page_uri?: string;
338
+ nextPageUri?: string;
290
339
  }
291
340
  export interface CredentialCreate {
292
341
  /** human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes. */
293
342
  description: string;
294
343
  /** arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. */
295
344
  metadata: string;
296
- /** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of bind:*.example.com which will allow x.example.com, y.example.com, *.example.com, etc. A rule of '*' is equivalent to no acl at all and will explicitly permit all actions. */
345
+ /** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. */
297
346
  acl: Array<string>;
298
347
  }
299
348
  export interface CredentialUpdate {
@@ -302,7 +351,7 @@ export interface CredentialUpdate {
302
351
  description?: string;
303
352
  /** arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. */
304
353
  metadata?: string;
305
- /** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of bind:*.example.com which will allow x.example.com, y.example.com, *.example.com, etc. A rule of '*' is equivalent to no acl at all and will explicitly permit all actions. */
354
+ /** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. */
306
355
  acl?: Array<string>;
307
356
  }
308
357
  export interface Credential {
@@ -311,14 +360,14 @@ export interface Credential {
311
360
  /** URI of the tunnel credential API resource */
312
361
  uri: string;
313
362
  /** timestamp when the tunnel credential was created, RFC 3339 format */
314
- created_at: string;
363
+ createdAt: string;
315
364
  /** human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes. */
316
365
  description: string;
317
366
  /** arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. */
318
367
  metadata: string;
319
- /** the credential's authtoken that can be used to authenticate an ngrok client. This value is only available one time, on the API response from credential creation, otherwise it is null. */
368
+ /** the credential's authtoken that can be used to authenticate an ngrok client. **This value is only available one time, on the API response from credential creation, otherwise it is null.** */
320
369
  token?: string;
321
- /** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of bind:*.example.com which will allow x.example.com, y.example.com, *.example.com, etc. A rule of '*' is equivalent to no acl at all and will explicitly permit all actions. */
370
+ /** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. */
322
371
  acl: Array<string>;
323
372
  }
324
373
  export interface CredentialList {
@@ -327,166 +376,48 @@ export interface CredentialList {
327
376
  /** URI of the tunnel credential list API resource */
328
377
  uri: string;
329
378
  /** URI of the next page, or null if there is no next page */
330
- next_page_uri?: string;
331
- }
332
- export interface EndpointConfiguration {
333
- /** unique identifier of this endpoint configuration */
334
- id: string;
335
- /** they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp */
336
- type: string;
337
- /** human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
338
- description: string;
339
- /** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
340
- metadata: string;
341
- /** timestamp when the endpoint configuration was created, RFC 3339 format */
342
- created_at: string;
343
- /** URI of the endpoint configuration API resource */
344
- uri: string;
345
- /** circuit breaker module configuration or null */
346
- circuit_breaker?: EndpointCircuitBreaker;
347
- /** compression module configuration or null */
348
- compression?: EndpointCompression;
349
- /** request headers module configuration or null */
350
- request_headers?: EndpointRequestHeaders;
351
- /** response headers module configuration or null */
352
- response_headers?: EndpointResponseHeaders;
353
- /** ip policy module configuration or null */
354
- ip_policy?: EndpointIPPolicy;
355
- /** mutual TLS module configuration or null */
356
- mutual_tls?: EndpointMutualTLS;
357
- /** TLS termination module configuration or null */
358
- tls_termination?: EndpointTLSTermination;
359
- /** webhook validation module configuration or null */
360
- webhook_validation?: EndpointWebhookValidation;
361
- /** oauth module configuration or null */
362
- oauth?: EndpointOAuth;
363
- /** logging module configuration or null */
364
- logging?: EndpointLogging;
365
- /** saml module configuration or null */
366
- saml?: EndpointSAML;
367
- /** oidc module configuration or null */
368
- oidc?: EndpointOIDC;
369
- }
370
- export interface EndpointConfigurationList {
371
- /** the list of all endpoint configurations on this account */
372
- endpoint_configurations: Array<EndpointConfiguration>;
373
- /** URI of the endpoint configurations list API resource */
374
- uri: string;
375
- /** URI of the next page, or null if there is no next page */
376
- next_page_uri?: string;
377
- }
378
- export interface EndpointConfigurationUpdate {
379
- /** unique identifier of this endpoint configuration */
380
- id: string;
381
- /** human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
382
- description?: string;
383
- /** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
384
- metadata?: string;
385
- /** circuit breaker module configuration or null */
386
- circuit_breaker?: EndpointCircuitBreaker;
387
- /** compression module configuration or null */
388
- compression?: EndpointCompression;
389
- /** request headers module configuration or null */
390
- request_headers?: EndpointRequestHeaders;
391
- /** response headers module configuration or null */
392
- response_headers?: EndpointResponseHeaders;
393
- /** ip policy module configuration or null */
394
- ip_policy?: EndpointIPPolicyMutate;
395
- /** mutual TLS module configuration or null */
396
- mutual_tls?: EndpointMutualTLSMutate;
397
- /** TLS termination module configuration or null */
398
- tls_termination?: EndpointTLSTermination;
399
- /** webhook validation module configuration or null */
400
- webhook_validation?: EndpointWebhookValidation;
401
- /** oauth module configuration or null */
402
- oauth?: EndpointOAuth;
403
- /** logging module configuration or null */
404
- logging?: EndpointLoggingMutate;
405
- /** saml module configuration or null */
406
- saml?: EndpointSAMLMutate;
407
- /** oidc module configuration or null */
408
- oidc?: EndpointOIDC;
409
- }
410
- export interface EndpointConfigurationCreate {
411
- /** they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp */
412
- type: string;
413
- /** human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
414
- description: string;
415
- /** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
416
- metadata: string;
417
- /** circuit breaker module configuration or null */
418
- circuit_breaker?: EndpointCircuitBreaker;
419
- /** compression module configuration or null */
420
- compression?: EndpointCompression;
421
- /** request headers module configuration or null */
422
- request_headers?: EndpointRequestHeaders;
423
- /** response headers module configuration or null */
424
- response_headers?: EndpointResponseHeaders;
425
- /** ip policy module configuration or null */
426
- ip_policy?: EndpointIPPolicyMutate;
427
- /** mutual TLS module configuration or null */
428
- mutual_tls?: EndpointMutualTLSMutate;
429
- /** TLS termination module configuration or null */
430
- tls_termination?: EndpointTLSTermination;
431
- /** webhook validation module configuration or null */
432
- webhook_validation?: EndpointWebhookValidation;
433
- /** oauth module configuration or null */
434
- oauth?: EndpointOAuth;
435
- /** logging module configuration or null */
436
- logging?: EndpointLoggingMutate;
437
- /** saml module configuration or null */
438
- saml?: EndpointSAMLMutate;
439
- /** oidc module configuration or null */
440
- oidc?: EndpointOIDC;
379
+ nextPageUri?: string;
441
380
  }
442
381
  export interface EndpointWebhookValidation {
443
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
382
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
444
383
  enabled?: boolean;
445
- /** a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers: SLACK, SNS, STRIPE, GITHUB, TWILIO, SHOPIFY, GITLAB, INTERCOM. */
384
+ /** a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers: `SLACK`, `SNS`, `STRIPE`, `GITHUB`, `TWILIO`, `SHOPIFY`, `GITLAB`, `INTERCOM`, `SENDGRID`, `XERO`, `PAGERDUTY`. */
446
385
  provider: string;
447
386
  /** a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret */
448
387
  secret: string;
449
388
  }
450
389
  export interface EndpointCompression {
451
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
390
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
452
391
  enabled?: boolean;
453
392
  }
454
393
  export interface EndpointMutualTLS {
455
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
394
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
456
395
  enabled?: boolean;
457
396
  /** PEM-encoded CA certificates that will be used to validate. Multiple CAs may be provided by concatenating them together. */
458
- certificate_authorities: Array<Ref>;
397
+ certificateAuthorities: Array<Ref>;
459
398
  }
460
399
  export interface EndpointMutualTLSMutate {
461
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
400
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
462
401
  enabled?: boolean;
463
402
  /** list of certificate authorities that will be used to validate the TLS client certificate presnted by the initiatiator of the TLS connection */
464
- certificate_authority_ids: Array<string>;
403
+ certificateAuthorityIds: Array<string>;
465
404
  }
466
405
  export interface EndpointTLSTermination {
467
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
406
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
468
407
  enabled?: boolean;
469
- /** edge if the ngrok edge should terminate TLS traffic, upstream if TLS traffic should be passed through to the upstream ngrok agent / application server for termination. if upstream is chosen, most other modules will be disallowed because they rely on the ngrok edge being able to access the underlying traffic. */
470
- terminate_at: string;
471
- /** The minimum TLS version used for termination and advertised to the client during the TLS handshake. if unspecified, ngrok will choose an industry-safe default. This value must be null if terminate_at is set to upstream. */
472
- min_version?: string;
408
+ /** `edge` if the ngrok edge should terminate TLS traffic, `upstream` if TLS traffic should be passed through to the upstream ngrok agent / application server for termination. if `upstream` is chosen, most other modules will be disallowed because they rely on the ngrok edge being able to access the underlying traffic. */
409
+ terminateAt: string;
410
+ /** The minimum TLS version used for termination and advertised to the client during the TLS handshake. if unspecified, ngrok will choose an industry-safe default. This value must be null if `terminate_at` is set to `upstream`. */
411
+ minVersion?: string;
473
412
  }
474
- export interface EndpointBasicAuth {
475
- }
476
- export interface EndpointLogging {
477
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
478
- enabled?: boolean;
479
- /** list of all EventStreams that will be used to configure and export this endpoint's logs */
480
- event_streams: Array<Ref>;
481
- }
482
- export interface EndpointLoggingMutate {
483
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
413
+ export interface EndpointTLSTerminationAtEdge {
414
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
484
415
  enabled?: boolean;
485
- /** list of all EventStreams that will be used to configure and export this endpoint's logs */
486
- event_stream_ids: Array<string>;
416
+ /** The minimum TLS version used for termination and advertised to the client during the TLS handshake. if unspecified, ngrok will choose an industry-safe default. This value must be null if `terminate_at` is set to `upstream`. */
417
+ minVersion?: string;
487
418
  }
488
419
  export interface EndpointRequestHeaders {
489
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
420
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
490
421
  enabled?: boolean;
491
422
  /** a map of header key to header value that will be injected into the HTTP Request before being sent to the upstream application server */
492
423
  add: Map<string, string>;
@@ -494,7 +425,7 @@ export interface EndpointRequestHeaders {
494
425
  remove: Array<string>;
495
426
  }
496
427
  export interface EndpointResponseHeaders {
497
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
428
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
498
429
  enabled?: boolean;
499
430
  /** a map of header key to header value that will be injected into the HTTP Response returned to the HTTP client */
500
431
  add: Map<string, string>;
@@ -502,45 +433,45 @@ export interface EndpointResponseHeaders {
502
433
  remove: Array<string>;
503
434
  }
504
435
  export interface EndpointIPPolicy {
505
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
436
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
506
437
  enabled?: boolean;
507
- ip_policies: Array<Ref>;
438
+ ipPolicies: Array<Ref>;
508
439
  }
509
440
  export interface EndpointIPPolicyMutate {
510
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
441
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
511
442
  enabled?: boolean;
512
443
  /** list of all IP policies that will be used to check if a source IP is allowed access to the endpoint */
513
- ip_policy_ids: Array<string>;
444
+ ipPolicyIds: Array<string>;
514
445
  }
515
446
  export interface EndpointCircuitBreaker {
516
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
447
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
517
448
  enabled?: boolean;
518
449
  /** Integer number of seconds after which the circuit is tripped to wait before re-evaluating upstream health */
519
- tripped_duration: number;
450
+ trippedDuration: number;
520
451
  /** Integer number of seconds in the statistical rolling window that metrics are retained for. */
521
- rolling_window: number;
452
+ rollingWindow: number;
522
453
  /** Integer number of buckets into which metrics are retained. Max 128. */
523
- num_buckets: number;
454
+ numBuckets: number;
524
455
  /** Integer number of requests in a rolling window that will trip the circuit. Helpful if traffic volume is low. */
525
- volume_threshold: number;
456
+ volumeThreshold: number;
526
457
  /** Error threshold percentage should be between 0 - 1.0, not 0-100.0 */
527
- error_threshold_percentage: number;
458
+ errorThresholdPercentage: number;
528
459
  }
529
460
  export interface EndpointOAuth {
530
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
461
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
531
462
  enabled?: boolean;
532
463
  /** an object which defines the identity provider to use for authentication and configuration for who may access the endpoint */
533
464
  provider: EndpointOAuthProvider;
534
465
  /** Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. */
535
- options_passthrough: boolean;
466
+ optionsPassthrough: boolean;
536
467
  /** the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' */
537
- cookie_prefix: string;
468
+ cookiePrefix: string;
538
469
  /** Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. */
539
- inactivity_timeout: number;
470
+ inactivityTimeout: number;
540
471
  /** Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. */
541
- maximum_duration: number;
472
+ maximumDuration: number;
542
473
  /** Integer number of seconds after which ngrok guarantees it will refresh user state from the identity provider and recheck whether the user is still authorized to access the endpoint. This is the preferred tunable to use to enforce a minimum amount of time after which a revoked user will no longer be able to access the resource. */
543
- auth_check_interval: number;
474
+ authCheckInterval: number;
544
475
  }
545
476
  export interface EndpointOAuthProvider {
546
477
  /** configuration for using github as the identity provider */
@@ -554,266 +485,536 @@ export interface EndpointOAuthProvider {
554
485
  }
555
486
  export interface EndpointOAuthGitHub {
556
487
  /** the OAuth app client ID. retrieve it from the identity provider's dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well. */
557
- client_id?: string;
558
- /** the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for client_id. */
559
- client_secret?: string;
560
- /** a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both client_id and client_secret to set scopes) */
488
+ clientId?: string;
489
+ /** the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for `client_id`. */
490
+ clientSecret?: string;
491
+ /** a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both `client_id` and `client_secret` to set scopes) */
561
492
  scopes: Array<string>;
562
493
  /** a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint */
563
- email_addresses: Array<string>;
494
+ emailAddresses: Array<string>;
564
495
  /** a list of email domains of users authenticated by identity provider who are allowed access to the endpoint */
565
- email_domains: Array<string>;
566
- /** a list of github teams identifiers. users will be allowed access to the endpoint if they are a member of any of these teams. identifiers should be in the 'slug' format qualified with the org name, e.g. org-name/team-name */
496
+ emailDomains: Array<string>;
497
+ /** a list of github teams identifiers. users will be allowed access to the endpoint if they are a member of any of these teams. identifiers should be in the 'slug' format qualified with the org name, e.g. `org-name/team-name` */
567
498
  teams: Array<string>;
568
499
  /** a list of github org identifiers. users who are members of any of the listed organizations will be allowed access. identifiers should be the organization's 'slug' */
569
500
  organizations: Array<string>;
570
501
  }
571
502
  export interface EndpointOAuthFacebook {
572
503
  /** the OAuth app client ID. retrieve it from the identity provider's dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well. */
573
- client_id?: string;
574
- /** the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for client_id. */
575
- client_secret?: string;
576
- /** a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both client_id and client_secret to set scopes) */
504
+ clientId?: string;
505
+ /** the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for `client_id`. */
506
+ clientSecret?: string;
507
+ /** a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both `client_id` and `client_secret` to set scopes) */
577
508
  scopes: Array<string>;
578
509
  /** a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint */
579
- email_addresses: Array<string>;
510
+ emailAddresses: Array<string>;
580
511
  /** a list of email domains of users authenticated by identity provider who are allowed access to the endpoint */
581
- email_domains: Array<string>;
512
+ emailDomains: Array<string>;
582
513
  }
583
514
  export interface EndpointOAuthMicrosoft {
584
515
  /** the OAuth app client ID. retrieve it from the identity provider's dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well. */
585
- client_id?: string;
586
- /** the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for client_id. */
587
- client_secret?: string;
588
- /** a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both client_id and client_secret to set scopes) */
516
+ clientId?: string;
517
+ /** the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for `client_id`. */
518
+ clientSecret?: string;
519
+ /** a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both `client_id` and `client_secret` to set scopes) */
589
520
  scopes: Array<string>;
590
521
  /** a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint */
591
- email_addresses: Array<string>;
522
+ emailAddresses: Array<string>;
592
523
  /** a list of email domains of users authenticated by identity provider who are allowed access to the endpoint */
593
- email_domains: Array<string>;
524
+ emailDomains: Array<string>;
594
525
  }
595
526
  export interface EndpointOAuthGoogle {
596
527
  /** the OAuth app client ID. retrieve it from the identity provider's dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well. */
597
- client_id?: string;
598
- /** the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for client_id. */
599
- client_secret?: string;
600
- /** a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both client_id and client_secret to set scopes) */
528
+ clientId?: string;
529
+ /** the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for `client_id`. */
530
+ clientSecret?: string;
531
+ /** a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both `client_id` and `client_secret` to set scopes) */
601
532
  scopes: Array<string>;
602
533
  /** a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint */
603
- email_addresses: Array<string>;
534
+ emailAddresses: Array<string>;
604
535
  /** a list of email domains of users authenticated by identity provider who are allowed access to the endpoint */
605
- email_domains: Array<string>;
536
+ emailDomains: Array<string>;
606
537
  }
607
538
  export interface EndpointSAML {
608
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
539
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
609
540
  enabled?: boolean;
610
541
  /** Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. */
611
- options_passthrough: boolean;
542
+ optionsPassthrough: boolean;
612
543
  /** the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' */
613
- cookie_prefix: string;
544
+ cookiePrefix: string;
614
545
  /** Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. */
615
- inactivity_timeout: number;
546
+ inactivityTimeout: number;
616
547
  /** Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. */
617
- maximum_duration: number;
548
+ maximumDuration: number;
618
549
  /** The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL. */
619
- idp_metadata: string;
550
+ idpMetadata: string;
620
551
  /** If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP. */
621
- force_authn: boolean;
622
- /** If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the RelayState parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed. */
623
- allow_idp_initiated?: boolean;
552
+ forceAuthn: boolean;
553
+ /** If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the `RelayState` parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed. */
554
+ allowIdpInitiated?: boolean;
624
555
  /** If present, only users who are a member of one of the listed groups may access the target endpoint. */
625
- authorized_groups: Array<string>;
556
+ authorizedGroups: Array<string>;
626
557
  /** The SP Entity's unique ID. This always takes the form of a URL. In ngrok's implementation, this URL is the same as the metadata URL. This will need to be specified to the IdP as configuration. */
627
- entity_id: string;
558
+ entityId: string;
628
559
  /** The public URL of the SP's Assertion Consumer Service. This is where the IdP will redirect to during an authentication flow. This will need to be specified to the IdP as configuration. */
629
- assertion_consumer_service_url: string;
560
+ assertionConsumerServiceUrl: string;
630
561
  /** The public URL of the SP's Single Logout Service. This is where the IdP will redirect to during a single logout flow. This will optionally need to be specified to the IdP as configuration. */
631
- single_logout_url: string;
562
+ singleLogoutUrl: string;
632
563
  /** PEM-encoded x.509 certificate of the key pair that is used to sign all SAML requests that the ngrok SP makes to the IdP. Many IdPs do not support request signing verification, but we highly recommend specifying this in the IdP's configuration if it is supported. */
633
- request_signing_certificate_pem: string;
564
+ requestSigningCertificatePem: string;
634
565
  /** A public URL where the SP's metadata is hosted. If an IdP supports dynamic configuration, this is the URL it can use to retrieve the SP metadata. */
635
- metadata_url: string;
566
+ metadataUrl: string;
567
+ /** Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent` will be used. A subset of the allowed values enumerated by the SAML specification are supported. */
568
+ nameidFormat: string;
636
569
  }
637
570
  export interface EndpointSAMLMutate {
638
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
571
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
639
572
  enabled?: boolean;
640
573
  /** Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. */
641
- options_passthrough: boolean;
574
+ optionsPassthrough: boolean;
642
575
  /** the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' */
643
- cookie_prefix: string;
576
+ cookiePrefix: string;
644
577
  /** Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. */
645
- inactivity_timeout: number;
578
+ inactivityTimeout: number;
646
579
  /** Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. */
647
- maximum_duration: number;
580
+ maximumDuration: number;
648
581
  /** The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL. */
649
- idp_metadata: string;
582
+ idpMetadata: string;
650
583
  /** If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP. */
651
- force_authn: boolean;
652
- /** If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the RelayState parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed. */
653
- allow_idp_initiated?: boolean;
584
+ forceAuthn: boolean;
585
+ /** If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the `RelayState` parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed. */
586
+ allowIdpInitiated?: boolean;
654
587
  /** If present, only users who are a member of one of the listed groups may access the target endpoint. */
655
- authorized_groups: Array<string>;
588
+ authorizedGroups: Array<string>;
589
+ /** Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent` will be used. A subset of the allowed values enumerated by the SAML specification are supported. */
590
+ nameidFormat: string;
656
591
  }
657
592
  export interface EndpointOIDC {
658
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
593
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
659
594
  enabled?: boolean;
660
595
  /** Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. */
661
- options_passthrough: boolean;
596
+ optionsPassthrough: boolean;
662
597
  /** the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' */
663
- cookie_prefix: string;
598
+ cookiePrefix: string;
664
599
  /** Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. */
665
- inactivity_timeout: number;
600
+ inactivityTimeout: number;
666
601
  /** Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. */
667
- maximum_duration: number;
602
+ maximumDuration: number;
668
603
  /** URL of the OIDC "OpenID provider". This is the base URL used for discovery. */
669
604
  issuer: string;
670
605
  /** The OIDC app's client ID and OIDC audience. */
671
- client_id: string;
606
+ clientId: string;
672
607
  /** The OIDC app's client secret. */
673
- client_secret: string;
608
+ clientSecret: string;
674
609
  /** The set of scopes to request from the OIDC identity provider. */
675
610
  scopes: Array<string>;
676
611
  }
677
612
  export interface EndpointBackend {
678
- /** true if the module will be applied to traffic, false to disable. default true if unspecified */
613
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
679
614
  enabled?: boolean;
680
615
  /** backend to be used to back this endpoint */
681
616
  backend: Ref;
682
617
  }
683
618
  export interface EndpointBackendMutate {
619
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
620
+ enabled?: boolean;
621
+ /** backend to be used to back this endpoint */
622
+ backendId: string;
623
+ }
624
+ export interface EndpointWebsocketTCPConverter {
625
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
626
+ enabled?: boolean;
627
+ }
628
+ export interface EdgeRouteItem {
629
+ /** unique identifier of this edge */
630
+ edgeId: string;
631
+ /** unique identifier of this edge route */
632
+ id: string;
633
+ }
634
+ export interface HTTPSEdgeRouteCreate {
635
+ /** unique identifier of this edge */
636
+ edgeId: string;
637
+ /** Type of match to use for this route. Valid values are "exact_path" and "path_prefix". */
638
+ matchType: string;
639
+ /** Route selector: "/blog" or "example.com" or "example.com/blog" */
640
+ match: string;
641
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
642
+ description: string;
643
+ /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
644
+ metadata: string;
645
+ /** backend module configuration or `null` */
646
+ backend?: EndpointBackendMutate;
647
+ /** ip restriction module configuration or `null` */
648
+ ipRestriction?: EndpointIPPolicyMutate;
649
+ /** circuit breaker module configuration or `null` */
650
+ circuitBreaker?: EndpointCircuitBreaker;
651
+ /** compression module configuration or `null` */
652
+ compression?: EndpointCompression;
653
+ /** request headers module configuration or `null` */
654
+ requestHeaders?: EndpointRequestHeaders;
655
+ /** response headers module configuration or `null` */
656
+ responseHeaders?: EndpointResponseHeaders;
657
+ /** webhook verification module configuration or `null` */
658
+ webhookVerification?: EndpointWebhookValidation;
659
+ /** oauth module configuration or `null` */
660
+ oauth?: EndpointOAuth;
661
+ /** saml module configuration or `null` */
662
+ saml?: EndpointSAMLMutate;
663
+ /** oidc module configuration or `null` */
664
+ oidc?: EndpointOIDC;
665
+ /** websocket to tcp adapter configuration or `null` */
666
+ websocketTcpConverter?: EndpointWebsocketTCPConverter;
667
+ }
668
+ export interface HTTPSEdgeRouteUpdate {
669
+ /** unique identifier of this edge */
670
+ edgeId: string;
671
+ /** unique identifier of this edge route */
672
+ id: string;
673
+ /** Type of match to use for this route. Valid values are "exact_path" and "path_prefix". */
674
+ matchType: string;
675
+ /** Route selector: "/blog" or "example.com" or "example.com/blog" */
676
+ match: string;
677
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
678
+ description: string;
679
+ /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
680
+ metadata: string;
681
+ /** backend module configuration or `null` */
682
+ backend?: EndpointBackendMutate;
683
+ /** ip restriction module configuration or `null` */
684
+ ipRestriction?: EndpointIPPolicyMutate;
685
+ /** circuit breaker module configuration or `null` */
686
+ circuitBreaker?: EndpointCircuitBreaker;
687
+ /** compression module configuration or `null` */
688
+ compression?: EndpointCompression;
689
+ /** request headers module configuration or `null` */
690
+ requestHeaders?: EndpointRequestHeaders;
691
+ /** response headers module configuration or `null` */
692
+ responseHeaders?: EndpointResponseHeaders;
693
+ /** webhook verification module configuration or `null` */
694
+ webhookVerification?: EndpointWebhookValidation;
695
+ /** oauth module configuration or `null` */
696
+ oauth?: EndpointOAuth;
697
+ /** saml module configuration or `null` */
698
+ saml?: EndpointSAMLMutate;
699
+ /** oidc module configuration or `null` */
700
+ oidc?: EndpointOIDC;
701
+ /** websocket to tcp adapter configuration or `null` */
702
+ websocketTcpConverter?: EndpointWebsocketTCPConverter;
703
+ }
704
+ export interface HTTPSEdgeRoute {
705
+ /** unique identifier of this edge */
706
+ edgeId: string;
707
+ /** unique identifier of this edge route */
708
+ id: string;
709
+ /** timestamp when the edge configuration was created, RFC 3339 format */
710
+ createdAt: string;
711
+ /** Type of match to use for this route. Valid values are "exact_path" and "path_prefix". */
712
+ matchType: string;
713
+ /** Route selector: "/blog" or "example.com" or "example.com/blog" */
714
+ match: string;
715
+ /** URI of the edge API resource */
716
+ uri: string;
717
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
718
+ description: string;
719
+ /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
720
+ metadata: string;
721
+ /** backend module configuration or `null` */
722
+ backend?: EndpointBackend;
723
+ /** ip restriction module configuration or `null` */
724
+ ipRestriction?: EndpointIPPolicy;
725
+ /** circuit breaker module configuration or `null` */
726
+ circuitBreaker?: EndpointCircuitBreaker;
727
+ /** compression module configuration or `null` */
728
+ compression?: EndpointCompression;
729
+ /** request headers module configuration or `null` */
730
+ requestHeaders?: EndpointRequestHeaders;
731
+ /** response headers module configuration or `null` */
732
+ responseHeaders?: EndpointResponseHeaders;
733
+ /** webhook verification module configuration or `null` */
734
+ webhookVerification?: EndpointWebhookValidation;
735
+ /** oauth module configuration or `null` */
736
+ oauth?: EndpointOAuth;
737
+ /** saml module configuration or `null` */
738
+ saml?: EndpointSAML;
739
+ /** oidc module configuration or `null` */
740
+ oidc?: EndpointOIDC;
741
+ /** websocket to tcp adapter configuration or `null` */
742
+ websocketTcpConverter?: EndpointWebsocketTCPConverter;
743
+ }
744
+ export interface HTTPSEdgeList {
745
+ /** the list of all HTTPS Edges on this account */
746
+ httpsEdges: Array<HTTPSEdge>;
747
+ /** URI of the HTTPS Edge list API resource */
748
+ uri: string;
749
+ /** URI of the next page, or null if there is no next page */
750
+ nextPageUri?: string;
751
+ }
752
+ export interface HTTPSEdgeCreate {
753
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
754
+ description: string;
755
+ /** arbitrary user-defined machine-readable data of this edge; optional, max 4096 bytes. */
756
+ metadata: string;
757
+ /** hostports served by this edge */
758
+ hostports?: Array<string>;
759
+ /** edge modules */
760
+ mutualTls?: EndpointMutualTLSMutate;
761
+ tlsTermination?: EndpointTLSTerminationAtEdge;
762
+ }
763
+ export interface HTTPSEdgeUpdate {
764
+ /** unique identifier of this edge */
765
+ id: string;
766
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
767
+ description?: string;
768
+ /** arbitrary user-defined machine-readable data of this edge; optional, max 4096 bytes. */
769
+ metadata?: string;
770
+ /** hostports served by this edge */
771
+ hostports?: Array<string>;
772
+ /** edge modules */
773
+ mutualTls?: EndpointMutualTLSMutate;
774
+ tlsTermination?: EndpointTLSTerminationAtEdge;
775
+ }
776
+ export interface HTTPSEdge {
777
+ /** unique identifier of this edge */
778
+ id: string;
779
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
780
+ description: string;
781
+ /** arbitrary user-defined machine-readable data of this edge; optional, max 4096 bytes. */
782
+ metadata: string;
783
+ /** timestamp when the edge configuration was created, RFC 3339 format */
784
+ createdAt: string;
785
+ /** URI of the edge API resource */
786
+ uri: string;
787
+ /** hostports served by this edge */
788
+ hostports?: Array<string>;
789
+ /** edge modules */
790
+ mutualTls?: EndpointMutualTLS;
791
+ tlsTermination?: EndpointTLSTermination;
792
+ /** routes */
793
+ routes: Array<HTTPSEdgeRoute>;
794
+ }
795
+ export interface EdgeBackendReplace {
796
+ id: string;
797
+ module: EndpointBackendMutate;
798
+ }
799
+ export interface EdgeIPRestrictionReplace {
800
+ id: string;
801
+ module: EndpointIPPolicyMutate;
802
+ }
803
+ export interface EdgeMutualTLSReplace {
804
+ id: string;
805
+ module: EndpointMutualTLSMutate;
806
+ }
807
+ export interface EdgeTLSTerminationReplace {
808
+ id: string;
809
+ module: EndpointTLSTermination;
810
+ }
811
+ export interface EdgeTLSTerminationAtEdgeReplace {
812
+ id: string;
813
+ module: EndpointTLSTerminationAtEdge;
814
+ }
815
+ export interface EdgeRouteBackendReplace {
816
+ edgeId: string;
817
+ id: string;
818
+ module: EndpointBackendMutate;
819
+ }
820
+ export interface EdgeRouteIPRestrictionReplace {
821
+ edgeId: string;
822
+ id: string;
823
+ module: EndpointIPPolicyMutate;
824
+ }
825
+ export interface EdgeRouteRequestHeadersReplace {
826
+ edgeId: string;
827
+ id: string;
828
+ module: EndpointRequestHeaders;
829
+ }
830
+ export interface EdgeRouteResponseHeadersReplace {
831
+ edgeId: string;
832
+ id: string;
833
+ module: EndpointResponseHeaders;
834
+ }
835
+ export interface EdgeRouteCompressionReplace {
836
+ edgeId: string;
837
+ id: string;
838
+ module: EndpointCompression;
839
+ }
840
+ export interface EdgeRouteCircuitBreakerReplace {
841
+ edgeId: string;
842
+ id: string;
843
+ module: EndpointCircuitBreaker;
844
+ }
845
+ export interface EdgeRouteWebhookVerificationReplace {
846
+ edgeId: string;
847
+ id: string;
848
+ module: EndpointWebhookValidation;
849
+ }
850
+ export interface EdgeRouteOAuthReplace {
851
+ edgeId: string;
852
+ id: string;
853
+ module: EndpointOAuth;
854
+ }
855
+ export interface EdgeRouteSAMLReplace {
856
+ edgeId: string;
857
+ id: string;
858
+ module: EndpointSAMLMutate;
859
+ }
860
+ export interface EdgeRouteOIDCReplace {
861
+ edgeId: string;
862
+ id: string;
863
+ module: EndpointOIDC;
864
+ }
865
+ export interface EdgeRouteWebsocketTCPConverterReplace {
866
+ edgeId: string;
867
+ id: string;
868
+ module: EndpointWebsocketTCPConverter;
869
+ }
870
+ export interface TCPEdgeList {
871
+ /** the list of all TCP Edges on this account */
872
+ tcpEdges: Array<TCPEdge>;
873
+ /** URI of the TCP Edge list API resource */
874
+ uri: string;
875
+ /** URI of the next page, or null if there is no next page */
876
+ nextPageUri?: string;
684
877
  }
685
878
  export interface TCPEdgeCreate {
686
- /** human-readable description of what this edge will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
879
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
687
880
  description: string;
688
881
  /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
689
882
  metadata: string;
690
- ip_restriction?: EndpointIPPolicyMutate;
883
+ /** hostports served by this edge */
884
+ hostports?: Array<string>;
885
+ /** edge modules */
886
+ backend?: EndpointBackendMutate;
887
+ ipRestriction?: EndpointIPPolicyMutate;
691
888
  }
692
889
  export interface TCPEdgeUpdate {
693
890
  /** unique identifier of this edge */
694
891
  id: string;
695
- /** human-readable description of what this edge will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
892
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
696
893
  description?: string;
697
894
  /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
698
895
  metadata?: string;
699
- ip_restriction?: EndpointIPPolicyMutate;
896
+ /** hostports served by this edge */
897
+ hostports?: Array<string>;
898
+ /** edge modules */
899
+ backend?: EndpointBackendMutate;
900
+ ipRestriction?: EndpointIPPolicyMutate;
700
901
  }
701
902
  export interface TCPEdge {
702
903
  /** unique identifier of this edge */
703
904
  id: string;
704
- /** human-readable description of what this edge will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
905
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
705
906
  description: string;
706
907
  /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
707
908
  metadata: string;
708
909
  /** timestamp when the edge was created, RFC 3339 format */
709
- created_at: string;
910
+ createdAt: string;
710
911
  /** URI of the edge API resource */
711
912
  uri: string;
913
+ /** hostports served by this edge */
914
+ hostports?: Array<string>;
712
915
  /** edge modules */
713
916
  backend?: EndpointBackend;
714
- ip_restriction?: EndpointIPPolicy;
917
+ ipRestriction?: EndpointIPPolicy;
918
+ }
919
+ export interface TLSEdgeList {
920
+ /** the list of all TLS Edges on this account */
921
+ tlsEdges: Array<TLSEdge>;
922
+ /** URI of the TLS Edge list API resource */
923
+ uri: string;
924
+ /** URI of the next page, or null if there is no next page */
925
+ nextPageUri?: string;
715
926
  }
716
927
  export interface TLSEdgeCreate {
717
- /** human-readable description of what this edge will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
928
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
718
929
  description: string;
719
930
  /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
720
931
  metadata: string;
721
- ip_restriction?: EndpointIPPolicyMutate;
722
- mutual_tls?: EndpointMutualTLSMutate;
723
- tls_termination?: EndpointTLSTermination;
932
+ /** hostports served by this edge */
933
+ hostports?: Array<string>;
934
+ /** edge modules */
935
+ backend?: EndpointBackendMutate;
936
+ ipRestriction?: EndpointIPPolicyMutate;
937
+ mutualTls?: EndpointMutualTLSMutate;
938
+ tlsTermination?: EndpointTLSTermination;
724
939
  }
725
940
  export interface TLSEdgeUpdate {
726
941
  /** unique identifier of this edge */
727
942
  id: string;
728
- /** human-readable description of what this edge will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
943
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
729
944
  description?: string;
730
945
  /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
731
946
  metadata?: string;
732
- ip_restriction?: EndpointIPPolicyMutate;
733
- mutual_tls?: EndpointMutualTLSMutate;
734
- tls_termination?: EndpointTLSTermination;
947
+ /** hostports served by this edge */
948
+ hostports?: Array<string>;
949
+ /** edge modules */
950
+ backend?: EndpointBackendMutate;
951
+ ipRestriction?: EndpointIPPolicyMutate;
952
+ mutualTls?: EndpointMutualTLSMutate;
953
+ tlsTermination?: EndpointTLSTermination;
735
954
  }
736
955
  export interface TLSEdge {
737
956
  /** unique identifier of this edge */
738
957
  id: string;
739
- /** human-readable description of what this edge will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
958
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
740
959
  description: string;
741
960
  /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
742
961
  metadata: string;
743
962
  /** timestamp when the edge configuration was created, RFC 3339 format */
744
- created_at: string;
963
+ createdAt: string;
745
964
  /** URI of the edge API resource */
746
965
  uri: string;
966
+ /** hostports served by this edge */
967
+ hostports?: Array<string>;
747
968
  /** edge modules */
748
969
  backend?: EndpointBackend;
749
- ip_restriction?: EndpointIPPolicy;
750
- mutual_tls?: EndpointMutualTLS;
751
- tls_termination?: EndpointTLSTermination;
970
+ ipRestriction?: EndpointIPPolicy;
971
+ mutualTls?: EndpointMutualTLS;
972
+ tlsTermination?: EndpointTLSTermination;
752
973
  }
753
- export interface EventStreamCreate {
754
- /** Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes. */
755
- metadata: string;
756
- /** Human-readable description of the Event Stream. Optional, max 255 bytes. */
757
- description: string;
758
- /** A list of protocol-specific fields you want to collect on each event. */
759
- fields: Array<string>;
760
- /** The protocol that determines which events will be collected. Supported values are tcp_connection_closed and http_request_complete. */
761
- event_type: string;
762
- /** A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. */
763
- destination_ids: Array<string>;
764
- /** The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events. */
765
- sampling_rate: number;
766
- }
767
- export interface EventStreamUpdate {
768
- /** Unique identifier for this Event Stream. */
769
- id: string;
770
- /** Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes. */
771
- metadata?: string;
772
- /** Human-readable description of the Event Stream. Optional, max 255 bytes. */
773
- description?: string;
774
- /** A list of protocol-specific fields you want to collect on each event. */
775
- fields?: Array<string>;
776
- /** A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. */
777
- destination_ids?: Array<string>;
778
- /** The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events. */
779
- sampling_rate?: number;
780
- }
781
- export interface EventStreamList {
782
- /** The list of all Event Streams on this account. */
783
- event_streams: Array<EventStream>;
784
- /** URI of the Event Stream list API resource. */
785
- uri: string;
786
- /** URI of the next page, or null if there is no next page. */
787
- next_page_uri?: string;
788
- }
789
- export interface EventStream {
790
- /** Unique identifier for this Event Stream. */
974
+ export interface Endpoint {
975
+ /** unique endpoint resource identifier */
791
976
  id: string;
792
- /** URI of the Event Stream API resource. */
793
- uri: string;
794
- /** Timestamp when the Event Stream was created, RFC 3339 format. */
795
- created_at: string;
796
- /** Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes. */
977
+ /** identifier of the region this endpoint belongs to */
978
+ region: string;
979
+ /** timestamp when the endpoint was created in RFC 3339 format */
980
+ createdAt: string;
981
+ /** timestamp when the endpoint was updated in RFC 3339 format */
982
+ updatedAt: string;
983
+ /** URL of the hostport served by this endpoint */
984
+ publicUrl: string;
985
+ /** protocol served by this endpoint. one of `http`, `https`, `tcp`, or `tls` */
986
+ proto: string;
987
+ /** hostport served by this endpoint (hostname:port) */
988
+ hostport: string;
989
+ /** whether the endpoint is `ephemeral` (served directly by an agent-initiated tunnel) or `edge` (served by an edge) */
990
+ type: string;
991
+ /** user-supplied metadata of the associated tunnel or edge object */
797
992
  metadata: string;
798
- /** Human-readable description of the Event Stream. Optional, max 255 bytes. */
799
- description: string;
800
- /** A list of protocol-specific fields you want to collect on each event. */
801
- fields: Array<string>;
802
- /** The protocol that determines which events will be collected. Supported values are tcp_connection_closed and http_request_complete. */
803
- event_type: string;
804
- /** A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. */
805
- destination_ids: Array<string>;
806
- /** The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events. */
807
- sampling_rate: number;
993
+ /** the domain reserved for this endpoint */
994
+ domain?: Ref;
995
+ /** the address reserved for this endpoint */
996
+ tcpAddr?: Ref;
997
+ /** the tunnel serving requests to this endpoint, if this is an ephemeral endpoint */
998
+ tunnel?: Ref;
999
+ /** the edge serving requests to this endpoint, if this is an edge endpoint */
1000
+ edge?: Ref;
1001
+ }
1002
+ export interface EndpointList {
1003
+ /** the list of all active endpoints on this account */
1004
+ endpoints: Array<Endpoint>;
1005
+ /** URI of the endpoints list API resource */
1006
+ uri: string;
1007
+ /** URI of the next page, or null if there is no next page */
1008
+ nextPageUri?: string;
808
1009
  }
809
1010
  export interface EventDestinationCreate {
810
1011
  /** Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes. */
811
1012
  metadata: string;
812
1013
  /** Human-readable description of the Event Destination. Optional, max 255 bytes. */
813
1014
  description: string;
814
- /** The output format you would like to serialize events into when sending to their target. Currently the only accepted value is JSON. */
1015
+ /** The output format you would like to serialize events into when sending to their target. Currently the only accepted value is `JSON`. */
815
1016
  format: string;
816
- /** An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: kinesis, firehose, cloudwatch_logs, or s3. */
1017
+ /** An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: `kinesis`, `firehose`, `cloudwatch_logs`, or `s3`. */
817
1018
  target: EventTarget;
818
1019
  }
819
1020
  export interface EventDestinationUpdate {
@@ -823,9 +1024,9 @@ export interface EventDestinationUpdate {
823
1024
  metadata?: string;
824
1025
  /** Human-readable description of the Event Destination. Optional, max 255 bytes. */
825
1026
  description?: string;
826
- /** The output format you would like to serialize events into when sending to their target. Currently the only accepted value is JSON. */
1027
+ /** The output format you would like to serialize events into when sending to their target. Currently the only accepted value is `JSON`. */
827
1028
  format?: string;
828
- /** An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: kinesis, firehose, cloudwatch_logs, or s3. */
1029
+ /** An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: `kinesis`, `firehose`, `cloudwatch_logs`, or `s3`. */
829
1030
  target?: EventTarget;
830
1031
  }
831
1032
  export interface EventDestination {
@@ -834,23 +1035,23 @@ export interface EventDestination {
834
1035
  /** Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes. */
835
1036
  metadata: string;
836
1037
  /** Timestamp when the Event Destination was created, RFC 3339 format. */
837
- created_at: string;
1038
+ createdAt: string;
838
1039
  /** Human-readable description of the Event Destination. Optional, max 255 bytes. */
839
1040
  description: string;
840
- /** The output format you would like to serialize events into when sending to their target. Currently the only accepted value is JSON. */
1041
+ /** The output format you would like to serialize events into when sending to their target. Currently the only accepted value is `JSON`. */
841
1042
  format: string;
842
- /** An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: kinesis, firehose, cloudwatch_logs, or s3. */
1043
+ /** An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: `kinesis`, `firehose`, `cloudwatch_logs`, or `s3`. */
843
1044
  target: EventTarget;
844
1045
  /** URI of the Event Destination API resource. */
845
1046
  uri: string;
846
1047
  }
847
1048
  export interface EventDestinationList {
848
1049
  /** The list of all Event Destinations on this account. */
849
- event_destinations: Array<EventDestination>;
1050
+ eventDestinations: Array<EventDestination>;
850
1051
  /** URI of the Event Destinations list API resource. */
851
1052
  uri: string;
852
1053
  /** URI of the next page, or null if there is no next page. */
853
- next_page_uri?: string;
1054
+ nextPageUri?: string;
854
1055
  }
855
1056
  export interface EventTarget {
856
1057
  /** Configuration used to send events to Amazon Kinesis Data Firehose. */
@@ -858,41 +1059,25 @@ export interface EventTarget {
858
1059
  /** Configuration used to send events to Amazon Kinesis. */
859
1060
  kinesis?: EventTargetKinesis;
860
1061
  /** Configuration used to send events to Amazon CloudWatch Logs. */
861
- cloudwatch_logs?: EventTargetCloudwatchLogs;
1062
+ cloudwatchLogs?: EventTargetCloudwatchLogs;
862
1063
  }
863
1064
  export interface EventTargetFirehose {
864
- /** Configuration for how to authenticate into your AWS account. Exactly one of role or creds should be configured. */
1065
+ /** Configuration for how to authenticate into your AWS account. Exactly one of `role` or `creds` should be configured. */
865
1066
  auth: AWSAuth;
866
1067
  /** An Amazon Resource Name specifying the Firehose delivery stream to deposit events into. */
867
- delivery_stream_arn: string;
1068
+ deliveryStreamArn: string;
868
1069
  }
869
1070
  export interface EventTargetKinesis {
870
- /** Configuration for how to authenticate into your AWS account. Exactly one of role or creds should be configured. */
1071
+ /** Configuration for how to authenticate into your AWS account. Exactly one of `role` or `creds` should be configured. */
871
1072
  auth: AWSAuth;
872
1073
  /** An Amazon Resource Name specifying the Kinesis stream to deposit events into. */
873
- stream_arn: string;
1074
+ streamArn: string;
874
1075
  }
875
1076
  export interface EventTargetCloudwatchLogs {
876
- /** Configuration for how to authenticate into your AWS account. Exactly one of role or creds should be configured. */
1077
+ /** Configuration for how to authenticate into your AWS account. Exactly one of `role` or `creds` should be configured. */
877
1078
  auth: AWSAuth;
878
1079
  /** An Amazon Resource Name specifying the CloudWatch Logs group to deposit events into. */
879
- log_group_arn: string;
880
- }
881
- export interface EventTargetS3 {
882
- /** Configuration for how to authenticate into your AWS account. Exactly one of role or creds should be configured. */
883
- auth: AWSAuth;
884
- /** An Amazon Resource Name specifying the S3 bucket to deposit events into. */
885
- bucket_arn: string;
886
- /** An optional prefix to prepend to S3 object keys. */
887
- object_prefix: string;
888
- /** Whether or not to compress files with gzip. */
889
- compression: boolean;
890
- /** How many bytes we should accumulate into a single file before sending to S3. */
891
- max_file_size: number;
892
- /** How many seconds we should batch up events before sending them to S3. */
893
- max_file_age: number;
894
- }
895
- export interface EventTargetDebug {
1080
+ logGroupArn: string;
896
1081
  }
897
1082
  export interface AWSAuth {
898
1083
  /** A role for ngrok to assume on your behalf to deposit events into your AWS account. */
@@ -902,16 +1087,13 @@ export interface AWSAuth {
902
1087
  }
903
1088
  export interface AWSRole {
904
1089
  /** An ARN that specifies the role that ngrok should use to deliver to the configured target. */
905
- role_arn: string;
1090
+ roleArn: string;
906
1091
  }
907
1092
  export interface AWSCredentials {
908
1093
  /** The ID portion of an AWS access key. */
909
- aws_access_key_id: string;
1094
+ awsAccessKeyId: string;
910
1095
  /** The secret portion of an AWS access key. */
911
- aws_secret_access_key?: string;
912
- }
913
- export interface SentEvent {
914
- event_id: string;
1096
+ awsSecretAccessKey?: string;
915
1097
  }
916
1098
  export interface EventSubscriptionCreate {
917
1099
  /** Arbitrary customer supplied information intended to be machine readable. Optional, max 4096 chars. */
@@ -920,8 +1102,8 @@ export interface EventSubscriptionCreate {
920
1102
  description: string;
921
1103
  /** Sources containing the types for which this event subscription will trigger */
922
1104
  sources: Array<EventSourceReplace>;
923
- /** A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. */
924
- destination_ids: Array<string>;
1105
+ /** A list of Event Destination IDs which should be used for this Event Subscription. */
1106
+ destinationIds: Array<string>;
925
1107
  }
926
1108
  export interface EventSubscriptionUpdate {
927
1109
  /** Unique identifier for this Event Subscription. */
@@ -932,16 +1114,16 @@ export interface EventSubscriptionUpdate {
932
1114
  description?: string;
933
1115
  /** Sources containing the types for which this event subscription will trigger */
934
1116
  sources?: Array<EventSourceReplace>;
935
- /** A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. */
936
- destination_ids?: Array<string>;
1117
+ /** A list of Event Destination IDs which should be used for this Event Subscription. */
1118
+ destinationIds?: Array<string>;
937
1119
  }
938
1120
  export interface EventSubscriptionList {
939
1121
  /** The list of all Event Subscriptions on this account. */
940
- event_subscriptions: Array<EventSubscription>;
1122
+ eventSubscriptions: Array<EventSubscription>;
941
1123
  /** URI of the Event Subscriptions list API resource. */
942
1124
  uri: string;
943
1125
  /** URI of next page, or null if there is no next page. */
944
- next_page_uri?: string;
1126
+ nextPageUri?: string;
945
1127
  }
946
1128
  export interface EventSubscription {
947
1129
  /** Unique identifier for this Event Subscription. */
@@ -949,7 +1131,7 @@ export interface EventSubscription {
949
1131
  /** URI of the Event Subscription API resource. */
950
1132
  uri: string;
951
1133
  /** When the Event Subscription was created (RFC 3339 format). */
952
- created_at: string;
1134
+ createdAt: string;
953
1135
  /** Arbitrary customer supplied information intended to be machine readable. Optional, max 4096 chars. */
954
1136
  metadata: string;
955
1137
  /** Arbitrary customer supplied information intended to be human readable. Optional, max 255 chars. */
@@ -977,35 +1159,33 @@ export interface EventSourceList {
977
1159
  }
978
1160
  export interface EventSourceCreate {
979
1161
  /** The unique identifier for the Event Subscription that this Event Source is attached to. */
980
- subscription_id: string;
1162
+ subscriptionId: string;
981
1163
  /** Type of event for which an event subscription will trigger */
982
1164
  type: string;
983
1165
  }
984
1166
  export interface EventSourceUpdate {
985
1167
  /** The unique identifier for the Event Subscription that this Event Source is attached to. */
986
- subscription_id: string;
1168
+ subscriptionId: string;
987
1169
  /** Type of event for which an event subscription will trigger */
988
1170
  type: string;
989
1171
  }
990
1172
  /** This is needed instead of Item because the parameters are different. */
991
1173
  export interface EventSourceItem {
992
1174
  /** The unique identifier for the Event Subscription that this Event Source is attached to. */
993
- subscription_id: string;
1175
+ subscriptionId: string;
994
1176
  /** Type of event for which an event subscription will trigger */
995
1177
  type: string;
996
1178
  }
997
1179
  /** This is needed instead of Paging because the parameters are different. We also don't need the typical pagination params because pagination of this isn't necessary or supported. */
998
1180
  export interface EventSourcePaging {
999
1181
  /** The unique identifier for the Event Subscription that this Event Source is attached to. */
1000
- subscription_id: string;
1182
+ subscriptionId: string;
1001
1183
  }
1002
1184
  export interface IPPolicyCreate {
1003
1185
  /** human-readable description of the source IPs of this IP policy. optional, max 255 bytes. */
1004
1186
  description: string;
1005
1187
  /** arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. */
1006
1188
  metadata: string;
1007
- /** the IP policy action. Supported values are allow or deny */
1008
- action: string;
1009
1189
  }
1010
1190
  export interface IPPolicyUpdate {
1011
1191
  id: string;
@@ -1020,21 +1200,19 @@ export interface IPPolicy {
1020
1200
  /** URI of the IP Policy API resource */
1021
1201
  uri: string;
1022
1202
  /** timestamp when the IP policy was created, RFC 3339 format */
1023
- created_at: string;
1203
+ createdAt: string;
1024
1204
  /** human-readable description of the source IPs of this IP policy. optional, max 255 bytes. */
1025
1205
  description: string;
1026
1206
  /** arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. */
1027
1207
  metadata: string;
1028
- /** the IP policy action. Supported values are allow or deny */
1029
- action: string;
1030
1208
  }
1031
1209
  export interface IPPolicyList {
1032
1210
  /** the list of all IP policies on this account */
1033
- ip_policies: Array<IPPolicy>;
1211
+ ipPolicies: Array<IPPolicy>;
1034
1212
  /** URI of the IP policy list API resource */
1035
1213
  uri: string;
1036
1214
  /** URI of the next page, or null if there is no next page */
1037
- next_page_uri?: string;
1215
+ nextPageUri?: string;
1038
1216
  }
1039
1217
  export interface IPPolicyRuleCreate {
1040
1218
  /** human-readable description of the source IPs of this IP rule. optional, max 255 bytes. */
@@ -1044,7 +1222,9 @@ export interface IPPolicyRuleCreate {
1044
1222
  /** an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported. */
1045
1223
  cidr: string;
1046
1224
  /** ID of the IP policy this IP policy rule will be attached to */
1047
- ip_policy_id: string;
1225
+ ipPolicyId: string;
1226
+ /** the action to apply to the policy rule, either `allow` or `deny` */
1227
+ action?: string;
1048
1228
  }
1049
1229
  export interface IPPolicyRuleUpdate {
1050
1230
  id: string;
@@ -1061,7 +1241,7 @@ export interface IPPolicyRule {
1061
1241
  /** URI of the IP policy rule API resource */
1062
1242
  uri: string;
1063
1243
  /** timestamp when the IP policy rule was created, RFC 3339 format */
1064
- created_at: string;
1244
+ createdAt: string;
1065
1245
  /** human-readable description of the source IPs of this IP rule. optional, max 255 bytes. */
1066
1246
  description: string;
1067
1247
  /** arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes. */
@@ -1069,15 +1249,17 @@ export interface IPPolicyRule {
1069
1249
  /** an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported. */
1070
1250
  cidr: string;
1071
1251
  /** object describing the IP policy this IP Policy Rule belongs to */
1072
- ip_policy: Ref;
1252
+ ipPolicy: Ref;
1253
+ /** the action to apply to the policy rule, either `allow` or `deny` */
1254
+ action: string;
1073
1255
  }
1074
1256
  export interface IPPolicyRuleList {
1075
1257
  /** the list of all IP policy rules on this account */
1076
- ip_policy_rules: Array<IPPolicyRule>;
1258
+ ipPolicyRules: Array<IPPolicyRule>;
1077
1259
  /** URI of the IP policy rule list API resource */
1078
1260
  uri: string;
1079
1261
  /** URI of the next page, or null if there is no next page */
1080
- next_page_uri?: string;
1262
+ nextPageUri?: string;
1081
1263
  }
1082
1264
  export interface IPRestrictionCreate {
1083
1265
  /** human-readable description of this IP restriction. optional, max 255 bytes. */
@@ -1086,10 +1268,10 @@ export interface IPRestrictionCreate {
1086
1268
  metadata: string;
1087
1269
  /** true if the IP restriction will be enforced. if false, only warnings will be issued */
1088
1270
  enforced: boolean;
1089
- /** the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: dashboard, api, agent, and endpoints */
1271
+ /** the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: `dashboard`, `api`, `agent`, and `endpoints` */
1090
1272
  type: string;
1091
1273
  /** the set of IP policy identifiers that are used to enforce the restriction */
1092
- ip_policy_ids: Array<string>;
1274
+ ipPolicyIds: Array<string>;
1093
1275
  }
1094
1276
  export interface IPRestrictionUpdate {
1095
1277
  id: string;
@@ -1100,7 +1282,7 @@ export interface IPRestrictionUpdate {
1100
1282
  /** true if the IP restriction will be enforced. if false, only warnings will be issued */
1101
1283
  enforced?: boolean;
1102
1284
  /** the set of IP policy identifiers that are used to enforce the restriction */
1103
- ip_policy_ids: Array<string>;
1285
+ ipPolicyIds: Array<string>;
1104
1286
  }
1105
1287
  export interface IPRestriction {
1106
1288
  /** unique identifier for this IP restriction */
@@ -1108,118 +1290,25 @@ export interface IPRestriction {
1108
1290
  /** URI of the IP restriction API resource */
1109
1291
  uri: string;
1110
1292
  /** timestamp when the IP restriction was created, RFC 3339 format */
1111
- created_at: string;
1293
+ createdAt: string;
1112
1294
  /** human-readable description of this IP restriction. optional, max 255 bytes. */
1113
1295
  description: string;
1114
1296
  /** arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes. */
1115
1297
  metadata: string;
1116
1298
  /** true if the IP restriction will be enforced. if false, only warnings will be issued */
1117
1299
  enforced: boolean;
1118
- /** the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: dashboard, api, agent, and endpoints */
1300
+ /** the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: `dashboard`, `api`, `agent`, and `endpoints` */
1119
1301
  type: string;
1120
1302
  /** the set of IP policies that are used to enforce the restriction */
1121
- ip_policies: Array<Ref>;
1303
+ ipPolicies: Array<Ref>;
1122
1304
  }
1123
1305
  export interface IPRestrictionList {
1124
1306
  /** the list of all IP restrictions on this account */
1125
- ip_restrictions: Array<IPRestriction>;
1307
+ ipRestrictions: Array<IPRestriction>;
1126
1308
  /** URI of the IP resrtrictions list API resource */
1127
1309
  uri: string;
1128
1310
  /** URI of the next page, or null if there is no next page */
1129
- next_page_uri?: string;
1130
- }
1131
- export interface IPWhitelistEntryCreate {
1132
- /** human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes. */
1133
- description: string;
1134
- /** arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes. */
1135
- metadata: string;
1136
- /** an IP address or IP network range in CIDR notation (e.g. 10.1.1.1 or 10.1.0.0/16) of addresses that will be whitelisted to communicate with your tunnel endpoints */
1137
- ip_net: string;
1138
- }
1139
- export interface IPWhitelistEntryUpdate {
1140
- id: string;
1141
- /** human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes. */
1142
- description?: string;
1143
- /** arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes. */
1144
- metadata?: string;
1145
- }
1146
- export interface IPWhitelistEntry {
1147
- /** unique identifier for this IP whitelist entry */
1148
- id: string;
1149
- /** URI of the IP whitelist entry API resource */
1150
- uri: string;
1151
- /** timestamp when the IP whitelist entry was created, RFC 3339 format */
1152
- created_at: string;
1153
- /** human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes. */
1154
- description: string;
1155
- /** arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes. */
1156
- metadata: string;
1157
- /** an IP address or IP network range in CIDR notation (e.g. 10.1.1.1 or 10.1.0.0/16) of addresses that will be whitelisted to communicate with your tunnel endpoints */
1158
- ip_net: string;
1159
- }
1160
- export interface IPWhitelistEntryList {
1161
- /** the list of all IP whitelist entries on this account */
1162
- whitelist: Array<IPWhitelistEntry>;
1163
- /** URI of the IP whitelist API resource */
1164
- uri: string;
1165
- /** URI of the next page, or null if there is no next page */
1166
- next_page_uri?: string;
1167
- }
1168
- export interface EndpointLoggingReplace {
1169
- id: string;
1170
- module: EndpointLoggingMutate;
1171
- }
1172
- export interface EndpointBasicAuthReplace {
1173
- id: string;
1174
- module: EndpointBasicAuth;
1175
- }
1176
- export interface EndpointCircuitBreakerReplace {
1177
- id: string;
1178
- module: EndpointCircuitBreaker;
1179
- }
1180
- export interface EndpointCompressionReplace {
1181
- id: string;
1182
- module: EndpointCompression;
1183
- }
1184
- export interface EndpointTLSTerminationReplace {
1185
- id: string;
1186
- module: EndpointTLSTermination;
1187
- }
1188
- export interface EndpointIPPolicyReplace {
1189
- id: string;
1190
- module: EndpointIPPolicyMutate;
1191
- }
1192
- export interface EndpointMutualTLSReplace {
1193
- id: string;
1194
- module: EndpointMutualTLSMutate;
1195
- }
1196
- export interface EndpointRequestHeadersReplace {
1197
- id: string;
1198
- module: EndpointRequestHeaders;
1199
- }
1200
- export interface EndpointResponseHeadersReplace {
1201
- id: string;
1202
- module: EndpointResponseHeaders;
1203
- }
1204
- export interface EndpointOAuthReplace {
1205
- id: string;
1206
- module: EndpointOAuth;
1207
- }
1208
- export interface EndpointWebhookValidationReplace {
1209
- id: string;
1210
- module: EndpointWebhookValidation;
1211
- }
1212
- export interface EndpointSAMLReplace {
1213
- id: string;
1214
- module: EndpointSAMLMutate;
1215
- }
1216
- export interface EndpointOIDCReplace {
1217
- id: string;
1218
- module: EndpointOIDC;
1219
- }
1220
- export interface EndpointBackendReplace {
1221
- id: string;
1222
- module: EndpointBackendMutate;
1311
+ nextPageUri?: string;
1223
1312
  }
1224
1313
  export interface ReservedAddrCreate {
1225
1314
  /** human-readable description of what this reserved address will be used for */
@@ -1228,8 +1317,6 @@ export interface ReservedAddrCreate {
1228
1317
  metadata: string;
1229
1318
  /** reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) */
1230
1319
  region: string;
1231
- /** ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address */
1232
- endpoint_configuration_id: string;
1233
1320
  }
1234
1321
  export interface ReservedAddrUpdate {
1235
1322
  id: string;
@@ -1237,8 +1324,6 @@ export interface ReservedAddrUpdate {
1237
1324
  description?: string;
1238
1325
  /** arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. */
1239
1326
  metadata?: string;
1240
- /** ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address */
1241
- endpoint_configuration_id?: string;
1242
1327
  }
1243
1328
  export interface ReservedAddr {
1244
1329
  /** unique reserved address resource identifier */
@@ -1246,7 +1331,7 @@ export interface ReservedAddr {
1246
1331
  /** URI of the reserved address API resource */
1247
1332
  uri: string;
1248
1333
  /** timestamp when the reserved address was created, RFC 3339 format */
1249
- created_at: string;
1334
+ createdAt: string;
1250
1335
  /** human-readable description of what this reserved address will be used for */
1251
1336
  description: string;
1252
1337
  /** arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. */
@@ -1255,16 +1340,14 @@ export interface ReservedAddr {
1255
1340
  addr: string;
1256
1341
  /** reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) */
1257
1342
  region: string;
1258
- /** object reference to the endpoint configuration that will be applied to traffic to this address */
1259
- endpoint_configuration?: Ref;
1260
1343
  }
1261
1344
  export interface ReservedAddrList {
1262
1345
  /** the list of all reserved addresses on this account */
1263
- reserved_addrs: Array<ReservedAddr>;
1346
+ reservedAddrs: Array<ReservedAddr>;
1264
1347
  /** URI of the reserved address list API resource */
1265
1348
  uri: string;
1266
1349
  /** URI of the next page, or null if there is no next page */
1267
- next_page_uri?: string;
1350
+ nextPageUri?: string;
1268
1351
  }
1269
1352
  export interface ReservedDomainCreate {
1270
1353
  /** the domain name to reserve. It may be a full domain name like app.example.com. If the name does not contain a '.' it will reserve that subdomain on ngrok.io. */
@@ -1275,14 +1358,10 @@ export interface ReservedDomainCreate {
1275
1358
  description: string;
1276
1359
  /** arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. */
1277
1360
  metadata: string;
1278
- /** ID of an endpoint configuration of type http that will be used to handle inbound http traffic to this domain */
1279
- http_endpoint_configuration_id?: string;
1280
- /** ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain */
1281
- https_endpoint_configuration_id?: string;
1282
- /** ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with certificate_management_policy. */
1283
- certificate_id?: string;
1284
- /** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with certificate_id. */
1285
- certificate_management_policy?: ReservedDomainCertPolicy;
1361
+ /** ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with `certificate_management_policy`. */
1362
+ certificateId?: string;
1363
+ /** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with `certificate_id`. */
1364
+ certificateManagementPolicy?: ReservedDomainCertPolicy;
1286
1365
  }
1287
1366
  export interface ReservedDomainUpdate {
1288
1367
  id: string;
@@ -1290,14 +1369,10 @@ export interface ReservedDomainUpdate {
1290
1369
  description?: string;
1291
1370
  /** arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. */
1292
1371
  metadata?: string;
1293
- /** ID of an endpoint configuration of type http that will be used to handle inbound http traffic to this domain */
1294
- http_endpoint_configuration_id?: string;
1295
- /** ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain */
1296
- https_endpoint_configuration_id?: string;
1297
- /** ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with certificate_management_policy. */
1298
- certificate_id?: string;
1299
- /** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with certificate_id. */
1300
- certificate_management_policy?: ReservedDomainCertPolicy;
1372
+ /** ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with `certificate_management_policy`. */
1373
+ certificateId?: string;
1374
+ /** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with `certificate_id`. */
1375
+ certificateManagementPolicy?: ReservedDomainCertPolicy;
1301
1376
  }
1302
1377
  export interface ReservedDomain {
1303
1378
  /** unique reserved domain resource identifier */
@@ -1305,7 +1380,7 @@ export interface ReservedDomain {
1305
1380
  /** URI of the reserved domain API resource */
1306
1381
  uri: string;
1307
1382
  /** timestamp when the reserved domain was created, RFC 3339 format */
1308
- created_at: string;
1383
+ createdAt: string;
1309
1384
  /** human-readable description of what this reserved domain will be used for */
1310
1385
  description: string;
1311
1386
  /** arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. */
@@ -1315,71 +1390,57 @@ export interface ReservedDomain {
1315
1390
  /** reserve the domain in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) */
1316
1391
  region: string;
1317
1392
  /** DNS CNAME target for a custom hostname, or null if the reserved domain is a subdomain of *.ngrok.io */
1318
- cname_target?: string;
1319
- /** object referencing the endpoint configuration applied to http traffic on this domain */
1320
- http_endpoint_configuration?: Ref;
1321
- /** object referencing the endpoint configuration applied to https traffic on this domain */
1322
- https_endpoint_configuration?: Ref;
1393
+ cnameTarget?: string;
1323
1394
  /** object referencing the TLS certificate used for connections to this domain. This can be either a user-uploaded certificate, the most recently issued automatic one, or null otherwise. */
1324
1395
  certificate?: Ref;
1325
1396
  /** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled */
1326
- certificate_management_policy?: ReservedDomainCertPolicy;
1397
+ certificateManagementPolicy?: ReservedDomainCertPolicy;
1327
1398
  /** status of the automatic certificate management for this domain, or null if automatic management is disabled */
1328
- certificate_management_status?: ReservedDomainCertStatus;
1399
+ certificateManagementStatus?: ReservedDomainCertStatus;
1400
+ /** DNS CNAME target for the host _acme-challenge.example.com, where example.com is your reserved domain name. This is required to issue certificates for wildcard, non-ngrok reserved domains. Must be null for non-wildcard domains and ngrok subdomains. */
1401
+ acmeChallengeCnameTarget?: string;
1329
1402
  }
1330
1403
  export interface ReservedDomainList {
1331
1404
  /** the list of all reserved domains on this account */
1332
- reserved_domains: Array<ReservedDomain>;
1405
+ reservedDomains: Array<ReservedDomain>;
1333
1406
  /** URI of the reserved domain list API resource */
1334
1407
  uri: string;
1335
1408
  /** URI of the next page, or null if there is no next page */
1336
- next_page_uri?: string;
1409
+ nextPageUri?: string;
1337
1410
  }
1338
1411
  export interface ReservedDomainCertPolicy {
1339
1412
  /** certificate authority to request certificates from. The only supported value is letsencrypt. */
1340
1413
  authority: string;
1341
1414
  /** type of private key to use when requesting certificates. Defaults to rsa, can be either rsa or ecdsa. */
1342
- private_key_type: string;
1415
+ privateKeyType: string;
1343
1416
  }
1344
1417
  export interface ReservedDomainCertStatus {
1345
1418
  /** timestamp when the next renewal will be requested, RFC 3339 format */
1346
- renews_at?: string;
1419
+ renewsAt?: string;
1347
1420
  /** status of the certificate provisioning job, or null if the certificiate isn't being provisioned or renewed */
1348
- provisioning_job?: ReservedDomainCertJob;
1349
- }
1350
- export interface ReservedDomainCertNSTarget {
1351
- /** the zone that the nameservers need to be applied to */
1352
- zone: string;
1353
- /** the nameservers the user must add */
1354
- nameservers: Array<string>;
1421
+ provisioningJob?: ReservedDomainCertJob;
1355
1422
  }
1356
1423
  export interface ReservedDomainCertJob {
1357
1424
  /** if present, an error code indicating why provisioning is failing. It may be either a temporary condition (INTERNAL_ERROR), or a permanent one the user must correct (DNS_ERROR). */
1358
- error_code?: string;
1425
+ errorCode?: string;
1359
1426
  /** a message describing the current status or error */
1360
1427
  msg: string;
1361
1428
  /** timestamp when the provisioning job started, RFC 3339 format */
1362
- started_at: string;
1429
+ startedAt: string;
1363
1430
  /** timestamp when the provisioning job will be retried */
1364
- retries_at?: string;
1365
- /** if present, indicates the dns nameservers that the user must configure to complete the provisioning process of a wildcard certificate */
1366
- ns_targets: Array<ReservedDomainCertNSTarget>;
1367
- }
1368
- export interface RootResponse {
1369
- uri: string;
1370
- subresource_uris: Map<string, string>;
1431
+ retriesAt?: string;
1371
1432
  }
1372
1433
  export interface SSHCertificateAuthorityCreate {
1373
1434
  /** human-readable description of this SSH Certificate Authority. optional, max 255 bytes. */
1374
1435
  description: string;
1375
1436
  /** arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes. */
1376
1437
  metadata: string;
1377
- /** the type of private key to generate. one of rsa, ecdsa, ed25519 */
1378
- private_key_type: string;
1438
+ /** the type of private key to generate. one of `rsa`, `ecdsa`, `ed25519` */
1439
+ privateKeyType: string;
1379
1440
  /** the type of elliptic curve to use when creating an ECDSA key */
1380
- elliptic_curve: string;
1381
- /** the key size to use when creating an RSA key. one of 2048 or 4096 */
1382
- key_size: number;
1441
+ ellipticCurve: string;
1442
+ /** the key size to use when creating an RSA key. one of `2048` or `4096` */
1443
+ keySize: number;
1383
1444
  }
1384
1445
  export interface SSHCertificateAuthorityUpdate {
1385
1446
  id: string;
@@ -1394,33 +1455,33 @@ export interface SSHCertificateAuthority {
1394
1455
  /** URI of the SSH Certificate Authority API resource */
1395
1456
  uri: string;
1396
1457
  /** timestamp when the SSH Certificate Authority API resource was created, RFC 3339 format */
1397
- created_at: string;
1458
+ createdAt: string;
1398
1459
  /** human-readable description of this SSH Certificate Authority. optional, max 255 bytes. */
1399
1460
  description: string;
1400
1461
  /** arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes. */
1401
1462
  metadata: string;
1402
1463
  /** raw public key for this SSH Certificate Authority */
1403
- public_key: string;
1464
+ publicKey: string;
1404
1465
  /** the type of private key for this SSH Certificate Authority */
1405
- key_type: string;
1466
+ keyType: string;
1406
1467
  }
1407
1468
  export interface SSHCertificateAuthorityList {
1408
1469
  /** the list of all certificate authorities on this account */
1409
- ssh_certificate_authorities: Array<SSHCertificateAuthority>;
1470
+ sshCertificateAuthorities: Array<SSHCertificateAuthority>;
1410
1471
  /** URI of the certificates authorities list API resource */
1411
1472
  uri: string;
1412
1473
  /** URI of the next page, or null if there is no next page */
1413
- next_page_uri?: string;
1474
+ nextPageUri?: string;
1414
1475
  }
1415
1476
  export interface SSHCredentialCreate {
1416
1477
  /** human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes. */
1417
1478
  description: string;
1418
1479
  /** arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. */
1419
1480
  metadata: string;
1420
- /** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of bind:*.example.com which will allow x.example.com, y.example.com, *.example.com, etc. A rule of '*' is equivalent to no acl at all and will explicitly permit all actions. */
1481
+ /** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. */
1421
1482
  acl: Array<string>;
1422
1483
  /** the PEM-encoded public key of the SSH keypair that will be used to authenticate */
1423
- public_key: string;
1484
+ publicKey: string;
1424
1485
  }
1425
1486
  export interface SSHCredentialUpdate {
1426
1487
  id: string;
@@ -1428,7 +1489,7 @@ export interface SSHCredentialUpdate {
1428
1489
  description?: string;
1429
1490
  /** arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. */
1430
1491
  metadata?: string;
1431
- /** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of bind:*.example.com which will allow x.example.com, y.example.com, *.example.com, etc. A rule of '*' is equivalent to no acl at all and will explicitly permit all actions. */
1492
+ /** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. */
1432
1493
  acl?: Array<string>;
1433
1494
  }
1434
1495
  export interface SSHCredential {
@@ -1437,35 +1498,35 @@ export interface SSHCredential {
1437
1498
  /** URI of the ssh credential API resource */
1438
1499
  uri: string;
1439
1500
  /** timestamp when the ssh credential was created, RFC 3339 format */
1440
- created_at: string;
1501
+ createdAt: string;
1441
1502
  /** human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes. */
1442
1503
  description: string;
1443
1504
  /** arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. */
1444
1505
  metadata: string;
1445
1506
  /** the PEM-encoded public key of the SSH keypair that will be used to authenticate */
1446
- public_key: string;
1447
- /** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of bind:*.example.com which will allow x.example.com, y.example.com, *.example.com, etc. A rule of '*' is equivalent to no acl at all and will explicitly permit all actions. */
1507
+ publicKey: string;
1508
+ /** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. */
1448
1509
  acl: Array<string>;
1449
1510
  }
1450
1511
  export interface SSHCredentialList {
1451
1512
  /** the list of all ssh credentials on this account */
1452
- ssh_credentials: Array<SSHCredential>;
1513
+ sshCredentials: Array<SSHCredential>;
1453
1514
  /** URI of the ssh credential list API resource */
1454
1515
  uri: string;
1455
1516
  /** URI of the next page, or null if there is no next page */
1456
- next_page_uri?: string;
1517
+ nextPageUri?: string;
1457
1518
  }
1458
1519
  export interface SSHHostCertificateCreate {
1459
1520
  /** the ssh certificate authority that is used to sign this ssh host certificate */
1460
- ssh_certificate_authority_id: string;
1521
+ sshCertificateAuthorityId: string;
1461
1522
  /** a public key in OpenSSH Authorized Keys format that this certificate signs */
1462
- public_key: string;
1523
+ publicKey: string;
1463
1524
  /** the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts. */
1464
1525
  principals: Array<string>;
1465
1526
  /** The time when the host certificate becomes valid, in RFC 3339 format. Defaults to the current time if unspecified. */
1466
- valid_after: string;
1467
- /** The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of one year in the future will be used. The OpenSSH certificates RFC calls this valid_before. */
1468
- valid_until: string;
1527
+ validAfter: string;
1528
+ /** The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of one year in the future will be used. The OpenSSH certificates RFC calls this `valid_before`. */
1529
+ validUntil: string;
1469
1530
  /** human-readable description of this SSH Host Certificate. optional, max 255 bytes. */
1470
1531
  description: string;
1471
1532
  /** arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes. */
@@ -1484,49 +1545,49 @@ export interface SSHHostCertificate {
1484
1545
  /** URI of the SSH Host Certificate API resource */
1485
1546
  uri: string;
1486
1547
  /** timestamp when the SSH Host Certificate API resource was created, RFC 3339 format */
1487
- created_at: string;
1548
+ createdAt: string;
1488
1549
  /** human-readable description of this SSH Host Certificate. optional, max 255 bytes. */
1489
1550
  description: string;
1490
1551
  /** arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes. */
1491
1552
  metadata: string;
1492
1553
  /** a public key in OpenSSH Authorized Keys format that this certificate signs */
1493
- public_key: string;
1494
- /** the key type of the public_key, one of rsa, ecdsa or ed25519 */
1495
- key_type: string;
1554
+ publicKey: string;
1555
+ /** the key type of the `public_key`, one of `rsa`, `ecdsa` or `ed25519` */
1556
+ keyType: string;
1496
1557
  /** the ssh certificate authority that is used to sign this ssh host certificate */
1497
- ssh_certificate_authority_id: string;
1558
+ sshCertificateAuthorityId: string;
1498
1559
  /** the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts. */
1499
1560
  principals: Array<string>;
1500
1561
  /** the time when the ssh host certificate becomes valid, in RFC 3339 format. */
1501
- valid_after: string;
1502
- /** the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this valid_before. */
1503
- valid_until: string;
1504
- /** the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a -cert.pub certificate file on disk that should be referenced in your sshd_config configuration file with a HostCertificate directive */
1562
+ validAfter: string;
1563
+ /** the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this `valid_before`. */
1564
+ validUntil: string;
1565
+ /** the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a `-cert.pub` certificate file on disk that should be referenced in your `sshd_config` configuration file with a `HostCertificate` directive */
1505
1566
  certificate: string;
1506
1567
  }
1507
1568
  export interface SSHHostCertificateList {
1508
1569
  /** the list of all ssh host certificates on this account */
1509
- ssh_host_certificates: Array<SSHHostCertificate>;
1570
+ sshHostCertificates: Array<SSHHostCertificate>;
1510
1571
  /** URI of the ssh host certificates list API resource */
1511
1572
  uri: string;
1512
1573
  /** URI of the next page, or null if there is no next page */
1513
- next_page_uri?: string;
1574
+ nextPageUri?: string;
1514
1575
  }
1515
1576
  export interface SSHUserCertificateCreate {
1516
1577
  /** the ssh certificate authority that is used to sign this ssh user certificate */
1517
- ssh_certificate_authority_id: string;
1578
+ sshCertificateAuthorityId: string;
1518
1579
  /** a public key in OpenSSH Authorized Keys format that this certificate signs */
1519
- public_key: string;
1580
+ publicKey: string;
1520
1581
  /** the list of principals included in the ssh user certificate. This is the list of usernames that the certificate holder may sign in as on a machine authorizinig the signing certificate authority. Dangerously, if no principals are specified, this certificate may be used to log in as any user. */
1521
1582
  principals: Array<string>;
1522
- /** A map of critical options included in the certificate. Only two critical options are currently defined by OpenSSH: force-command and source-address. See (https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys)the OpenSSH certificate protocol spec for additional details. */
1523
- critical_options: Map<string, string>;
1524
- /** A map of extensions included in the certificate. Extensions are additional metadata that can be interpreted by the SSH server for any purpose. These can be used to permit or deny the ability to open a terminal, do port forwarding, x11 forwarding, and more. If unspecified, the certificate will include limited permissions with the following extension map: {"permit-pty": "", "permit-user-rc": ""} OpenSSH understands a number of predefined extensions. See (https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys)the OpenSSH certificate protocol spec for additional details. */
1583
+ /** A map of critical options included in the certificate. Only two critical options are currently defined by OpenSSH: `force-command` and `source-address`. See [the OpenSSH certificate protocol spec](https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys) for additional details. */
1584
+ criticalOptions: Map<string, string>;
1585
+ /** A map of extensions included in the certificate. Extensions are additional metadata that can be interpreted by the SSH server for any purpose. These can be used to permit or deny the ability to open a terminal, do port forwarding, x11 forwarding, and more. If unspecified, the certificate will include limited permissions with the following extension map: `{"permit-pty": "", "permit-user-rc": ""}` OpenSSH understands a number of predefined extensions. See [the OpenSSH certificate protocol spec](https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys) for additional details. */
1525
1586
  extensions: Map<string, string>;
1526
1587
  /** The time when the user certificate becomes valid, in RFC 3339 format. Defaults to the current time if unspecified. */
1527
- valid_after: string;
1528
- /** The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of 24 hours will be used. The OpenSSH certificates RFC calls this valid_before. */
1529
- valid_until: string;
1588
+ validAfter: string;
1589
+ /** The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of 24 hours will be used. The OpenSSH certificates RFC calls this `valid_before`. */
1590
+ validUntil: string;
1530
1591
  /** human-readable description of this SSH User Certificate. optional, max 255 bytes. */
1531
1592
  description: string;
1532
1593
  /** arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes. */
@@ -1545,47 +1606,47 @@ export interface SSHUserCertificate {
1545
1606
  /** URI of the SSH User Certificate API resource */
1546
1607
  uri: string;
1547
1608
  /** timestamp when the SSH User Certificate API resource was created, RFC 3339 format */
1548
- created_at: string;
1609
+ createdAt: string;
1549
1610
  /** human-readable description of this SSH User Certificate. optional, max 255 bytes. */
1550
1611
  description: string;
1551
1612
  /** arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes. */
1552
1613
  metadata: string;
1553
1614
  /** a public key in OpenSSH Authorized Keys format that this certificate signs */
1554
- public_key: string;
1555
- /** the key type of the public_key, one of rsa, ecdsa or ed25519 */
1556
- key_type: string;
1615
+ publicKey: string;
1616
+ /** the key type of the `public_key`, one of `rsa`, `ecdsa` or `ed25519` */
1617
+ keyType: string;
1557
1618
  /** the ssh certificate authority that is used to sign this ssh user certificate */
1558
- ssh_certificate_authority_id: string;
1619
+ sshCertificateAuthorityId: string;
1559
1620
  /** the list of principals included in the ssh user certificate. This is the list of usernames that the certificate holder may sign in as on a machine authorizinig the signing certificate authority. Dangerously, if no principals are specified, this certificate may be used to log in as any user. */
1560
1621
  principals: Array<string>;
1561
- /** A map of critical options included in the certificate. Only two critical options are currently defined by OpenSSH: force-command and source-address. See (https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys)the OpenSSH certificate protocol spec for additional details. */
1562
- critical_options: Map<string, string>;
1563
- /** A map of extensions included in the certificate. Extensions are additional metadata that can be interpreted by the SSH server for any purpose. These can be used to permit or deny the ability to open a terminal, do port forwarding, x11 forwarding, and more. If unspecified, the certificate will include limited permissions with the following extension map: {"permit-pty": "", "permit-user-rc": ""} OpenSSH understands a number of predefined extensions. See (https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys)the OpenSSH certificate protocol spec for additional details. */
1622
+ /** A map of critical options included in the certificate. Only two critical options are currently defined by OpenSSH: `force-command` and `source-address`. See [the OpenSSH certificate protocol spec](https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys) for additional details. */
1623
+ criticalOptions: Map<string, string>;
1624
+ /** A map of extensions included in the certificate. Extensions are additional metadata that can be interpreted by the SSH server for any purpose. These can be used to permit or deny the ability to open a terminal, do port forwarding, x11 forwarding, and more. If unspecified, the certificate will include limited permissions with the following extension map: `{"permit-pty": "", "permit-user-rc": ""}` OpenSSH understands a number of predefined extensions. See [the OpenSSH certificate protocol spec](https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys) for additional details. */
1564
1625
  extensions: Map<string, string>;
1565
1626
  /** the time when the ssh host certificate becomes valid, in RFC 3339 format. */
1566
- valid_after: string;
1567
- /** the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this valid_before. */
1568
- valid_until: string;
1569
- /** the signed SSH certificate in OpenSSH Authorized Keys Format. this value should be placed in a -cert.pub certificate file on disk that should be referenced in your sshd_config configuration file with a HostCertificate directive */
1627
+ validAfter: string;
1628
+ /** the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this `valid_before`. */
1629
+ validUntil: string;
1630
+ /** the signed SSH certificate in OpenSSH Authorized Keys Format. this value should be placed in a `-cert.pub` certificate file on disk that should be referenced in your `sshd_config` configuration file with a `HostCertificate` directive */
1570
1631
  certificate: string;
1571
1632
  }
1572
1633
  export interface SSHUserCertificateList {
1573
1634
  /** the list of all ssh user certificates on this account */
1574
- ssh_user_certificates: Array<SSHUserCertificate>;
1635
+ sshUserCertificates: Array<SSHUserCertificate>;
1575
1636
  /** URI of the ssh user certificates list API resource */
1576
1637
  uri: string;
1577
1638
  /** URI of the next page, or null if there is no next page */
1578
- next_page_uri?: string;
1639
+ nextPageUri?: string;
1579
1640
  }
1580
1641
  export interface TLSCertificateCreate {
1581
1642
  /** human-readable description of this TLS certificate. optional, max 255 bytes. */
1582
1643
  description: string;
1583
1644
  /** arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes. */
1584
1645
  metadata: string;
1585
- /** chain of PEM-encoded certificates, leaf first. See (https://ngrok.com/docs/api#tls-certificates-pem)Certificate Bundles. */
1586
- certificate_pem: string;
1587
- /** private key for the TLS certificate, PEM-encoded. See (https://ngrok.com/docs/ngrok-link#tls-certificates-key)Private Keys. */
1588
- private_key_pem: string;
1646
+ /** chain of PEM-encoded certificates, leaf first. See [Certificate Bundles](https://ngrok.com/docs/api#tls-certificates-pem). */
1647
+ certificatePem: string;
1648
+ /** private key for the TLS certificate, PEM-encoded. See [Private Keys](https://ngrok.com/docs/ngrok-link#tls-certificates-key). */
1649
+ privateKeyPem: string;
1589
1650
  }
1590
1651
  export interface TLSCertificateUpdate {
1591
1652
  id: string;
@@ -1600,61 +1661,61 @@ export interface TLSCertificate {
1600
1661
  /** URI of the TLS certificate API resource */
1601
1662
  uri: string;
1602
1663
  /** timestamp when the TLS certificate was created, RFC 3339 format */
1603
- created_at: string;
1664
+ createdAt: string;
1604
1665
  /** human-readable description of this TLS certificate. optional, max 255 bytes. */
1605
1666
  description: string;
1606
1667
  /** arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes. */
1607
1668
  metadata: string;
1608
- /** chain of PEM-encoded certificates, leaf first. See (https://ngrok.com/docs/api#tls-certificates-pem)Certificate Bundles. */
1609
- certificate_pem: string;
1669
+ /** chain of PEM-encoded certificates, leaf first. See [Certificate Bundles](https://ngrok.com/docs/api#tls-certificates-pem). */
1670
+ certificatePem: string;
1610
1671
  /** subject common name from the leaf of this TLS certificate */
1611
- subject_common_name: string;
1672
+ subjectCommonName: string;
1612
1673
  /** subject alternative names (SANs) from the leaf of this TLS certificate */
1613
- subject_alternative_names: TLSCertificateSANs;
1674
+ subjectAlternativeNames: TLSCertificateSANs;
1614
1675
  /** timestamp (in RFC 3339 format) when this TLS certificate was issued automatically, or null if this certificate was user-uploaded */
1615
- issued_at?: string;
1676
+ issuedAt?: string;
1616
1677
  /** timestamp when this TLS certificate becomes valid, RFC 3339 format */
1617
- not_before: string;
1678
+ notBefore: string;
1618
1679
  /** timestamp when this TLS certificate becomes invalid, RFC 3339 format */
1619
- not_after: string;
1680
+ notAfter: string;
1620
1681
  /** set of actions the private key of this TLS certificate can be used for */
1621
- key_usages: Array<string>;
1682
+ keyUsages: Array<string>;
1622
1683
  /** extended set of actions the private key of this TLS certificate can be used for */
1623
- extended_key_usages: Array<string>;
1684
+ extendedKeyUsages: Array<string>;
1624
1685
  /** type of the private key of this TLS certificate. One of rsa, ecdsa, or ed25519. */
1625
- private_key_type: string;
1686
+ privateKeyType: string;
1626
1687
  /** issuer common name from the leaf of this TLS certificate */
1627
- issuer_common_name: string;
1688
+ issuerCommonName: string;
1628
1689
  /** serial number of the leaf of this TLS certificate */
1629
- serial_number: string;
1690
+ serialNumber: string;
1630
1691
  /** subject organization from the leaf of this TLS certificate */
1631
- subject_organization: string;
1692
+ subjectOrganization: string;
1632
1693
  /** subject organizational unit from the leaf of this TLS certificate */
1633
- subject_organizational_unit: string;
1694
+ subjectOrganizationalUnit: string;
1634
1695
  /** subject locality from the leaf of this TLS certificate */
1635
- subject_locality: string;
1696
+ subjectLocality: string;
1636
1697
  /** subject province from the leaf of this TLS certificate */
1637
- subject_province: string;
1698
+ subjectProvince: string;
1638
1699
  /** subject country from the leaf of this TLS certificate */
1639
- subject_country: string;
1700
+ subjectCountry: string;
1640
1701
  }
1641
1702
  export interface TLSCertificateList {
1642
1703
  /** the list of all TLS certificates on this account */
1643
- tls_certificates: Array<TLSCertificate>;
1704
+ tlsCertificates: Array<TLSCertificate>;
1644
1705
  /** URI of the TLS certificates list API resource */
1645
1706
  uri: string;
1646
1707
  /** URI of the next page, or null if there is no next page */
1647
- next_page_uri?: string;
1708
+ nextPageUri?: string;
1648
1709
  }
1649
1710
  export interface TLSCertificateSANs {
1650
1711
  /** set of additional domains (including wildcards) this TLS certificate is valid for */
1651
- dns_names: Array<string>;
1712
+ dnsNames: Array<string>;
1652
1713
  /** set of IP addresses this TLS certificate is also valid for */
1653
1714
  ips: Array<string>;
1654
1715
  }
1655
1716
  export interface TunnelSession {
1656
1717
  /** version of the ngrok agent that started this ngrok tunnel session */
1657
- agent_version: string;
1718
+ agentVersion: string;
1658
1719
  /** reference to the tunnel credential or ssh credential used by the ngrok agent to start this tunnel session */
1659
1720
  credential: Ref;
1660
1721
  /** unique tunnel session resource identifier */
@@ -1668,19 +1729,19 @@ export interface TunnelSession {
1668
1729
  /** the ngrok region identifier in which this tunnel session was started */
1669
1730
  region: string;
1670
1731
  /** time when the tunnel session first connected to the ngrok servers */
1671
- started_at: string;
1672
- /** the transport protocol used to start the tunnel session. Either ngrok/v2 or ssh */
1732
+ startedAt: string;
1733
+ /** the transport protocol used to start the tunnel session. Either `ngrok/v2` or `ssh` */
1673
1734
  transport: string;
1674
1735
  /** URI to the API resource of the tunnel session */
1675
1736
  uri: string;
1676
1737
  }
1677
1738
  export interface TunnelSessionList {
1678
1739
  /** list of all tunnel sessions on this account */
1679
- tunnel_sessions: Array<TunnelSession>;
1740
+ tunnelSessions: Array<TunnelSession>;
1680
1741
  /** URI to the API resource of the tunnel session list */
1681
1742
  uri: string;
1682
1743
  /** URI of the next page, or null if there is no next page */
1683
- next_page_uri?: string;
1744
+ nextPageUri?: string;
1684
1745
  }
1685
1746
  export interface TunnelSessionsUpdate {
1686
1747
  id: string;
@@ -1688,18 +1749,26 @@ export interface TunnelSessionsUpdate {
1688
1749
  export interface Tunnel {
1689
1750
  /** unique tunnel resource identifier */
1690
1751
  id: string;
1691
- /** URL of the tunnel's public endpoint */
1692
- public_url: string;
1752
+ /** URL of the ephemeral tunnel's public endpoint */
1753
+ publicUrl: string;
1693
1754
  /** timestamp when the tunnel was initiated in RFC 3339 format */
1694
- started_at: string;
1695
- /** user-supplied metadata for the tunnel defined in the ngrok configuration file. See the tunnel (https://ngrok.com/docs#tunnel-definitions-metadata)metadata configuration option In API version 0, this value was instead pulled from the top-level (https://ngrok.com/docs#config_metadata)metadata configuration option. */
1755
+ startedAt: string;
1756
+ /** user-supplied metadata for the tunnel defined in the ngrok configuration file. See the tunnel [metadata configuration option](https://ngrok.com/docs#tunnel-definitions-metadata) In API version 0, this value was instead pulled from the top-level [metadata configuration option](https://ngrok.com/docs#config_metadata). */
1696
1757
  metadata: string;
1697
- /** tunnel protocol. one of http, https, tcp or tls */
1758
+ /** tunnel protocol for ephemeral tunnels. one of `http`, `https`, `tcp` or `tls` */
1698
1759
  proto: string;
1699
1760
  /** identifier of tune region where the tunnel is running */
1700
1761
  region: string;
1701
1762
  /** reference object pointing to the tunnel session on which this tunnel was started */
1702
- tunnel_session: Ref;
1763
+ tunnelSession: Ref;
1764
+ /** the ephemeral endpoint this tunnel is associated with, if this is an agent-initiated tunnel */
1765
+ endpoint?: Ref;
1766
+ /** the labels the tunnel group backends will match against, if this is a backend tunnel */
1767
+ labels: Map<string, string>;
1768
+ /** tunnel group backends served by this backend tunnel */
1769
+ backends?: Array<Ref>;
1770
+ /** upstream address the ngrok agent forwards traffic over this tunnel to. this may be expressed as a URL or a network address. */
1771
+ forwardsTo: string;
1703
1772
  }
1704
1773
  export interface TunnelList {
1705
1774
  /** the list of all online tunnels on this account */
@@ -1707,6 +1776,6 @@ export interface TunnelList {
1707
1776
  /** URI of the tunnels list API resource */
1708
1777
  uri: string;
1709
1778
  /** URI of the next page, or null if there is no next page */
1710
- next_page_uri?: string;
1779
+ nextPageUri?: string;
1711
1780
  }
1712
- //# sourceMappingURL=types.d.ts.map
1781
+ //# sourceMappingURL=datatypes.d.ts.map