@ngrok/ngrok-api 0.12.0 → 0.16.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 (288) hide show
  1. package/.github/workflows/ci.yml +28 -0
  2. package/CHANGELOG.md +14 -0
  3. package/docs/assets/js/search.js +1 -1
  4. package/docs/classes/client.Ngrok.html +76 -29
  5. package/docs/classes/services.APIKeys.html +6 -6
  6. package/docs/classes/services.AbuseReports.html +3 -3
  7. package/docs/classes/services.AgentIngresses.html +6 -6
  8. package/docs/classes/services.ApplicationSessions.html +4 -4
  9. package/docs/classes/services.ApplicationUsers.html +4 -4
  10. package/docs/classes/services.BotUsers.html +6 -6
  11. package/docs/classes/services.CertificateAuthorities.html +6 -6
  12. package/docs/classes/services.Credentials.html +6 -6
  13. package/docs/classes/services.EdgeRouteBackendModule.html +4 -4
  14. package/docs/classes/services.EdgeRouteCircuitBreakerModule.html +4 -4
  15. package/docs/classes/services.EdgeRouteCompressionModule.html +4 -4
  16. package/docs/classes/services.EdgeRouteIPRestrictionModule.html +4 -4
  17. package/docs/classes/services.EdgeRouteOAuthModule.html +4 -4
  18. package/docs/classes/services.EdgeRouteOIDCModule.html +4 -4
  19. package/docs/classes/services.EdgeRouteRequestHeadersModule.html +4 -4
  20. package/docs/classes/services.EdgeRouteResponseHeadersModule.html +4 -4
  21. package/docs/classes/services.EdgeRouteSAMLModule.html +4 -4
  22. package/docs/classes/services.EdgeRouteTrafficPolicyModule.html +4 -4
  23. package/docs/classes/services.EdgeRouteUserAgentFilterModule.html +4 -4
  24. package/docs/classes/services.EdgeRouteWebhookVerificationModule.html +4 -4
  25. package/docs/classes/services.EdgeRouteWebsocketTCPConverterModule.html +4 -4
  26. package/docs/classes/services.EdgesHTTPS.html +6 -6
  27. package/docs/classes/services.EdgesHTTPSRoutes.html +5 -5
  28. package/docs/classes/services.EdgesTCP.html +6 -6
  29. package/docs/classes/services.EdgesTLS.html +6 -6
  30. package/docs/classes/services.Endpoints.html +99 -3
  31. package/docs/classes/services.EventDestinations.html +6 -6
  32. package/docs/classes/services.EventSources.html +6 -6
  33. package/docs/classes/services.EventSubscriptions.html +6 -6
  34. package/docs/classes/services.FailoverBackends.html +6 -6
  35. package/docs/classes/services.HTTPResponseBackends.html +6 -6
  36. package/docs/classes/services.HTTPSEdgeMutualTLSModule.html +4 -4
  37. package/docs/classes/services.HTTPSEdgeTLSTerminationModule.html +4 -4
  38. package/docs/classes/services.IPPolicies.html +6 -6
  39. package/docs/classes/services.IPPolicyRules.html +6 -6
  40. package/docs/classes/services.IPRestrictions.html +6 -6
  41. package/docs/classes/services.ReservedAddrs.html +6 -6
  42. package/docs/classes/services.ReservedDomains.html +8 -8
  43. package/docs/classes/services.SSHCertificateAuthorities.html +6 -6
  44. package/docs/classes/services.SSHCredentials.html +6 -6
  45. package/docs/classes/services.SSHHostCertificates.html +6 -6
  46. package/docs/classes/services.SSHUserCertificates.html +6 -6
  47. package/docs/classes/services.Secrets.html +359 -0
  48. package/docs/classes/services.StaticBackends.html +6 -6
  49. package/docs/classes/services.TCPEdgeBackendModule.html +4 -4
  50. package/docs/classes/services.TCPEdgeIPRestrictionModule.html +4 -4
  51. package/docs/classes/services.TCPEdgeTrafficPolicyModule.html +4 -4
  52. package/docs/classes/services.TLSCertificates.html +6 -6
  53. package/docs/classes/services.TLSEdgeBackendModule.html +4 -4
  54. package/docs/classes/services.TLSEdgeIPRestrictionModule.html +4 -4
  55. package/docs/classes/services.TLSEdgeMutualTLSModule.html +4 -4
  56. package/docs/classes/services.TLSEdgeTLSTerminationModule.html +4 -4
  57. package/docs/classes/services.TLSEdgeTrafficPolicyModule.html +4 -4
  58. package/docs/classes/services.TunnelGroupBackends.html +6 -6
  59. package/docs/classes/services.TunnelSessions.html +6 -6
  60. package/docs/classes/services.Tunnels.html +3 -3
  61. package/docs/classes/services.Vaults.html +359 -0
  62. package/docs/classes/services.WeightedBackends.html +6 -6
  63. package/docs/interfaces/client.NgrokConfig.html +2 -2
  64. package/docs/interfaces/datatypes.APIKey.html +7 -7
  65. package/docs/interfaces/datatypes.APIKeyCreate.html +3 -3
  66. package/docs/interfaces/datatypes.APIKeyList.html +3 -3
  67. package/docs/interfaces/datatypes.APIKeyUpdate.html +3 -3
  68. package/docs/interfaces/datatypes.AWSAuth.html +2 -2
  69. package/docs/interfaces/datatypes.AWSCredentials.html +2 -2
  70. package/docs/interfaces/datatypes.AWSRole.html +1 -1
  71. package/docs/interfaces/datatypes.AbuseReport.html +7 -7
  72. package/docs/interfaces/datatypes.AbuseReportCreate.html +2 -2
  73. package/docs/interfaces/datatypes.AbuseReportHostname.html +2 -2
  74. package/docs/interfaces/datatypes.AgentIngress.html +10 -10
  75. package/docs/interfaces/datatypes.AgentIngressCertJob.html +4 -4
  76. package/docs/interfaces/datatypes.AgentIngressCertPolicy.html +2 -2
  77. package/docs/interfaces/datatypes.AgentIngressCertStatus.html +2 -2
  78. package/docs/interfaces/datatypes.AgentIngressCreate.html +4 -4
  79. package/docs/interfaces/datatypes.AgentIngressList.html +3 -3
  80. package/docs/interfaces/datatypes.AgentIngressUpdate.html +4 -4
  81. package/docs/interfaces/datatypes.ApplicationSession.html +11 -11
  82. package/docs/interfaces/datatypes.ApplicationSessionList.html +3 -3
  83. package/docs/interfaces/datatypes.ApplicationUser.html +10 -10
  84. package/docs/interfaces/datatypes.ApplicationUserList.html +3 -3
  85. package/docs/interfaces/datatypes.BotUser.html +5 -5
  86. package/docs/interfaces/datatypes.BotUserCreate.html +2 -2
  87. package/docs/interfaces/datatypes.BotUserList.html +3 -3
  88. package/docs/interfaces/datatypes.BotUserUpdate.html +3 -3
  89. package/docs/interfaces/datatypes.BrowserSession.html +3 -3
  90. package/docs/interfaces/datatypes.CertificateAuthority.html +11 -11
  91. package/docs/interfaces/datatypes.CertificateAuthorityCreate.html +3 -3
  92. package/docs/interfaces/datatypes.CertificateAuthorityList.html +3 -3
  93. package/docs/interfaces/datatypes.CertificateAuthorityUpdate.html +3 -3
  94. package/docs/interfaces/datatypes.Credential.html +8 -8
  95. package/docs/interfaces/datatypes.CredentialCreate.html +4 -4
  96. package/docs/interfaces/datatypes.CredentialList.html +3 -3
  97. package/docs/interfaces/datatypes.CredentialUpdate.html +4 -4
  98. package/docs/interfaces/datatypes.EdgeBackendReplace.html +2 -2
  99. package/docs/interfaces/datatypes.EdgeIPRestrictionReplace.html +2 -2
  100. package/docs/interfaces/datatypes.EdgeMutualTLSReplace.html +2 -2
  101. package/docs/interfaces/datatypes.EdgeRouteBackendReplace.html +3 -3
  102. package/docs/interfaces/datatypes.EdgeRouteCircuitBreakerReplace.html +3 -3
  103. package/docs/interfaces/datatypes.EdgeRouteCompressionReplace.html +3 -3
  104. package/docs/interfaces/datatypes.EdgeRouteIPRestrictionReplace.html +3 -3
  105. package/docs/interfaces/datatypes.EdgeRouteItem.html +2 -2
  106. package/docs/interfaces/datatypes.EdgeRouteOAuthReplace.html +3 -3
  107. package/docs/interfaces/datatypes.EdgeRouteOIDCReplace.html +3 -3
  108. package/docs/interfaces/datatypes.EdgeRouteRequestHeadersReplace.html +3 -3
  109. package/docs/interfaces/datatypes.EdgeRouteResponseHeadersReplace.html +3 -3
  110. package/docs/interfaces/datatypes.EdgeRouteSAMLReplace.html +3 -3
  111. package/docs/interfaces/datatypes.EdgeRouteTrafficPolicyReplace.html +3 -3
  112. package/docs/interfaces/datatypes.EdgeRouteUserAgentFilterReplace.html +3 -3
  113. package/docs/interfaces/datatypes.EdgeRouteWebhookVerificationReplace.html +3 -3
  114. package/docs/interfaces/datatypes.EdgeRouteWebsocketTCPConverterReplace.html +3 -3
  115. package/docs/interfaces/datatypes.EdgeTLSTerminationAtEdgeReplace.html +2 -2
  116. package/docs/interfaces/datatypes.EdgeTLSTerminationReplace.html +2 -2
  117. package/docs/interfaces/datatypes.EdgeTrafficPolicyReplace.html +2 -2
  118. package/docs/interfaces/datatypes.Endpoint.html +266 -15
  119. package/docs/interfaces/datatypes.EndpointBackend.html +2 -2
  120. package/docs/interfaces/datatypes.EndpointBackendMutate.html +2 -2
  121. package/docs/interfaces/datatypes.EndpointCircuitBreaker.html +6 -6
  122. package/docs/interfaces/datatypes.EndpointCompression.html +1 -1
  123. package/docs/interfaces/datatypes.EndpointCreate.html +276 -0
  124. package/docs/interfaces/datatypes.EndpointIPPolicy.html +2 -2
  125. package/docs/interfaces/datatypes.EndpointIPPolicyMutate.html +2 -2
  126. package/docs/interfaces/datatypes.EndpointList.html +3 -3
  127. package/docs/interfaces/datatypes.EndpointListArgs.html +204 -0
  128. package/docs/interfaces/datatypes.EndpointMutualTLS.html +2 -2
  129. package/docs/interfaces/datatypes.EndpointMutualTLSMutate.html +2 -2
  130. package/docs/interfaces/datatypes.EndpointOAuth.html +7 -7
  131. package/docs/interfaces/datatypes.EndpointOAuthAmazon.html +5 -5
  132. package/docs/interfaces/datatypes.EndpointOAuthFacebook.html +5 -5
  133. package/docs/interfaces/datatypes.EndpointOAuthGitHub.html +7 -7
  134. package/docs/interfaces/datatypes.EndpointOAuthGitLab.html +5 -5
  135. package/docs/interfaces/datatypes.EndpointOAuthGoogle.html +5 -5
  136. package/docs/interfaces/datatypes.EndpointOAuthLinkedIn.html +5 -5
  137. package/docs/interfaces/datatypes.EndpointOAuthMicrosoft.html +5 -5
  138. package/docs/interfaces/datatypes.EndpointOAuthProvider.html +8 -8
  139. package/docs/interfaces/datatypes.EndpointOAuthTwitch.html +5 -5
  140. package/docs/interfaces/datatypes.EndpointOIDC.html +9 -9
  141. package/docs/interfaces/datatypes.EndpointRequestHeaders.html +3 -3
  142. package/docs/interfaces/datatypes.EndpointResponseHeaders.html +3 -3
  143. package/docs/interfaces/datatypes.EndpointSAML.html +15 -15
  144. package/docs/interfaces/datatypes.EndpointSAMLMutate.html +10 -10
  145. package/docs/interfaces/datatypes.EndpointTLSTermination.html +3 -3
  146. package/docs/interfaces/datatypes.EndpointTLSTerminationAtEdge.html +2 -2
  147. package/docs/interfaces/datatypes.EndpointTrafficPolicy.html +2 -2
  148. package/docs/interfaces/datatypes.EndpointUpdate.html +276 -0
  149. package/docs/interfaces/datatypes.EndpointUserAgentFilter.html +3 -3
  150. package/docs/interfaces/datatypes.EndpointWebhookValidation.html +3 -3
  151. package/docs/interfaces/datatypes.EndpointWebsocketTCPConverter.html +1 -1
  152. package/docs/interfaces/datatypes.Error.html +4 -4
  153. package/docs/interfaces/datatypes.EventDestination.html +7 -7
  154. package/docs/interfaces/datatypes.EventDestinationCreate.html +4 -4
  155. package/docs/interfaces/datatypes.EventDestinationList.html +3 -3
  156. package/docs/interfaces/datatypes.EventDestinationUpdate.html +5 -5
  157. package/docs/interfaces/datatypes.EventSource.html +2 -2
  158. package/docs/interfaces/datatypes.EventSourceCreate.html +2 -2
  159. package/docs/interfaces/datatypes.EventSourceItem.html +2 -2
  160. package/docs/interfaces/datatypes.EventSourceList.html +2 -2
  161. package/docs/interfaces/datatypes.EventSourcePaging.html +1 -1
  162. package/docs/interfaces/datatypes.EventSourceReplace.html +1 -1
  163. package/docs/interfaces/datatypes.EventSourceUpdate.html +2 -2
  164. package/docs/interfaces/datatypes.EventSubscription.html +7 -7
  165. package/docs/interfaces/datatypes.EventSubscriptionCreate.html +4 -4
  166. package/docs/interfaces/datatypes.EventSubscriptionList.html +3 -3
  167. package/docs/interfaces/datatypes.EventSubscriptionUpdate.html +5 -5
  168. package/docs/interfaces/datatypes.EventTarget.html +5 -5
  169. package/docs/interfaces/datatypes.EventTargetAzureLogsIngestion.html +7 -7
  170. package/docs/interfaces/datatypes.EventTargetCloudwatchLogs.html +2 -2
  171. package/docs/interfaces/datatypes.EventTargetDatadog.html +4 -4
  172. package/docs/interfaces/datatypes.EventTargetFirehose.html +2 -2
  173. package/docs/interfaces/datatypes.EventTargetKinesis.html +2 -2
  174. package/docs/interfaces/datatypes.FailoverBackend.html +6 -6
  175. package/docs/interfaces/datatypes.FailoverBackendCreate.html +3 -3
  176. package/docs/interfaces/datatypes.FailoverBackendList.html +3 -3
  177. package/docs/interfaces/datatypes.FailoverBackendUpdate.html +4 -4
  178. package/docs/interfaces/datatypes.HTTPResponseBackend.html +8 -8
  179. package/docs/interfaces/datatypes.HTTPResponseBackendCreate.html +5 -5
  180. package/docs/interfaces/datatypes.HTTPResponseBackendList.html +3 -3
  181. package/docs/interfaces/datatypes.HTTPResponseBackendUpdate.html +6 -6
  182. package/docs/interfaces/datatypes.HTTPSEdge.html +9 -9
  183. package/docs/interfaces/datatypes.HTTPSEdgeCreate.html +5 -5
  184. package/docs/interfaces/datatypes.HTTPSEdgeList.html +3 -3
  185. package/docs/interfaces/datatypes.HTTPSEdgeRoute.html +21 -21
  186. package/docs/interfaces/datatypes.HTTPSEdgeRouteCreate.html +18 -18
  187. package/docs/interfaces/datatypes.HTTPSEdgeRouteUpdate.html +19 -19
  188. package/docs/interfaces/datatypes.HTTPSEdgeUpdate.html +6 -6
  189. package/docs/interfaces/datatypes.IPPolicy.html +5 -5
  190. package/docs/interfaces/datatypes.IPPolicyCreate.html +2 -2
  191. package/docs/interfaces/datatypes.IPPolicyList.html +3 -3
  192. package/docs/interfaces/datatypes.IPPolicyRule.html +8 -8
  193. package/docs/interfaces/datatypes.IPPolicyRuleCreate.html +5 -5
  194. package/docs/interfaces/datatypes.IPPolicyRuleList.html +3 -3
  195. package/docs/interfaces/datatypes.IPPolicyRuleUpdate.html +4 -4
  196. package/docs/interfaces/datatypes.IPPolicyUpdate.html +3 -3
  197. package/docs/interfaces/datatypes.IPRestriction.html +8 -8
  198. package/docs/interfaces/datatypes.IPRestrictionCreate.html +5 -5
  199. package/docs/interfaces/datatypes.IPRestrictionList.html +3 -3
  200. package/docs/interfaces/datatypes.IPRestrictionUpdate.html +5 -5
  201. package/docs/interfaces/datatypes.IdentityProvider.html +2 -2
  202. package/docs/interfaces/datatypes.Item.html +1 -1
  203. package/docs/interfaces/datatypes.Location.html +4 -4
  204. package/docs/interfaces/datatypes.Paging.html +2 -2
  205. package/docs/interfaces/datatypes.Ref.html +2 -2
  206. package/docs/interfaces/datatypes.ReservedAddr.html +7 -7
  207. package/docs/interfaces/datatypes.ReservedAddrCreate.html +3 -3
  208. package/docs/interfaces/datatypes.ReservedAddrList.html +3 -3
  209. package/docs/interfaces/datatypes.ReservedAddrUpdate.html +3 -3
  210. package/docs/interfaces/datatypes.ReservedDomain.html +12 -12
  211. package/docs/interfaces/datatypes.ReservedDomainCertJob.html +4 -4
  212. package/docs/interfaces/datatypes.ReservedDomainCertPolicy.html +3 -3
  213. package/docs/interfaces/datatypes.ReservedDomainCertStatus.html +2 -2
  214. package/docs/interfaces/datatypes.ReservedDomainCreate.html +6 -6
  215. package/docs/interfaces/datatypes.ReservedDomainList.html +3 -3
  216. package/docs/interfaces/datatypes.ReservedDomainUpdate.html +5 -5
  217. package/docs/interfaces/datatypes.SSHCertificateAuthority.html +7 -7
  218. package/docs/interfaces/datatypes.SSHCertificateAuthorityCreate.html +5 -5
  219. package/docs/interfaces/datatypes.SSHCertificateAuthorityList.html +3 -3
  220. package/docs/interfaces/datatypes.SSHCertificateAuthorityUpdate.html +3 -3
  221. package/docs/interfaces/datatypes.SSHCredential.html +8 -8
  222. package/docs/interfaces/datatypes.SSHCredentialCreate.html +5 -5
  223. package/docs/interfaces/datatypes.SSHCredentialList.html +3 -3
  224. package/docs/interfaces/datatypes.SSHCredentialUpdate.html +4 -4
  225. package/docs/interfaces/datatypes.SSHHostCertificate.html +12 -12
  226. package/docs/interfaces/datatypes.SSHHostCertificateCreate.html +7 -7
  227. package/docs/interfaces/datatypes.SSHHostCertificateList.html +3 -3
  228. package/docs/interfaces/datatypes.SSHHostCertificateUpdate.html +3 -3
  229. package/docs/interfaces/datatypes.SSHUserCertificate.html +14 -14
  230. package/docs/interfaces/datatypes.SSHUserCertificateCreate.html +9 -9
  231. package/docs/interfaces/datatypes.SSHUserCertificateList.html +3 -3
  232. package/docs/interfaces/datatypes.SSHUserCertificateUpdate.html +3 -3
  233. package/docs/interfaces/datatypes.Secret.html +338 -0
  234. package/docs/interfaces/datatypes.SecretCreate.html +243 -0
  235. package/docs/interfaces/datatypes.SecretList.html +200 -0
  236. package/docs/interfaces/datatypes.SecretUpdate.html +243 -0
  237. package/docs/interfaces/datatypes.StaticBackend.html +7 -7
  238. package/docs/interfaces/datatypes.StaticBackendCreate.html +4 -4
  239. package/docs/interfaces/datatypes.StaticBackendList.html +3 -3
  240. package/docs/interfaces/datatypes.StaticBackendTLS.html +1 -1
  241. package/docs/interfaces/datatypes.StaticBackendUpdate.html +5 -5
  242. package/docs/interfaces/datatypes.TCPEdge.html +9 -9
  243. package/docs/interfaces/datatypes.TCPEdgeCreate.html +6 -6
  244. package/docs/interfaces/datatypes.TCPEdgeList.html +3 -3
  245. package/docs/interfaces/datatypes.TCPEdgeUpdate.html +7 -7
  246. package/docs/interfaces/datatypes.TLSCertificate.html +21 -21
  247. package/docs/interfaces/datatypes.TLSCertificateCreate.html +4 -4
  248. package/docs/interfaces/datatypes.TLSCertificateList.html +3 -3
  249. package/docs/interfaces/datatypes.TLSCertificateSANs.html +2 -2
  250. package/docs/interfaces/datatypes.TLSCertificateUpdate.html +3 -3
  251. package/docs/interfaces/datatypes.TLSEdge.html +11 -11
  252. package/docs/interfaces/datatypes.TLSEdgeCreate.html +8 -8
  253. package/docs/interfaces/datatypes.TLSEdgeList.html +3 -3
  254. package/docs/interfaces/datatypes.TLSEdgeUpdate.html +9 -9
  255. package/docs/interfaces/datatypes.Tunnel.html +11 -11
  256. package/docs/interfaces/datatypes.TunnelGroupBackend.html +7 -7
  257. package/docs/interfaces/datatypes.TunnelGroupBackendCreate.html +3 -3
  258. package/docs/interfaces/datatypes.TunnelGroupBackendList.html +3 -3
  259. package/docs/interfaces/datatypes.TunnelGroupBackendUpdate.html +4 -4
  260. package/docs/interfaces/datatypes.TunnelList.html +3 -3
  261. package/docs/interfaces/datatypes.TunnelSession.html +10 -10
  262. package/docs/interfaces/datatypes.TunnelSessionList.html +3 -3
  263. package/docs/interfaces/datatypes.TunnelSessionsUpdate.html +1 -1
  264. package/docs/interfaces/datatypes.UserAgent.html +6 -6
  265. package/docs/interfaces/datatypes.Vault.html +319 -0
  266. package/docs/interfaces/datatypes.VaultCreate.html +205 -0
  267. package/docs/interfaces/datatypes.VaultList.html +200 -0
  268. package/docs/interfaces/datatypes.VaultUpdate.html +224 -0
  269. package/docs/interfaces/datatypes.WeightedBackend.html +6 -6
  270. package/docs/interfaces/datatypes.WeightedBackendCreate.html +3 -3
  271. package/docs/interfaces/datatypes.WeightedBackendList.html +3 -3
  272. package/docs/interfaces/datatypes.WeightedBackendUpdate.html +4 -4
  273. package/docs/modules/datatypes.html +44 -0
  274. package/docs/modules/services.html +8 -0
  275. package/lib/client.d.ts +11 -0
  276. package/lib/client.d.ts.map +1 -1
  277. package/lib/client.js +6 -1
  278. package/lib/client.js.map +1 -1
  279. package/lib/datatypes.d.ts +163 -4
  280. package/lib/datatypes.d.ts.map +1 -1
  281. package/lib/services.d.ts +72 -0
  282. package/lib/services.d.ts.map +1 -1
  283. package/lib/services.js +263 -25
  284. package/lib/services.js.map +1 -1
  285. package/package.json +1 -1
  286. package/src/client.ts +23 -1
  287. package/src/datatypes.ts +174 -4
  288. package/src/services.ts +234 -2
