@ngrok/ngrok-api 0.3.0 → 0.9.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 (242) hide show
  1. package/README.md +21 -44
  2. package/docs/assets/js/search.js +1 -1
  3. package/docs/classes/client.Ngrok.html +191 -100
  4. package/docs/classes/services.APIKeys.html +6 -105
  5. package/docs/classes/services.AbuseReports.html +3 -102
  6. package/docs/classes/services.AgentIngresses.html +6 -105
  7. package/docs/classes/services.CertificateAuthorities.html +6 -105
  8. package/docs/classes/services.Credentials.html +6 -105
  9. package/docs/classes/services.EdgeRouteBackendModule.html +270 -0
  10. package/docs/classes/services.EdgeRouteCircuitBreakerModule.html +270 -0
  11. package/docs/classes/services.EdgeRouteCompressionModule.html +270 -0
  12. package/docs/classes/{services.EndpointCircuitBreakerModule.html → services.EdgeRouteIPRestrictionModule.html} +28 -127
  13. package/docs/classes/services.EdgeRouteOAuthModule.html +270 -0
  14. package/docs/classes/services.EdgeRouteOIDCModule.html +270 -0
  15. package/docs/classes/{services.EndpointResponseHeadersModule.html → services.EdgeRouteRequestHeadersModule.html} +28 -127
  16. package/docs/classes/services.EdgeRouteResponseHeadersModule.html +270 -0
  17. package/docs/classes/services.EdgeRouteSAMLModule.html +270 -0
  18. package/docs/classes/services.EdgeRouteWebhookVerificationModule.html +270 -0
  19. package/docs/classes/services.EdgeRouteWebsocketTCPConverterModule.html +270 -0
  20. package/docs/classes/services.EdgesHTTPS.html +343 -0
  21. package/docs/classes/services.EdgesHTTPSRoutes.html +317 -0
  22. package/docs/classes/services.EdgesTCP.html +343 -0
  23. package/docs/classes/services.EdgesTLS.html +343 -0
  24. package/docs/classes/services.Endpoints.html +256 -0
  25. package/docs/classes/services.EventDestinations.html +7 -106
  26. package/docs/classes/services.EventSources.html +6 -105
  27. package/docs/classes/services.EventSubscriptions.html +6 -105
  28. package/docs/classes/services.FailoverBackends.html +353 -0
  29. package/docs/classes/services.HTTPResponseBackends.html +318 -0
  30. package/docs/classes/{services.EndpointMutualTLSModule.html → services.HTTPSEdgeMutualTLSModule.html} +22 -121
  31. package/docs/classes/{services.EndpointTLSTerminationModule.html → services.HTTPSEdgeTLSTerminationModule.html} +22 -121
  32. package/docs/classes/services.IPPolicies.html +6 -105
  33. package/docs/classes/services.IPPolicyRules.html +6 -105
  34. package/docs/classes/services.IPRestrictions.html +7 -106
  35. package/docs/classes/services.ReservedAddrs.html +6 -137
  36. package/docs/classes/services.ReservedDomains.html +8 -171
  37. package/docs/classes/services.SSHCertificateAuthorities.html +6 -105
  38. package/docs/classes/services.SSHCredentials.html +6 -105
  39. package/docs/classes/services.SSHHostCertificates.html +6 -105
  40. package/docs/classes/services.SSHUserCertificates.html +6 -105
  41. package/docs/classes/{services.EndpointSAMLModule.html → services.TCPEdgeBackendModule.html} +25 -124
  42. package/docs/classes/{services.EndpointIPPolicyModule.html → services.TCPEdgeIPRestrictionModule.html} +22 -121
  43. package/docs/classes/services.TLSCertificates.html +6 -105
  44. package/docs/classes/{services.EndpointLoggingModule.html → services.TLSEdgeBackendModule.html} +25 -124
  45. package/docs/classes/{services.EndpointOIDCModule.html → services.TLSEdgeIPRestrictionModule.html} +25 -124
  46. package/docs/classes/{services.EndpointOAuthModule.html → services.TLSEdgeMutualTLSModule.html} +25 -124
  47. package/docs/classes/services.TLSEdgeTLSTerminationModule.html +270 -0
  48. package/docs/classes/services.TunnelGroupBackends.html +351 -0
  49. package/docs/classes/services.TunnelSessions.html +6 -105
  50. package/docs/classes/services.Tunnels.html +34 -101
  51. package/docs/classes/{services.EventStreams.html → services.WeightedBackends.html} +51 -140
  52. package/docs/index.html +22 -43
  53. package/docs/interfaces/client.NgrokConfig.html +2 -2
  54. package/docs/interfaces/datatypes.APIKey.html +6 -6
  55. package/docs/interfaces/datatypes.APIKeyCreate.html +2 -2
  56. package/docs/interfaces/datatypes.APIKeyList.html +3 -3
  57. package/docs/interfaces/datatypes.APIKeyUpdate.html +3 -3
  58. package/docs/interfaces/datatypes.AWSAuth.html +2 -2
  59. package/docs/interfaces/datatypes.AWSCredentials.html +2 -2
  60. package/docs/interfaces/datatypes.AWSRole.html +1 -1
  61. package/docs/interfaces/datatypes.AbuseReport.html +7 -7
  62. package/docs/interfaces/datatypes.AbuseReportCreate.html +2 -2
  63. package/docs/interfaces/datatypes.AbuseReportHostname.html +2 -2
  64. package/docs/interfaces/datatypes.AgentIngress.html +8 -8
  65. package/docs/interfaces/datatypes.AgentIngressCreate.html +3 -3
  66. package/docs/interfaces/datatypes.AgentIngressList.html +3 -3
  67. package/docs/interfaces/datatypes.AgentIngressUpdate.html +3 -3
  68. package/docs/interfaces/datatypes.CertificateAuthority.html +11 -11
  69. package/docs/interfaces/datatypes.CertificateAuthorityCreate.html +3 -3
  70. package/docs/interfaces/datatypes.CertificateAuthorityList.html +3 -3
  71. package/docs/interfaces/datatypes.CertificateAuthorityUpdate.html +3 -3
  72. package/docs/interfaces/datatypes.Credential.html +8 -8
  73. package/docs/interfaces/datatypes.CredentialCreate.html +3 -3
  74. package/docs/interfaces/datatypes.CredentialList.html +3 -3
  75. package/docs/interfaces/datatypes.CredentialUpdate.html +4 -4
  76. package/docs/interfaces/{datatypes.EndpointOIDCReplace.html → datatypes.EdgeBackendReplace.html} +12 -12
  77. package/docs/interfaces/{datatypes.EndpointIPPolicyReplace.html → datatypes.EdgeIPRestrictionReplace.html} +11 -11
  78. package/docs/interfaces/{datatypes.EndpointMutualTLSReplace.html → datatypes.EdgeMutualTLSReplace.html} +11 -11
  79. package/docs/interfaces/datatypes.EdgeRouteBackendReplace.html +190 -0
  80. package/docs/interfaces/datatypes.EdgeRouteCircuitBreakerReplace.html +190 -0
  81. package/docs/interfaces/{datatypes.EndpointCompressionReplace.html → datatypes.EdgeRouteCompressionReplace.html} +25 -11
  82. package/docs/interfaces/datatypes.EdgeRouteIPRestrictionReplace.html +190 -0
  83. package/docs/interfaces/{datatypes.EndpointCircuitBreakerReplace.html → datatypes.EdgeRouteItem.html} +27 -17
  84. package/docs/interfaces/{datatypes.EndpointOAuthReplace.html → datatypes.EdgeRouteOAuthReplace.html} +25 -11
  85. package/docs/interfaces/datatypes.EdgeRouteOIDCReplace.html +190 -0
  86. package/docs/interfaces/{datatypes.EndpointRequestHeadersReplace.html → datatypes.EdgeRouteRequestHeadersReplace.html} +25 -11
  87. package/docs/interfaces/datatypes.EdgeRouteResponseHeadersReplace.html +190 -0
  88. package/docs/interfaces/{datatypes.EndpointSAMLReplace.html → datatypes.EdgeRouteSAMLReplace.html} +25 -11
  89. package/docs/interfaces/{datatypes.EndpointWebhookValidationReplace.html → datatypes.EdgeRouteWebhookVerificationReplace.html} +25 -11
  90. package/docs/interfaces/datatypes.EdgeRouteWebsocketTCPConverterReplace.html +190 -0
  91. package/docs/interfaces/{datatypes.EndpointResponseHeadersReplace.html → datatypes.EdgeTLSTerminationAtEdgeReplace.html} +12 -12
  92. package/docs/interfaces/{datatypes.EndpointTLSTerminationReplace.html → datatypes.EdgeTLSTerminationReplace.html} +11 -11
  93. package/docs/interfaces/datatypes.Endpoint.html +395 -0
  94. package/docs/interfaces/{datatypes.EndpointLogging.html → datatypes.EndpointBackend.html} +19 -19
  95. package/docs/interfaces/{datatypes.EndpointLoggingMutate.html → datatypes.EndpointBackendMutate.html} +19 -19
  96. package/docs/interfaces/datatypes.EndpointCircuitBreaker.html +6 -6
  97. package/docs/interfaces/datatypes.EndpointCompression.html +1 -1
  98. package/docs/interfaces/datatypes.EndpointIPPolicy.html +2 -2
  99. package/docs/interfaces/datatypes.EndpointIPPolicyMutate.html +2 -2
  100. package/docs/interfaces/datatypes.EndpointList.html +205 -0
  101. package/docs/interfaces/datatypes.EndpointMutualTLS.html +2 -2
  102. package/docs/interfaces/datatypes.EndpointMutualTLSMutate.html +3 -3
  103. package/docs/interfaces/datatypes.EndpointOAuth.html +7 -7
  104. package/docs/interfaces/datatypes.EndpointOAuthFacebook.html +5 -5
  105. package/docs/interfaces/datatypes.EndpointOAuthGitHub.html +7 -7
  106. package/docs/interfaces/datatypes.EndpointOAuthGoogle.html +5 -5
  107. package/docs/interfaces/datatypes.EndpointOAuthMicrosoft.html +5 -5
  108. package/docs/interfaces/datatypes.EndpointOAuthProvider.html +4 -4
  109. package/docs/interfaces/datatypes.EndpointOIDC.html +9 -9
  110. package/docs/interfaces/datatypes.EndpointRequestHeaders.html +3 -3
  111. package/docs/interfaces/datatypes.EndpointResponseHeaders.html +3 -3
  112. package/docs/interfaces/datatypes.EndpointSAML.html +15 -15
  113. package/docs/interfaces/datatypes.EndpointSAMLMutate.html +10 -10
  114. package/docs/interfaces/datatypes.EndpointTLSTermination.html +3 -3
  115. package/docs/interfaces/datatypes.EndpointTLSTerminationAtEdge.html +186 -0
  116. package/docs/interfaces/datatypes.EndpointWebhookValidation.html +4 -4
  117. package/docs/interfaces/datatypes.EndpointWebsocketTCPConverter.html +167 -0
  118. package/docs/interfaces/datatypes.Error.html +4 -4
  119. package/docs/interfaces/datatypes.EventDestination.html +7 -7
  120. package/docs/interfaces/datatypes.EventDestinationCreate.html +4 -4
  121. package/docs/interfaces/datatypes.EventDestinationList.html +3 -3
  122. package/docs/interfaces/datatypes.EventDestinationUpdate.html +5 -5
  123. package/docs/interfaces/datatypes.EventSource.html +2 -2
  124. package/docs/interfaces/datatypes.EventSourceCreate.html +2 -2
  125. package/docs/interfaces/datatypes.EventSourceItem.html +2 -2
  126. package/docs/interfaces/datatypes.EventSourceList.html +2 -2
  127. package/docs/interfaces/datatypes.EventSourcePaging.html +1 -1
  128. package/docs/interfaces/datatypes.EventSourceReplace.html +1 -1
  129. package/docs/interfaces/datatypes.EventSourceUpdate.html +2 -2
  130. package/docs/interfaces/datatypes.EventSubscription.html +7 -7
  131. package/docs/interfaces/datatypes.EventSubscriptionCreate.html +5 -5
  132. package/docs/interfaces/datatypes.EventSubscriptionList.html +3 -3
  133. package/docs/interfaces/datatypes.EventSubscriptionUpdate.html +6 -6
  134. package/docs/interfaces/datatypes.EventTarget.html +3 -3
  135. package/docs/interfaces/datatypes.EventTargetCloudwatchLogs.html +2 -2
  136. package/docs/interfaces/datatypes.EventTargetFirehose.html +2 -2
  137. package/docs/interfaces/datatypes.EventTargetKinesis.html +2 -2
  138. package/docs/interfaces/{datatypes.EventStreamCreate.html → datatypes.FailoverBackend.html} +44 -44
  139. package/docs/interfaces/datatypes.FailoverBackendCreate.html +205 -0
  140. package/docs/interfaces/datatypes.FailoverBackendList.html +205 -0
  141. package/docs/interfaces/datatypes.FailoverBackendUpdate.html +219 -0
  142. package/docs/interfaces/datatypes.HTTPResponseBackend.html +295 -0
  143. package/docs/interfaces/datatypes.HTTPResponseBackendCreate.html +243 -0
  144. package/docs/interfaces/datatypes.HTTPResponseBackendList.html +190 -0
  145. package/docs/interfaces/{datatypes.EventStreamUpdate.html → datatypes.HTTPResponseBackendUpdate.html} +40 -45
  146. package/docs/interfaces/{datatypes.EventStream.html → datatypes.HTTPSEdge.html} +58 -63
  147. package/docs/interfaces/datatypes.HTTPSEdgeCreate.html +238 -0
  148. package/docs/interfaces/{datatypes.EventStreamList.html → datatypes.HTTPSEdgeList.html} +20 -20
  149. package/docs/interfaces/{datatypes.EndpointConfiguration.html → datatypes.HTTPSEdgeRoute.html} +123 -104
  150. package/docs/interfaces/{datatypes.EndpointConfigurationCreate.html → datatypes.HTTPSEdgeRouteCreate.html} +108 -89
  151. package/docs/interfaces/{datatypes.EndpointConfigurationUpdate.html → datatypes.HTTPSEdgeRouteUpdate.html} +115 -77
  152. package/docs/interfaces/datatypes.HTTPSEdgeUpdate.html +257 -0
  153. package/docs/interfaces/datatypes.IPPolicy.html +5 -24
  154. package/docs/interfaces/datatypes.IPPolicyCreate.html +2 -21
  155. package/docs/interfaces/datatypes.IPPolicyList.html +3 -3
  156. package/docs/interfaces/datatypes.IPPolicyRule.html +26 -7
  157. package/docs/interfaces/datatypes.IPPolicyRuleCreate.html +23 -4
  158. package/docs/interfaces/datatypes.IPPolicyRuleList.html +3 -3
  159. package/docs/interfaces/datatypes.IPPolicyRuleUpdate.html +4 -4
  160. package/docs/interfaces/datatypes.IPPolicyUpdate.html +3 -3
  161. package/docs/interfaces/datatypes.IPRestriction.html +8 -8
  162. package/docs/interfaces/datatypes.IPRestrictionCreate.html +5 -5
  163. package/docs/interfaces/datatypes.IPRestrictionList.html +4 -4
  164. package/docs/interfaces/datatypes.IPRestrictionUpdate.html +5 -5
  165. package/docs/interfaces/datatypes.Item.html +1 -1
  166. package/docs/interfaces/datatypes.Paging.html +2 -2
  167. package/docs/interfaces/datatypes.Ref.html +2 -2
  168. package/docs/interfaces/datatypes.ReservedAddr.html +7 -26
  169. package/docs/interfaces/datatypes.ReservedAddrCreate.html +3 -22
  170. package/docs/interfaces/datatypes.ReservedAddrList.html +3 -3
  171. package/docs/interfaces/datatypes.ReservedAddrUpdate.html +3 -22
  172. package/docs/interfaces/datatypes.ReservedDomain.html +12 -50
  173. package/docs/interfaces/datatypes.ReservedDomainCertJob.html +4 -4
  174. package/docs/interfaces/datatypes.ReservedDomainCertPolicy.html +2 -2
  175. package/docs/interfaces/datatypes.ReservedDomainCertStatus.html +2 -2
  176. package/docs/interfaces/datatypes.ReservedDomainCreate.html +6 -44
  177. package/docs/interfaces/datatypes.ReservedDomainList.html +3 -3
  178. package/docs/interfaces/datatypes.ReservedDomainUpdate.html +5 -43
  179. package/docs/interfaces/datatypes.SSHCertificateAuthority.html +7 -7
  180. package/docs/interfaces/datatypes.SSHCertificateAuthorityCreate.html +5 -5
  181. package/docs/interfaces/datatypes.SSHCertificateAuthorityList.html +3 -3
  182. package/docs/interfaces/datatypes.SSHCertificateAuthorityUpdate.html +3 -3
  183. package/docs/interfaces/datatypes.SSHCredential.html +7 -7
  184. package/docs/interfaces/datatypes.SSHCredentialCreate.html +4 -4
  185. package/docs/interfaces/datatypes.SSHCredentialList.html +3 -3
  186. package/docs/interfaces/datatypes.SSHCredentialUpdate.html +4 -4
  187. package/docs/interfaces/datatypes.SSHHostCertificate.html +12 -12
  188. package/docs/interfaces/datatypes.SSHHostCertificateCreate.html +7 -7
  189. package/docs/interfaces/datatypes.SSHHostCertificateList.html +3 -3
  190. package/docs/interfaces/datatypes.SSHHostCertificateUpdate.html +3 -3
  191. package/docs/interfaces/datatypes.SSHUserCertificate.html +15 -15
  192. package/docs/interfaces/datatypes.SSHUserCertificateCreate.html +10 -10
  193. package/docs/interfaces/datatypes.SSHUserCertificateList.html +3 -3
  194. package/docs/interfaces/datatypes.SSHUserCertificateUpdate.html +3 -3
  195. package/docs/interfaces/datatypes.TCPEdge.html +295 -0
  196. package/docs/interfaces/datatypes.TCPEdgeCreate.html +238 -0
  197. package/docs/interfaces/datatypes.TCPEdgeList.html +205 -0
  198. package/docs/interfaces/datatypes.TCPEdgeUpdate.html +257 -0
  199. package/docs/interfaces/datatypes.TLSCertificate.html +21 -21
  200. package/docs/interfaces/datatypes.TLSCertificateCreate.html +4 -4
  201. package/docs/interfaces/datatypes.TLSCertificateList.html +3 -3
  202. package/docs/interfaces/datatypes.TLSCertificateSANs.html +2 -2
  203. package/docs/interfaces/datatypes.TLSCertificateUpdate.html +3 -3
  204. package/docs/interfaces/datatypes.TLSEdge.html +323 -0
  205. package/docs/interfaces/datatypes.TLSEdgeCreate.html +266 -0
  206. package/docs/interfaces/datatypes.TLSEdgeList.html +205 -0
  207. package/docs/interfaces/datatypes.TLSEdgeUpdate.html +285 -0
  208. package/docs/interfaces/datatypes.Tunnel.html +85 -9
  209. package/docs/interfaces/datatypes.TunnelGroupBackend.html +281 -0
  210. package/docs/interfaces/datatypes.TunnelGroupBackendCreate.html +205 -0
  211. package/docs/interfaces/datatypes.TunnelGroupBackendList.html +205 -0
  212. package/docs/interfaces/datatypes.TunnelGroupBackendUpdate.html +219 -0
  213. package/docs/interfaces/datatypes.TunnelList.html +3 -3
  214. package/docs/interfaces/datatypes.TunnelSession.html +10 -10
  215. package/docs/interfaces/datatypes.TunnelSessionList.html +3 -3
  216. package/docs/interfaces/datatypes.TunnelSessionsUpdate.html +1 -1
  217. package/docs/interfaces/datatypes.WeightedBackend.html +262 -0
  218. package/docs/interfaces/datatypes.WeightedBackendCreate.html +205 -0
  219. package/docs/interfaces/{datatypes.EndpointConfigurationList.html → datatypes.WeightedBackendList.html} +19 -19
  220. package/docs/interfaces/datatypes.WeightedBackendUpdate.html +219 -0
  221. package/docs/modules/datatypes.html +197 -69
  222. package/docs/modules/services.html +85 -29
  223. package/lib/client.d.ts +53 -19
  224. package/lib/client.d.ts.map +1 -1
  225. package/lib/client.js +43 -19
  226. package/lib/client.js.map +1 -1
  227. package/lib/datatypes.d.ts +575 -241
  228. package/lib/datatypes.d.ts.map +1 -1
  229. package/lib/services.d.ts +358 -138
  230. package/lib/services.d.ts.map +1 -1
  231. package/lib/services.js +1367 -528
  232. package/lib/services.js.map +1 -1
  233. package/package.json +2 -2
  234. package/src/client.ts +96 -39
  235. package/src/datatypes.ts +623 -257
  236. package/src/services.ts +1363 -543
  237. package/docs/classes/services.EndpointCompressionModule.html +0 -369
  238. package/docs/classes/services.EndpointConfigurations.html +0 -451
  239. package/docs/classes/services.EndpointRequestHeadersModule.html +0 -369
  240. package/docs/classes/services.EndpointWebhookValidationModule.html +0 -369
  241. package/docs/interfaces/datatypes.EndpointLoggingReplace.html +0 -176
  242. package/test/endpointConfigurations.test.js +0 -67
