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