package/src/datatypes.ts CHANGED
@@ -1448,12 +1448,17 @@ export interface Endpoint {
1448
1448
  publicUrl: string;
1449
1449
  /** protocol served by this endpoint. one of `http`, `https`, `tcp`, or `tls` */
1450
1450
  proto: string;
1451
- /** hostport served by this endpoint (hostname:port) */
1451
+ scheme?: string;
1452
+ /** hostport served by this endpoint (hostname:port) -> soon to be deprecated */
1452
1453
  hostport: string;
1453
- /** whether the endpoint is `ephemeral` (served directly by an agent-initiated tunnel) or `edge` (served by an edge) */
1454
+ host?: string;
1455
+ port?: number;
1456
+ /** whether the endpoint is `ephemeral` (served directly by an agent-initiated tunnel) or `edge` (served by an edge) or `cloud (represents a cloud endpoint)` */
1454
1457
  type: string;
1455
1458
  /** user-supplied metadata of the associated tunnel or edge object */
1456
1459
  metadata?: string;
1460
+ /** user-supplied description of the associated tunnel */
1461
+ description?: string;
1457
1462
  /** the domain reserved for this endpoint */
1458
1463
  domain?: Ref;
1459
1464
  /** the address reserved for this endpoint */
@@ -1462,6 +1467,26 @@ export interface Endpoint {
1462
1467
  tunnel?: Ref;
1463
1468
  /** the edge serving requests to this endpoint, if this is an edge endpoint */
1464
1469
  edge?: Ref;
1470
+ /** the local address the tunnel forwards to */
1471
+ upstreamUrl?: string;
1472
+ /** the protocol the agent uses to forward with */
1473
+ upstreamProtocol?: string;
1474
+ /** the url of the endpoint */
1475
+ url?: string;
1476
+ /** The ID of the owner (bot or user) that owns this endpoint */
1477
+ principal?: Ref;
1478
+ /** The traffic policy attached to this endpoint */
1479
+ trafficPolicy?: string;
1480
+ /** the bindings associated with this endpoint */
1481
+ bindings?: Array<string>;
1482
+ /** The tunnel session of the agent for this endpoint */
1483
+ tunnelSession?: Ref;
1484
+ /** URI of the Cloud Endpoint API resource */
1485
+ uri?: string;
1486
+ /** user supplied name for the endpoint */
1487
+ name?: string;
1488
+ /** whether the endpoint allows pooling */
1489
+ poolingEnabled: boolean;
1465
1490
  }
1466
1491
 
1467
1492
  export interface EndpointList {
@@ -1473,6 +1498,45 @@ export interface EndpointList {
1473
1498
  nextPageUri?: string;
1474
1499
  }
1475
1500
 
1501
+ export interface EndpointCreate {
1502
+ /** the url of the endpoint */
1503
+ url: string;
1504
+ /** Type of endpoint. Only 'cloud' is currently supported (represents a cloud endpoint). Defaults to 'cloud' if not specified. */
1505
+ type: string;
1506
+ /** The traffic policy attached to this endpoint */
1507
+ trafficPolicy: string;
1508
+ /** user-supplied description of the associated tunnel */
1509
+ description?: string;
1510
+ /** user-supplied metadata of the associated tunnel or edge object */
1511
+ metadata?: string;
1512
+ /** the bindings associated with this endpoint */
1513
+ bindings?: Array<string>;
1514
+ poolingEnabled: boolean;
1515
+ }
1516
+
1517
+ export interface EndpointListArgs {
1518
+ beforeId?: string;
1519
+ limit?: string;
1520
+ ids?: Array<string>;
1521
+ urls?: Array<string>;
1522
+ }
1523
+
1524
+ export interface EndpointUpdate {
1525
+ /** unique endpoint resource identifier */
1526
+ id: string;
1527
+ /** the url of the endpoint */
1528
+ url?: string;
1529
+ /** The traffic policy attached to this endpoint */
1530
+ trafficPolicy?: string;
1531
+ /** user-supplied description of the associated tunnel */
1532
+ description?: string;
1533
+ /** user-supplied metadata of the associated tunnel or edge object */
1534
+ metadata?: string;
1535
+ /** the bindings associated with this endpoint */
1536
+ bindings?: Array<string>;
1537
+ poolingEnabled: boolean;
1538
+ }
1539
+
1476
1540
  export interface EventDestinationCreate {
1477
1541
  /** Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes. */
1478
1542
  metadata?: string;
@@ -1578,7 +1642,7 @@ export interface EventTargetAzureLogsIngestion {
1578
1642
  logsIngestionUri: string;
1579
1643
  /** Data collection rule immutable ID */
1580
1644
  dataCollectionRuleId: string;
1581
- /** Data collection stream name to use as destination, located instide the DCR */
1645
+ /** Data collection stream name to use as destination, located inside the DCR */
1582
1646
  dataCollectionStreamName: string;
1583
1647
  }
1584
1648
 
@@ -1948,7 +2012,7 @@ export interface ReservedDomainList {
1948
2012
  export interface ReservedDomainCertPolicy {
1949
2013
  /** certificate authority to request certificates from. The only supported value is letsencrypt. */
1950
2014
  authority: string;
1951
- /** type of private key to use when requesting certificates. Defaults to rsa, can be either rsa or ecdsa. */
2015
+ /** type of private key to use when requesting certificates. Defaults to ecdsa, can be either rsa or ecdsa. */
1952
2016
  privateKeyType: string;
1953
2017
  }
1954
2018
 
@@ -1970,6 +2034,63 @@ export interface ReservedDomainCertJob {
1970
2034
  retriesAt?: Date;
1971
2035
  }
1972
2036
 
2037
+ export interface SecretCreate {
2038
+ /** Name of secret */
2039
+ name: string;
2040
+ /** Value of secret */
2041
+ value: string;
2042
+ /** Arbitrary user-defined metadata for this Secret */
2043
+ metadata?: string;
2044
+ /** description of Secret */
2045
+ description?: string;
2046
+ /** unique identifier of the referenced vault */
2047
+ vaultId: string;
2048
+ }
2049
+
2050
+ export interface SecretUpdate {
2051
+ /** identifier for Secret */
2052
+ id: string;
2053
+ /** Name of secret */
2054
+ name?: string;
2055
+ /** Value of secret */
2056
+ value?: string;
2057
+ /** Arbitrary user-defined metadata for this Secret */
2058
+ metadata?: string;
2059
+ /** description of Secret */
2060
+ description?: string;
2061
+ }
2062
+
2063
+ export interface Secret {
2064
+ /** identifier for Secret */
2065
+ id: string;
2066
+ /** URI of this Secret API resource */
2067
+ uri: string;
2068
+ /** Timestamp when the Secret was created (RFC 3339 format) */
2069
+ createdAt: Date;
2070
+ /** Timestamp when the Secret was last updated (RFC 3339 format) */
2071
+ updatedAt: Date;
2072
+ /** Name of secret */
2073
+ name: string;
2074
+ /** description of Secret */
2075
+ description?: string;
2076
+ /** Arbitrary user-defined metadata for this Secret */
2077
+ metadata?: string;
2078
+ /** Reference to who created this Secret */
2079
+ createdBy: Ref;
2080
+ /** Reference to who created this Secret */
2081
+ lastUpdatedBy: Ref;
2082
+ /** Reference to the vault the secret is stored in */
2083
+ vault: Ref;
2084
+ }
2085
+
2086
+ export interface SecretList {
2087
+ /** The list of Secrets for this account */
2088
+ secrets: Array<Secret>;
2089
+ uri: string;
2090
+ /** URI of the next page of results, or null if there is no next page */
2091
+ nextPageUri?: string;
2092
+ }
2093
+
1973
2094
  export interface SSHCertificateAuthorityCreate {
1974
2095
  /** human-readable description of this SSH Certificate Authority. optional, max 255 bytes. */
1975
2096
  description?: string;
@@ -2311,3 +2432,52 @@ export interface TunnelList {
2311
2432
  /** URI of the next page, or null if there is no next page */
2312
2433
  nextPageUri?: string;
2313
2434
  }
2435
+
2436
+ export interface VaultCreate {
2437
+ /** Name of vault */
2438
+ name: string;
2439
+ /** Arbitrary user-defined metadata for this Vault */
2440
+ metadata: string;
2441
+ /** description of Vault */
2442
+ description: string;
2443
+ }
2444
+
2445
+ export interface VaultUpdate {
2446
+ /** identifier for Vault */
2447
+ id: string;
2448
+ /** Name of vault */
2449
+ name?: string;
2450
+ /** Arbitrary user-defined metadata for this Vault */
2451
+ metadata?: string;
2452
+ /** description of Vault */
2453
+ description?: string;
2454
+ }
2455
+
2456
+ export interface Vault {
2457
+ /** identifier for Vault */
2458
+ id: string;
2459
+ /** URI of this Vault API resource */
2460
+ uri: string;
2461
+ /** Timestamp when the Vault was created (RFC 3339 format) */
2462
+ createdAt: Date;
2463
+ /** Timestamp when the Vault was last updated (RFC 3339 format) */
2464
+ updatedAt: Date;
2465
+ /** Name of vault */
2466
+ name: string;
2467
+ /** description of Vault */
2468
+ description?: string;
2469
+ /** Arbitrary user-defined metadata for this Vault */
2470
+ metadata?: string;
2471
+ /** Reference to who created this Vault */
2472
+ createdBy: string;
2473
+ /** Reference to who created this Vault */
2474
+ lastUpdatedBy: string;
2475
+ }
2476
+
2477
+ export interface VaultList {
2478
+ /** The list of Vaults for this account */
2479
+ vaults: Array<Vault>;
2480
+ uri: string;
2481
+ /** URI of the next page of results, or null if there is no next page */
2482
+ nextPageUri?: string;
2483
+ }
package/src/services.ts CHANGED
@@ -2461,6 +2461,16 @@ export class Endpoints {
2461
2461
  public constructor(httpClient: Wretcher) {
2462
2462
  this.httpClient = httpClient;
2463
2463
  }
2464
+ /**
2465
+ * Create an endpoint, currently available only for cloud endpoints
2466
+ */
2467
+ public create(arg: datatypes.EndpointCreate): Promise<datatypes.Endpoint> {
2468
+ return this.httpClient
2469
+ .url(`/endpoints`)
2470
+ .post(util.serializeArgument(arg))
2471
+ .json(payload => util.deserializeResult(payload))
2472
+ .then(f => f, util.onRejected);
2473
+ }
2464
2474
  /**
2465
2475
  * List all active endpoints on the account
2466
2476
  */
@@ -2475,7 +2485,9 @@ export class Endpoints {
2475
2485
  return array;
2476
2486
  }
2477
2487
 
2478
- private _pagedList(arg: datatypes.Paging): Promise<datatypes.EndpointList> {
2488
+ private _pagedList(
2489
+ arg: datatypes.EndpointListArgs
2490
+ ): Promise<datatypes.EndpointList> {
2479
2491
  return this.httpClient
2480
2492
  .url(`/endpoints`)
2481
2493
  .query(arg)
@@ -2486,7 +2498,7 @@ export class Endpoints {
2486
2498
 
2487
2499
  private async *_asyncList(beforeId: string, limit = '100') {
2488
2500
  let nextPage = 'initial loop';
2489
- let page: datatypes.Paging = { limit: limit };
2501
+ let page: datatypes.EndpointListArgs = { limit: limit };
2490
2502
 
2491
2503
  if (beforeId) {
2492
2504
  page.beforeId = beforeId;
@@ -2519,6 +2531,26 @@ export class Endpoints {
2519
2531
  .json(payload => util.deserializeResult(payload))
2520
2532
  .then(f => f, util.onRejected);
2521
2533
  }
2534
+ /**
2535
+ * Update an Endpoint by ID, currently available only for cloud endpoints
2536
+ */
2537
+ public update(arg: datatypes.EndpointUpdate): Promise<datatypes.Endpoint> {
2538
+ return this.httpClient
2539
+ .url(`/endpoints/${arg.id}`)
2540
+ .patch(util.serializeArgument(arg))
2541
+ .json(payload => util.deserializeResult(payload))
2542
+ .then(f => f, util.onRejected);
2543
+ }
2544
+ /**
2545
+ * Delete an Endpoint by ID, currently available only for cloud endpoints
2546
+ */
2547
+ public delete(id): Promise<void> {
2548
+ return this.httpClient
2549
+ .url(`/endpoints/${id}`)
2550
+ .delete()
2551
+ .res()
2552
+ .then(f => f, util.onRejected);
2553
+ }
2522
2554
  }
2523
2555
 
2524
2556
  export class EventDestinations {
@@ -3350,6 +3382,106 @@ export class ReservedDomains {
3350
3382
  }
3351
3383
  }
3352
3384
 
3385
+ /**
3386
+ * Secrets is an api service for securely storing and managing sensitive data such as secrets, credentials, and tokens.
3387
+ */
3388
+ export class Secrets {
3389
+ private httpClient: Wretcher;
3390
+
3391
+ /** Do not construct this object directly, use the <code>secrets</code> property of an <code>Ngrok</code> client object instead. */
3392
+ public constructor(httpClient: Wretcher) {
3393
+ this.httpClient = httpClient;
3394
+ }
3395
+ /**
3396
+ * Create a new Secret
3397
+ */
3398
+ public create(arg: datatypes.SecretCreate): Promise<datatypes.Secret> {
3399
+ return this.httpClient
3400
+ .url(`/vault_secrets`)
3401
+ .post(util.serializeArgument(arg))
3402
+ .json(payload => util.deserializeResult(payload))
3403
+ .then(f => f, util.onRejected);
3404
+ }
3405
+ /**
3406
+ * Update an existing Secret by ID
3407
+ */
3408
+ public update(arg: datatypes.SecretUpdate): Promise<datatypes.Secret> {
3409
+ return this.httpClient
3410
+ .url(`/vault_secrets/${arg.id}`)
3411
+ .patch(util.serializeArgument(arg))
3412
+ .json(payload => util.deserializeResult(payload))
3413
+ .then(f => f, util.onRejected);
3414
+ }
3415
+ /**
3416
+ * Delete a Secret
3417
+ */
3418
+ public delete(id): Promise<void> {
3419
+ return this.httpClient
3420
+ .url(`/vault_secrets/${id}`)
3421
+ .delete()
3422
+ .res()
3423
+ .then(f => f, util.onRejected);
3424
+ }
3425
+ /**
3426
+ * Get a Secret by ID
3427
+ */
3428
+ public get(id): Promise<datatypes.Secret> {
3429
+ return this.httpClient
3430
+ .url(`/vault_secrets/${id}`)
3431
+ .get()
3432
+ .json(payload => util.deserializeResult(payload))
3433
+ .then(f => f, util.onRejected);
3434
+ }
3435
+ /**
3436
+ * List all Secrets owned by account
3437
+ */
3438
+ public async list(
3439
+ beforeId?: string,
3440
+ limit?: string
3441
+ ): Promise<Array<datatypes.Secret>> {
3442
+ const array: Array<datatypes.Secret> = [];
3443
+ for await (const item of this._asyncList(beforeId, limit)) {
3444
+ array.push(item);
3445
+ }
3446
+ return array;
3447
+ }
3448
+
3449
+ private _pagedList(arg: datatypes.Paging): Promise<datatypes.SecretList> {
3450
+ return this.httpClient
3451
+ .url(`/vault_secrets`)
3452
+ .query(arg)
3453
+ .get()
3454
+ .json(payload => util.deserializeResult(payload))
3455
+ .then(util.onFulfilled, util.onRejected);
3456
+ }
3457
+
3458
+ private async *_asyncList(beforeId: string, limit = '100') {
3459
+ let nextPage = 'initial loop';
3460
+ let page: datatypes.Paging = { limit: limit };
3461
+
3462
+ if (beforeId) {
3463
+ page.beforeId = beforeId;
3464
+ }
3465
+
3466
+ while (nextPage) {
3467
+ const pagedList = await this._pagedList(page);
3468
+ nextPage = pagedList.nextPageUri;
3469
+ const items: datatypes.Secret[] = pagedList.secrets;
3470
+
3471
+ if (nextPage) {
3472
+ page = {
3473
+ beforeId: items[items.length - 1].id,
3474
+ limit: limit,
3475
+ };
3476
+ }
3477
+
3478
+ for (const item of items) {
3479
+ yield item;
3480
+ }
3481
+ }
3482
+ }
3483
+ }
3484
+
3353
3485
  /**
3354
3486
  * An SSH Certificate Authority is a pair of an SSH Certificate and its private
3355
3487
  key that can be used to sign other SSH host and user certificates.
@@ -3963,3 +4095,103 @@ export class Tunnels {
3963
4095
  .then(f => f, util.onRejected);
3964
4096
  }
3965
4097
  }
4098
+
4099
+ /**
4100
+ * Vaults is an api service for securely storing and managing sensitive data such as secrets, credentials, and tokens.
4101
+ */
4102
+ export class Vaults {
4103
+ private httpClient: Wretcher;
4104
+
4105
+ /** Do not construct this object directly, use the <code>vaults</code> property of an <code>Ngrok</code> client object instead. */
4106
+ public constructor(httpClient: Wretcher) {
4107
+ this.httpClient = httpClient;
4108
+ }
4109
+ /**
4110
+ * Create a new Vault
4111
+ */
4112
+ public create(arg: datatypes.VaultCreate): Promise<datatypes.Vault> {
4113
+ return this.httpClient
4114
+ .url(`/vaults`)
4115
+ .post(util.serializeArgument(arg))
4116
+ .json(payload => util.deserializeResult(payload))
4117
+ .then(f => f, util.onRejected);
4118
+ }
4119
+ /**
4120
+ * Update an existing Vault by ID
4121
+ */
4122
+ public update(arg: datatypes.VaultUpdate): Promise<datatypes.Vault> {
4123
+ return this.httpClient
4124
+ .url(`/vaults/${arg.id}`)
4125
+ .patch(util.serializeArgument(arg))
4126
+ .json(payload => util.deserializeResult(payload))
4127
+ .then(f => f, util.onRejected);
4128
+ }
4129
+ /**
4130
+ * Delete a Vault
4131
+ */
4132
+ public delete(id): Promise<void> {
4133
+ return this.httpClient
4134
+ .url(`/vaults/${id}`)
4135
+ .delete()
4136
+ .res()
4137
+ .then(f => f, util.onRejected);
4138
+ }
4139
+ /**
4140
+ * Get a Vault by ID
4141
+ */
4142
+ public get(id): Promise<datatypes.Vault> {
4143
+ return this.httpClient
4144
+ .url(`/vaults/${id}`)
4145
+ .get()
4146
+ .json(payload => util.deserializeResult(payload))
4147
+ .then(f => f, util.onRejected);
4148
+ }
4149
+ /**
4150
+ * List all Vaults owned by account
4151
+ */
4152
+ public async list(
4153
+ beforeId?: string,
4154
+ limit?: string
4155
+ ): Promise<Array<datatypes.Vault>> {
4156
+ const array: Array<datatypes.Vault> = [];
4157
+ for await (const item of this._asyncList(beforeId, limit)) {
4158
+ array.push(item);
4159
+ }
4160
+ return array;
4161
+ }
4162
+
4163
+ private _pagedList(arg: datatypes.Paging): Promise<datatypes.VaultList> {
4164
+ return this.httpClient
4165
+ .url(`/vaults`)
4166
+ .query(arg)
4167
+ .get()
4168
+ .json(payload => util.deserializeResult(payload))
4169
+ .then(util.onFulfilled, util.onRejected);
4170
+ }
4171
+
4172
+ private async *_asyncList(beforeId: string, limit = '100') {
4173
+ let nextPage = 'initial loop';
4174
+ let page: datatypes.Paging = { limit: limit };
4175
+
4176
+ if (beforeId) {
4177
+ page.beforeId = beforeId;
4178
+ }
4179
+
4180
+ while (nextPage) {
4181
+ const pagedList = await this._pagedList(page);
4182
+ nextPage = pagedList.nextPageUri;
4183
+ const items: datatypes.Vault[] = pagedList.vaults;
4184
+
4185
+ if (nextPage) {
4186
+ page = {
4187
+ beforeId: items[items.length - 1].id,
4188
+ limit: limit,
4189
+ };
4190
+ }
4191
+
4192
+ for (const item of items) {
4193
+ yield item;
4194
+ }
4195
+ }
4196
+ }
4197
+ }