package/src/datatypes.ts CHANGED
@@ -139,6 +139,188 @@ export interface APIKeyList {
139
139
  nextPageUri?: string;
140
140
  }
141
141
 
142
+ export interface FailoverBackend {
143
+ /** unique identifier for this Failover backend */
144
+ id: string;
145
+ /** URI of the FailoverBackend API resource */
146
+ uri: string;
147
+ /** timestamp when the backend was created, RFC 3339 format */
148
+ createdAt: string;
149
+ /** human-readable description of this backend. Optional */
150
+ description: string;
151
+ /** arbitrary user-defined machine-readable data of this backend. Optional */
152
+ metadata: string;
153
+ /** the ids of the child backends in order */
154
+ backends: Array<string>;
155
+ }
156
+
157
+ export interface FailoverBackendCreate {
158
+ /** human-readable description of this backend. Optional */
159
+ description: string;
160
+ /** arbitrary user-defined machine-readable data of this backend. Optional */
161
+ metadata: string;
162
+ /** the ids of the child backends in order */
163
+ backends: Array<string>;
164
+ }
165
+
166
+ export interface FailoverBackendUpdate {
167
+ id: string;
168
+ /** human-readable description of this backend. Optional */
169
+ description?: string;
170
+ /** arbitrary user-defined machine-readable data of this backend. Optional */
171
+ metadata?: string;
172
+ /** the ids of the child backends in order */
173
+ backends: Array<string>;
174
+ }
175
+
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 */
180
+ uri: string;
181
+ /** URI of the next page, or null if there is no next page */
182
+ nextPageUri?: string;
183
+ }
184
+
185
+ export interface HTTPResponseBackend {
186
+ id: string;
187
+ /** URI of the HTTPResponseBackend API resource */
188
+ uri: string;
189
+ /** timestamp when the backend was created, RFC 3339 format */
190
+ createdAt: string;
191
+ /** human-readable description of this backend. Optional */
192
+ description: string;
193
+ /** arbitrary user-defined machine-readable data of this backend. Optional */
194
+ metadata: string;
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;
201
+ }
202
+
203
+ export interface HTTPResponseBackendCreate {
204
+ /** human-readable description of this backend. Optional */
205
+ description: string;
206
+ /** arbitrary user-defined machine-readable data of this backend. Optional */
207
+ metadata: string;
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;
214
+ }
215
+
216
+ export interface HTTPResponseBackendUpdate {
217
+ id: string;
218
+ /** human-readable description of this backend. Optional */
219
+ description?: string;
220
+ /** arbitrary user-defined machine-readable data of this backend. Optional */
221
+ metadata?: string;
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;
228
+ }
229
+
230
+ export interface HTTPResponseBackendList {
231
+ backends: Array<HTTPResponseBackend>;
232
+ uri: string;
233
+ nextPageUri?: string;
234
+ }
235
+
236
+ export interface TunnelGroupBackend {
237
+ /** unique identifier for this TunnelGroup backend */
238
+ id: string;
239
+ /** URI of the TunnelGroupBackend API resource */
240
+ uri: string;
241
+ /** timestamp when the backend was created, RFC 3339 format */
242
+ createdAt: string;
243
+ /** human-readable description of this backend. Optional */
244
+ description: string;
245
+ /** arbitrary user-defined machine-readable data of this backend. Optional */
246
+ metadata: string;
247
+ /** labels to watch for tunnels on, e.g. app->foo, dc->bar */
248
+ labels: Map<string, string>;
249
+ /** tunnels matching this backend */
250
+ tunnels: Array<Ref>;
251
+ }
252
+
253
+ export interface TunnelGroupBackendCreate {
254
+ /** human-readable description of this backend. Optional */
255
+ description: string;
256
+ /** arbitrary user-defined machine-readable data of this backend. Optional */
257
+ metadata: string;
258
+ /** labels to watch for tunnels on, e.g. app->foo, dc->bar */
259
+ labels: Map<string, string>;
260
+ }
261
+
262
+ export interface TunnelGroupBackendUpdate {
263
+ id: string;
264
+ /** human-readable description of this backend. Optional */
265
+ description?: string;
266
+ /** arbitrary user-defined machine-readable data of this backend. Optional */
267
+ metadata?: string;
268
+ /** labels to watch for tunnels on, e.g. app->foo, dc->bar */
269
+ labels: Map<string, string>;
270
+ }
271
+
272
+ export interface TunnelGroupBackendList {
273
+ /** the list of all TunnelGroup backends on this account */
274
+ backends: Array<TunnelGroupBackend>;
275
+ /** URI of the TunnelGroup backends list API resource */
276
+ uri: string;
277
+ /** URI of the next page, or null if there is no next page */
278
+ nextPageUri?: string;
279
+ }
280
+
281
+ export interface WeightedBackend {
282
+ /** unique identifier for this Weighted backend */
283
+ id: string;
284
+ /** URI of the WeightedBackend API resource */
285
+ uri: string;
286
+ /** timestamp when the backend was created, RFC 3339 format */
287
+ createdAt: string;
288
+ /** human-readable description of this backend. Optional */
289
+ description: string;
290
+ /** arbitrary user-defined machine-readable data of this backend. Optional */
291
+ metadata: string;
292
+ /** the ids of the child backends to their weights [0-10000] */
293
+ backends: Map<string, number>;
294
+ }
295
+
296
+ export interface WeightedBackendCreate {
297
+ /** human-readable description of this backend. Optional */
298
+ description: string;
299
+ /** arbitrary user-defined machine-readable data of this backend. Optional */
300
+ metadata: string;
301
+ /** the ids of the child backends to their weights [0-10000] */
302
+ backends: Map<string, number>;
303
+ }
304
+
305
+ export interface WeightedBackendUpdate {
306
+ id: string;
307
+ /** human-readable description of this backend. Optional */
308
+ description?: string;
309
+ /** arbitrary user-defined machine-readable data of this backend. Optional */
310
+ metadata?: string;
311
+ /** the ids of the child backends to their weights [0-10000] */
312
+ backends: Map<string, number>;
313
+ }
314
+
315
+ export interface WeightedBackendList {
316
+ /** the list of all Weighted backends on this account */
317
+ backends: Array<WeightedBackend>;
318
+ /** URI of the Weighted backends list API resource */
319
+ uri: string;
320
+ /** URI of the next page, or null if there is no next page */
321
+ nextPageUri?: string;
322
+ }
323
+
142
324
  export interface CertificateAuthorityCreate {
143
325
  /** human-readable description of this Certificate Authority. optional, max 255 bytes. */
144
326
  description: string;
@@ -220,7 +402,7 @@ export interface Credential {
220
402
  description: string;
221
403
  /** arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. */
222
404
  metadata: string;
223
- /** 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 agent. **This value is only available one time, on the API response from credential creation, otherwise it is null.** */
224
406
  token?: string;
225
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. */
226
408
  acl: Array<string>;
@@ -235,124 +417,10 @@ export interface CredentialList {
235
417
  nextPageUri?: string;
236
418
  }
237
419
 
238
- export interface EndpointConfiguration {
239
- /** unique identifier of this endpoint configuration */
240
- id: string;
241
- /** they type of traffic this endpoint configuration can be applied to. one of: `http`, `https`, `tcp` */
242
- type: string;
243
- /** 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 */
244
- description: string;
245
- /** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
246
- metadata: string;
247
- /** timestamp when the endpoint configuration was created, RFC 3339 format */
248
- createdAt: string;
249
- /** URI of the endpoint configuration API resource */
250
- uri: string;
251
- /** circuit breaker module configuration or `null` */
252
- circuitBreaker?: EndpointCircuitBreaker;
253
- /** compression module configuration or `null` */
254
- compression?: EndpointCompression;
255
- /** request headers module configuration or `null` */
256
- requestHeaders?: EndpointRequestHeaders;
257
- /** response headers module configuration or `null` */
258
- responseHeaders?: EndpointResponseHeaders;
259
- /** ip policy module configuration or `null` */
260
- ipPolicy?: EndpointIPPolicy;
261
- /** mutual TLS module configuration or `null` */
262
- mutualTls?: EndpointMutualTLS;
263
- /** TLS termination module configuration or `null` */
264
- tlsTermination?: EndpointTLSTermination;
265
- /** webhook validation module configuration or `null` */
266
- webhookValidation?: EndpointWebhookValidation;
267
- /** oauth module configuration or `null` */
268
- oauth?: EndpointOAuth;
269
- /** logging module configuration or `null` */
270
- logging?: EndpointLogging;
271
- /** saml module configuration or `null` */
272
- saml?: EndpointSAML;
273
- /** oidc module configuration or `null` */
274
- oidc?: EndpointOIDC;
275
- }
276
-
277
- export interface EndpointConfigurationList {
278
- /** the list of all endpoint configurations on this account */
279
- endpointConfigurations: Array<EndpointConfiguration>;
280
- /** URI of the endpoint configurations list API resource */
281
- uri: string;
282
- /** URI of the next page, or null if there is no next page */
283
- nextPageUri?: string;
284
- }
285
-
286
- export interface EndpointConfigurationUpdate {
287
- /** unique identifier of this endpoint configuration */
288
- id: string;
289
- /** 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 */
290
- description?: string;
291
- /** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
292
- metadata?: string;
293
- /** circuit breaker module configuration or `null` */
294
- circuitBreaker?: EndpointCircuitBreaker;
295
- /** compression module configuration or `null` */
296
- compression?: EndpointCompression;
297
- /** request headers module configuration or `null` */
298
- requestHeaders?: EndpointRequestHeaders;
299
- /** response headers module configuration or `null` */
300
- responseHeaders?: EndpointResponseHeaders;
301
- /** ip policy module configuration or `null` */
302
- ipPolicy?: EndpointIPPolicyMutate;
303
- /** mutual TLS module configuration or `null` */
304
- mutualTls?: EndpointMutualTLSMutate;
305
- /** TLS termination module configuration or `null` */
306
- tlsTermination?: EndpointTLSTermination;
307
- /** webhook validation module configuration or `null` */
308
- webhookValidation?: EndpointWebhookValidation;
309
- /** oauth module configuration or `null` */
310
- oauth?: EndpointOAuth;
311
- /** logging module configuration or `null` */
312
- logging?: EndpointLoggingMutate;
313
- /** saml module configuration or `null` */
314
- saml?: EndpointSAMLMutate;
315
- /** oidc module configuration or `null` */
316
- oidc?: EndpointOIDC;
317
- }
318
-
319
- export interface EndpointConfigurationCreate {
320
- /** they type of traffic this endpoint configuration can be applied to. one of: `http`, `https`, `tcp` */
321
- type: string;
322
- /** 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 */
323
- description: string;
324
- /** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
325
- metadata: string;
326
- /** circuit breaker module configuration or `null` */
327
- circuitBreaker?: EndpointCircuitBreaker;
328
- /** compression module configuration or `null` */
329
- compression?: EndpointCompression;
330
- /** request headers module configuration or `null` */
331
- requestHeaders?: EndpointRequestHeaders;
332
- /** response headers module configuration or `null` */
333
- responseHeaders?: EndpointResponseHeaders;
334
- /** ip policy module configuration or `null` */
335
- ipPolicy?: EndpointIPPolicyMutate;
336
- /** mutual TLS module configuration or `null` */
337
- mutualTls?: EndpointMutualTLSMutate;
338
- /** TLS termination module configuration or `null` */
339
- tlsTermination?: EndpointTLSTermination;
340
- /** webhook validation module configuration or `null` */
341
- webhookValidation?: EndpointWebhookValidation;
342
- /** oauth module configuration or `null` */
343
- oauth?: EndpointOAuth;
344
- /** logging module configuration or `null` */
345
- logging?: EndpointLoggingMutate;
346
- /** saml module configuration or `null` */
347
- saml?: EndpointSAMLMutate;
348
- /** oidc module configuration or `null` */
349
- oidc?: EndpointOIDC;
350
- }
351
-
352
420
  export interface EndpointWebhookValidation {
353
421
  /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
354
422
  enabled?: boolean;
355
- /** 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`. */
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`. */
356
424
  provider: string;
357
425
  /** a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret */
358
426
  secret: string;
@@ -373,7 +441,7 @@ export interface EndpointMutualTLS {
373
441
  export interface EndpointMutualTLSMutate {
374
442
  /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
375
443
  enabled?: boolean;
376
- /** list of certificate authorities that will be used to validate the TLS client certificate presnted by the initiatiator of the TLS connection */
444
+ /** list of certificate authorities that will be used to validate the TLS client certificate presented by the initiator of the TLS connection */
377
445
  certificateAuthorityIds: Array<string>;
378
446
  }
379
447
 
@@ -386,18 +454,11 @@ export interface EndpointTLSTermination {
386
454
  minVersion?: string;
387
455
  }
388
456
 
389
- export interface EndpointLogging {
390
- /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
391
- enabled?: boolean;
392
- /** list of all EventStreams that will be used to configure and export this endpoint's logs */
393
- eventStreams: Array<Ref>;
394
- }
395
-
396
- export interface EndpointLoggingMutate {
457
+ export interface EndpointTLSTerminationAtEdge {
397
458
  /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
398
459
  enabled?: boolean;
399
- /** list of all EventStreams that will be used to configure and export this endpoint's logs */
400
- eventStreamIds: 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;
401
462
  }
402
463
 
403
464
  export interface EndpointRequestHeaders {
@@ -607,64 +668,439 @@ export interface EndpointOIDC {
607
668
  scopes: Array<string>;
608
669
  }
609
670
 
610
- export interface EventStreamCreate {
611
- /** Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes. */
671
+ export interface EndpointBackend {
672
+ /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
673
+ enabled?: boolean;
674
+ /** backend to be used to back this endpoint */
675
+ backend: Ref;
676
+ }
677
+
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. */
612
707
  metadata: string;
613
- /** Human-readable description of the Event Stream. Optional, max 255 bytes. */
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. */
614
742
  description: string;
615
- /** A list of protocol-specific fields you want to collect on each event. */
616
- fields: Array<string>;
617
- /** The protocol that determines which events will be collected. Supported values are `tcp_connection_closed` and `http_request_complete`. */
618
- eventType: string;
619
- /** 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. */
620
- destinationIds: Array<string>;
621
- /** 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. */
622
- samplingRate: number;
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;
623
829
  }
624
830
 
625
- export interface EventStreamUpdate {
626
- /** Unique identifier for this Event Stream. */
831
+ export interface HTTPSEdgeUpdate {
832
+ /** unique identifier of this edge */
627
833
  id: string;
628
- /** Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes. */
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. */
629
837
  metadata?: string;
630
- /** Human-readable description of the Event Stream. Optional, max 255 bytes. */
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
+ }
964
+
965
+ export interface TCPEdgeCreate {
966
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
967
+ description: string;
968
+ /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
969
+ metadata: string;
970
+ /** hostports served by this edge */
971
+ hostports?: Array<string>;
972
+ /** edge modules */
973
+ backend?: EndpointBackendMutate;
974
+ ipRestriction?: EndpointIPPolicyMutate;
975
+ }
976
+
977
+ export interface TCPEdgeUpdate {
978
+ /** unique identifier of this edge */
979
+ id: string;
980
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
631
981
  description?: string;
632
- /** A list of protocol-specific fields you want to collect on each event. */
633
- fields?: Array<string>;
634
- /** 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. */
635
- destinationIds?: Array<string>;
636
- /** 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. */
637
- samplingRate?: number;
982
+ /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
983
+ metadata?: string;
984
+ /** hostports served by this edge */
985
+ hostports?: Array<string>;
986
+ /** edge modules */
987
+ backend?: EndpointBackendMutate;
988
+ ipRestriction?: EndpointIPPolicyMutate;
638
989
  }
639
990
 
640
- export interface EventStreamList {
641
- /** The list of all Event Streams on this account. */
642
- eventStreams: Array<EventStream>;
643
- /** URI of the Event Stream list API resource. */
991
+ export interface TCPEdge {
992
+ /** unique identifier of this edge */
993
+ id: string;
994
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
995
+ description: string;
996
+ /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
997
+ metadata: string;
998
+ /** timestamp when the edge was created, RFC 3339 format */
999
+ createdAt: string;
1000
+ /** URI of the edge API resource */
644
1001
  uri: string;
645
- /** URI of the next page, or null if there is no next page. */
1002
+ /** hostports served by this edge */
1003
+ hostports?: Array<string>;
1004
+ /** edge modules */
1005
+ backend?: EndpointBackend;
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 */
646
1015
  nextPageUri?: string;
647
1016
  }
648
1017
 
649
- export interface EventStream {
650
- /** Unique identifier for this Event Stream. */
1018
+ export interface TLSEdgeCreate {
1019
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
1020
+ description: string;
1021
+ /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
1022
+ metadata: string;
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;
1030
+ }
1031
+
1032
+ export interface TLSEdgeUpdate {
1033
+ /** unique identifier of this edge */
651
1034
  id: string;
652
- /** URI of the Event Stream API resource. */
1035
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
1036
+ description?: string;
1037
+ /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
1038
+ metadata?: string;
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;
1046
+ }
1047
+
1048
+ export interface TLSEdge {
1049
+ /** unique identifier of this edge */
1050
+ id: string;
1051
+ /** human-readable description of what this edge will be used for; optional, max 255 bytes. */
1052
+ description: string;
1053
+ /** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
1054
+ metadata: string;
1055
+ /** timestamp when the edge configuration was created, RFC 3339 format */
1056
+ createdAt: string;
1057
+ /** URI of the edge API resource */
653
1058
  uri: string;
654
- /** Timestamp when the Event Stream was created, RFC 3339 format. */
1059
+ /** hostports served by this edge */
1060
+ hostports?: Array<string>;
1061
+ /** edge modules */
1062
+ backend?: EndpointBackend;
1063
+ ipRestriction?: EndpointIPPolicy;
1064
+ mutualTls?: EndpointMutualTLS;
1065
+ tlsTermination?: EndpointTLSTermination;
1066
+ }
1067
+
1068
+ export interface Endpoint {
1069
+ /** unique endpoint resource identifier */
1070
+ id: string;
1071
+ /** identifier of the region this endpoint belongs to */
1072
+ region: string;
1073
+ /** timestamp when the endpoint was created in RFC 3339 format */
655
1074
  createdAt: string;
656
- /** Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes. */
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 */
657
1086
  metadata: string;
658
- /** Human-readable description of the Event Stream. Optional, max 255 bytes. */
659
- description: string;
660
- /** A list of protocol-specific fields you want to collect on each event. */
661
- fields: Array<string>;
662
- /** The protocol that determines which events will be collected. Supported values are `tcp_connection_closed` and `http_request_complete`. */
663
- eventType: string;
664
- /** 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. */
665
- destinationIds: Array<string>;
666
- /** 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. */
667
- samplingRate: 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;
668
1104
  }
669
1105
 
670
1106
  export interface EventDestinationCreate {
@@ -773,7 +1209,7 @@ export interface EventSubscriptionCreate {
773
1209
  description: string;
774
1210
  /** Sources containing the types for which this event subscription will trigger */
775
1211
  sources: Array<EventSourceReplace>;
776
- /** A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. */
1212
+ /** A list of Event Destination IDs which should be used for this Event Subscription. */
777
1213
  destinationIds: Array<string>;
778
1214
  }
779
1215
 
@@ -786,7 +1222,7 @@ export interface EventSubscriptionUpdate {
786
1222
  description?: string;
787
1223
  /** Sources containing the types for which this event subscription will trigger */
788
1224
  sources?: Array<EventSourceReplace>;
789
- /** 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. */
1225
+ /** A list of Event Destination IDs which should be used for this Event Subscription. */
790
1226
  destinationIds?: Array<string>;
791
1227
  }
792
1228
 
@@ -868,8 +1304,6 @@ export interface IPPolicyCreate {
868
1304
  description: string;
869
1305
  /** arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. */
870
1306
  metadata: string;
871
- /** the IP policy action. Supported values are `allow` or `deny` */
872
- action: string;
873
1307
  }
874
1308
 
875
1309
  export interface IPPolicyUpdate {
@@ -891,8 +1325,6 @@ export interface IPPolicy {
891
1325
  description: string;
892
1326
  /** arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. */
893
1327
  metadata: string;
894
- /** the IP policy action. Supported values are `allow` or `deny` */
895
- action: string;
896
1328
  }
897
1329
 
898
1330
  export interface IPPolicyList {
@@ -913,6 +1345,8 @@ export interface IPPolicyRuleCreate {
913
1345
  cidr: string;
914
1346
  /** ID of the IP policy this IP policy rule will be attached to */
915
1347
  ipPolicyId: string;
1348
+ /** the action to apply to the policy rule, either `allow` or `deny` */
1349
+ action?: string;
916
1350
  }
917
1351
 
918
1352
  export interface IPPolicyRuleUpdate {
@@ -940,6 +1374,8 @@ export interface IPPolicyRule {
940
1374
  cidr: string;
941
1375
  /** object describing the IP policy this IP Policy Rule belongs to */
942
1376
  ipPolicy: Ref;
1377
+ /** the action to apply to the policy rule, either `allow` or `deny` */
1378
+ action: string;
943
1379
  }
944
1380
 
945
1381
  export interface IPPolicyRuleList {
@@ -998,72 +1434,12 @@ export interface IPRestriction {
998
1434
  export interface IPRestrictionList {
999
1435
  /** the list of all IP restrictions on this account */
1000
1436
  ipRestrictions: Array<IPRestriction>;
1001
- /** URI of the IP resrtrictions list API resource */
1437
+ /** URI of the IP restrictions list API resource */
1002
1438
  uri: string;
1003
1439
  /** URI of the next page, or null if there is no next page */
1004
1440
  nextPageUri?: string;
1005
1441
  }
1006
1442
 
1007
- export interface EndpointLoggingReplace {
1008
- id: string;
1009
- module: EndpointLoggingMutate;
1010
- }
1011
-
1012
- export interface EndpointCircuitBreakerReplace {
1013
- id: string;
1014
- module: EndpointCircuitBreaker;
1015
- }
1016
-
1017
- export interface EndpointCompressionReplace {
1018
- id: string;
1019
- module: EndpointCompression;
1020
- }
1021
-
1022
- export interface EndpointTLSTerminationReplace {
1023
- id: string;
1024
- module: EndpointTLSTermination;
1025
- }
1026
-
1027
- export interface EndpointIPPolicyReplace {
1028
- id: string;
1029
- module: EndpointIPPolicyMutate;
1030
- }
1031
-
1032
- export interface EndpointMutualTLSReplace {
1033
- id: string;
1034
- module: EndpointMutualTLSMutate;
1035
- }
1036
-
1037
- export interface EndpointRequestHeadersReplace {
1038
- id: string;
1039
- module: EndpointRequestHeaders;
1040
- }
1041
-
1042
- export interface EndpointResponseHeadersReplace {
1043
- id: string;
1044
- module: EndpointResponseHeaders;
1045
- }
1046
-
1047
- export interface EndpointOAuthReplace {
1048
- id: string;
1049
- module: EndpointOAuth;
1050
- }
1051
-
1052
- export interface EndpointWebhookValidationReplace {
1053
- id: string;
1054
- module: EndpointWebhookValidation;
1055
- }
1056
-
1057
- export interface EndpointSAMLReplace {
1058
- id: string;
1059
- module: EndpointSAMLMutate;
1060
- }
1061
-
1062
- export interface EndpointOIDCReplace {
1063
- id: string;
1064
- module: EndpointOIDC;
1065
- }
1066
-
1067
1443
  export interface ReservedAddrCreate {
1068
1444
  /** human-readable description of what this reserved address will be used for */
1069
1445
  description: string;
@@ -1071,8 +1447,6 @@ export interface ReservedAddrCreate {
1071
1447
  metadata: string;
1072
1448
  /** reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) */
1073
1449
  region: string;
1074
- /** ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address */
1075
- endpointConfigurationId?: string;
1076
1450
  }
1077
1451
 
1078
1452
  export interface ReservedAddrUpdate {
@@ -1081,8 +1455,6 @@ export interface ReservedAddrUpdate {
1081
1455
  description?: string;
1082
1456
  /** arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. */
1083
1457
  metadata?: string;
1084
- /** ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address */
1085
- endpointConfigurationId?: string;
1086
1458
  }
1087
1459
 
1088
1460
  export interface ReservedAddr {
@@ -1100,8 +1472,6 @@ export interface ReservedAddr {
1100
1472
  addr: string;
1101
1473
  /** reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) */
1102
1474
  region: string;
1103
- /** object reference to the endpoint configuration that will be applied to traffic to this address */
1104
- endpointConfiguration?: Ref;
1105
1475
  }
1106
1476
 
1107
1477
  export interface ReservedAddrList {
@@ -1122,10 +1492,6 @@ export interface ReservedDomainCreate {
1122
1492
  description: string;
1123
1493
  /** arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. */
1124
1494
  metadata: string;
1125
- /** ID of an endpoint configuration of type http that will be used to handle inbound http traffic to this domain */
1126
- httpEndpointConfigurationId?: string;
1127
- /** ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain */
1128
- httpsEndpointConfigurationId?: string;
1129
1495
  /** ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with `certificate_management_policy`. */
1130
1496
  certificateId?: string;
1131
1497
  /** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with `certificate_id`. */
@@ -1138,10 +1504,6 @@ export interface ReservedDomainUpdate {
1138
1504
  description?: string;
1139
1505
  /** arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. */
1140
1506
  metadata?: string;
1141
- /** ID of an endpoint configuration of type http that will be used to handle inbound http traffic to this domain */
1142
- httpEndpointConfigurationId?: string;
1143
- /** ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain */
1144
- httpsEndpointConfigurationId?: string;
1145
1507
  /** ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with `certificate_management_policy`. */
1146
1508
  certificateId?: string;
1147
1509
  /** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with `certificate_id`. */
@@ -1165,10 +1527,6 @@ export interface ReservedDomain {
1165
1527
  region: string;
1166
1528
  /** DNS CNAME target for a custom hostname, or null if the reserved domain is a subdomain of *.ngrok.io */
1167
1529
  cnameTarget?: string;
1168
- /** object referencing the endpoint configuration applied to http traffic on this domain */
1169
- httpEndpointConfiguration?: Ref;
1170
- /** object referencing the endpoint configuration applied to https traffic on this domain */
1171
- httpsEndpointConfiguration?: Ref;
1172
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. */
1173
1531
  certificate?: Ref;
1174
1532
  /** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled */
@@ -1373,7 +1731,7 @@ export interface SSHUserCertificateCreate {
1373
1731
  sshCertificateAuthorityId: string;
1374
1732
  /** a public key in OpenSSH Authorized Keys format that this certificate signs */
1375
1733
  publicKey: string;
1376
- /** 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. */
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 authorizing the signing certificate authority. Dangerously, if no principals are specified, this certificate may be used to log in as any user. */
1377
1735
  principals: Array<string>;
1378
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. */
1379
1737
  criticalOptions: Map<string, string>;
@@ -1414,7 +1772,7 @@ export interface SSHUserCertificate {
1414
1772
  keyType: string;
1415
1773
  /** the ssh certificate authority that is used to sign this ssh user certificate */
1416
1774
  sshCertificateAuthorityId: string;
1417
- /** 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. */
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 authorizing the signing certificate authority. Dangerously, if no principals are specified, this certificate may be used to log in as any user. */
1418
1776
  principals: Array<string>;
1419
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. */
1420
1778
  criticalOptions: Map<string, string>;
@@ -1556,18 +1914,26 @@ export interface TunnelSessionsUpdate {
1556
1914
  export interface Tunnel {
1557
1915
  /** unique tunnel resource identifier */
1558
1916
  id: string;
1559
- /** URL of the tunnel's public endpoint */
1917
+ /** URL of the ephemeral tunnel's public endpoint */
1560
1918
  publicUrl: string;
1561
1919
  /** timestamp when the tunnel was initiated in RFC 3339 format */
1562
1920
  startedAt: string;
1563
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). */
1564
1922
  metadata: string;
1565
- /** tunnel protocol. one of `http`, `https`, `tcp` or `tls` */
1923
+ /** tunnel protocol for ephemeral tunnels. one of `http`, `https`, `tcp` or `tls` */
1566
1924
  proto: string;
1567
1925
  /** identifier of tune region where the tunnel is running */
1568
1926
  region: string;
1569
1927
  /** reference object pointing to the tunnel session on which this tunnel was started */
1570
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;
1571
1937
  }
1572
1938
 
1573
1939
  export interface TunnelList {