@ngrok/ngrok-api 0.2.0 → 0.8.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 (244) hide show
  1. package/README.md +0 -28
  2. package/docs/CNAME +1 -0
  3. package/docs/assets/js/search.js +1 -1
  4. package/docs/classes/client.Ngrok.html +204 -119
  5. package/docs/classes/services.APIKeys.html +6 -105
  6. package/docs/classes/services.AbuseReports.html +3 -102
  7. package/docs/classes/{services.IPWhitelist.html → services.AgentIngresses.html} +41 -148
  8. package/docs/classes/services.CertificateAuthorities.html +6 -105
  9. package/docs/classes/services.Credentials.html +6 -105
  10. package/docs/classes/services.EdgeRouteBackendModule.html +270 -0
  11. package/docs/classes/services.EdgeRouteCircuitBreakerModule.html +270 -0
  12. package/docs/classes/services.EdgeRouteCompressionModule.html +270 -0
  13. package/docs/classes/services.EdgeRouteIPRestrictionModule.html +270 -0
  14. package/docs/classes/services.EdgeRouteOAuthModule.html +270 -0
  15. package/docs/classes/services.EdgeRouteOIDCModule.html +270 -0
  16. package/docs/classes/{services.EndpointResponseHeadersModule.html → services.EdgeRouteRequestHeadersModule.html} +28 -127
  17. package/docs/classes/services.EdgeRouteResponseHeadersModule.html +270 -0
  18. package/docs/classes/services.EdgeRouteSAMLModule.html +270 -0
  19. package/docs/classes/services.EdgeRouteWebhookVerificationModule.html +270 -0
  20. package/docs/classes/services.EdgeRouteWebsocketTCPConverterModule.html +270 -0
  21. package/docs/classes/services.EdgesHTTPS.html +343 -0
  22. package/docs/classes/services.EdgesHTTPSRoutes.html +317 -0
  23. package/docs/classes/services.EdgesTCP.html +343 -0
  24. package/docs/classes/services.EdgesTLS.html +343 -0
  25. package/docs/classes/services.Endpoints.html +256 -0
  26. package/docs/classes/services.EventDestinations.html +7 -106
  27. package/docs/classes/services.EventSources.html +6 -105
  28. package/docs/classes/services.EventSubscriptions.html +6 -105
  29. package/docs/classes/{services.EventStreams.html → services.FailoverBackends.html} +51 -140
  30. package/docs/classes/services.HTTPResponseBackends.html +318 -0
  31. package/docs/classes/{services.EndpointMutualTLSModule.html → services.HTTPSEdgeMutualTLSModule.html} +22 -121
  32. package/docs/classes/{services.EndpointTLSTerminationModule.html → services.HTTPSEdgeTLSTerminationModule.html} +22 -121
  33. package/docs/classes/services.IPPolicies.html +6 -105
  34. package/docs/classes/services.IPPolicyRules.html +6 -105
  35. package/docs/classes/services.IPRestrictions.html +7 -106
  36. package/docs/classes/services.ReservedAddrs.html +6 -137
  37. package/docs/classes/services.ReservedDomains.html +8 -171
  38. package/docs/classes/services.SSHCertificateAuthorities.html +6 -105
  39. package/docs/classes/services.SSHCredentials.html +6 -105
  40. package/docs/classes/services.SSHHostCertificates.html +6 -105
  41. package/docs/classes/services.SSHUserCertificates.html +6 -105
  42. package/docs/classes/{services.EndpointSAMLModule.html → services.TCPEdgeBackendModule.html} +25 -124
  43. package/docs/classes/{services.EndpointIPPolicyModule.html → services.TCPEdgeIPRestrictionModule.html} +22 -121
  44. package/docs/classes/services.TLSCertificates.html +6 -105
  45. package/docs/classes/{services.EndpointLoggingModule.html → services.TLSEdgeBackendModule.html} +25 -124
  46. package/docs/classes/{services.EndpointOIDCModule.html → services.TLSEdgeIPRestrictionModule.html} +25 -124
  47. package/docs/classes/{services.EndpointOAuthModule.html → services.TLSEdgeMutualTLSModule.html} +25 -124
  48. package/docs/classes/services.TLSEdgeTLSTerminationModule.html +270 -0
  49. package/docs/classes/services.TunnelGroupBackends.html +351 -0
  50. package/docs/classes/services.TunnelSessions.html +6 -105
  51. package/docs/classes/services.Tunnels.html +34 -101
  52. package/docs/classes/services.WeightedBackends.html +353 -0
  53. package/docs/index.html +0 -27
  54. package/docs/interfaces/client.NgrokConfig.html +2 -2
  55. package/docs/interfaces/datatypes.APIKey.html +6 -6
  56. package/docs/interfaces/datatypes.APIKeyCreate.html +2 -2
  57. package/docs/interfaces/datatypes.APIKeyList.html +3 -3
  58. package/docs/interfaces/datatypes.APIKeyUpdate.html +3 -3
  59. package/docs/interfaces/datatypes.AWSAuth.html +2 -2
  60. package/docs/interfaces/datatypes.AWSCredentials.html +2 -2
  61. package/docs/interfaces/datatypes.AWSRole.html +1 -1
  62. package/docs/interfaces/datatypes.AbuseReport.html +7 -7
  63. package/docs/interfaces/datatypes.AbuseReportCreate.html +2 -2
  64. package/docs/interfaces/datatypes.AbuseReportHostname.html +2 -2
  65. package/docs/interfaces/{datatypes.EventStream.html → datatypes.AgentIngress.html} +52 -71
  66. package/docs/interfaces/datatypes.AgentIngressCreate.html +205 -0
  67. package/docs/interfaces/datatypes.AgentIngressList.html +205 -0
  68. package/docs/interfaces/{datatypes.IPWhitelistEntryUpdate.html → datatypes.AgentIngressUpdate.html} +16 -16
  69. package/docs/interfaces/datatypes.CertificateAuthority.html +11 -11
  70. package/docs/interfaces/datatypes.CertificateAuthorityCreate.html +3 -3
  71. package/docs/interfaces/datatypes.CertificateAuthorityList.html +3 -3
  72. package/docs/interfaces/datatypes.CertificateAuthorityUpdate.html +3 -3
  73. package/docs/interfaces/datatypes.Credential.html +7 -7
  74. package/docs/interfaces/datatypes.CredentialCreate.html +3 -3
  75. package/docs/interfaces/datatypes.CredentialList.html +3 -3
  76. package/docs/interfaces/datatypes.CredentialUpdate.html +4 -4
  77. package/docs/interfaces/{datatypes.EndpointCircuitBreakerReplace.html → datatypes.EdgeBackendReplace.html} +12 -12
  78. package/docs/interfaces/{datatypes.EndpointIPPolicyReplace.html → datatypes.EdgeIPRestrictionReplace.html} +11 -11
  79. package/docs/interfaces/{datatypes.EndpointMutualTLSReplace.html → datatypes.EdgeMutualTLSReplace.html} +11 -11
  80. package/docs/interfaces/datatypes.EdgeRouteBackendReplace.html +190 -0
  81. package/docs/interfaces/datatypes.EdgeRouteCircuitBreakerReplace.html +190 -0
  82. package/docs/interfaces/{datatypes.EndpointCompressionReplace.html → datatypes.EdgeRouteCompressionReplace.html} +25 -11
  83. package/docs/interfaces/datatypes.EdgeRouteIPRestrictionReplace.html +190 -0
  84. package/docs/interfaces/{datatypes.ReservedDomainCertNSTarget.html → datatypes.EdgeRouteItem.html} +19 -19
  85. package/docs/interfaces/{datatypes.EndpointOAuthReplace.html → datatypes.EdgeRouteOAuthReplace.html} +25 -11
  86. package/docs/interfaces/datatypes.EdgeRouteOIDCReplace.html +190 -0
  87. package/docs/interfaces/{datatypes.EndpointRequestHeadersReplace.html → datatypes.EdgeRouteRequestHeadersReplace.html} +25 -11
  88. package/docs/interfaces/datatypes.EdgeRouteResponseHeadersReplace.html +190 -0
  89. package/docs/interfaces/{datatypes.EndpointSAMLReplace.html → datatypes.EdgeRouteSAMLReplace.html} +25 -11
  90. package/docs/interfaces/{datatypes.EndpointWebhookValidationReplace.html → datatypes.EdgeRouteWebhookVerificationReplace.html} +25 -11
  91. package/docs/interfaces/datatypes.EdgeRouteWebsocketTCPConverterReplace.html +190 -0
  92. package/docs/interfaces/{datatypes.EndpointResponseHeadersReplace.html → datatypes.EdgeTLSTerminationAtEdgeReplace.html} +12 -12
  93. package/docs/interfaces/{datatypes.EndpointTLSTerminationReplace.html → datatypes.EdgeTLSTerminationReplace.html} +11 -11
  94. package/docs/interfaces/datatypes.Endpoint.html +395 -0
  95. package/docs/interfaces/{datatypes.EndpointLogging.html → datatypes.EndpointBackend.html} +19 -19
  96. package/docs/interfaces/{datatypes.EndpointLoggingMutate.html → datatypes.EndpointBackendMutate.html} +19 -19
  97. package/docs/interfaces/datatypes.EndpointCircuitBreaker.html +6 -6
  98. package/docs/interfaces/datatypes.EndpointCompression.html +1 -1
  99. package/docs/interfaces/datatypes.EndpointIPPolicy.html +2 -2
  100. package/docs/interfaces/datatypes.EndpointIPPolicyMutate.html +2 -2
  101. package/docs/interfaces/{datatypes.EndpointConfigurationList.html → datatypes.EndpointList.html} +19 -19
  102. package/docs/interfaces/datatypes.EndpointMutualTLS.html +2 -2
  103. package/docs/interfaces/datatypes.EndpointMutualTLSMutate.html +2 -2
  104. package/docs/interfaces/datatypes.EndpointOAuth.html +7 -7
  105. package/docs/interfaces/datatypes.EndpointOAuthFacebook.html +5 -5
  106. package/docs/interfaces/datatypes.EndpointOAuthGitHub.html +7 -7
  107. package/docs/interfaces/datatypes.EndpointOAuthGoogle.html +5 -5
  108. package/docs/interfaces/datatypes.EndpointOAuthMicrosoft.html +5 -5
  109. package/docs/interfaces/datatypes.EndpointOAuthProvider.html +4 -4
  110. package/docs/interfaces/datatypes.EndpointOIDC.html +9 -9
  111. package/docs/interfaces/datatypes.EndpointRequestHeaders.html +3 -3
  112. package/docs/interfaces/datatypes.EndpointResponseHeaders.html +3 -3
  113. package/docs/interfaces/datatypes.EndpointSAML.html +33 -14
  114. package/docs/interfaces/datatypes.EndpointSAMLMutate.html +28 -9
  115. package/docs/interfaces/datatypes.EndpointTLSTermination.html +3 -3
  116. package/docs/interfaces/datatypes.EndpointTLSTerminationAtEdge.html +186 -0
  117. package/docs/interfaces/datatypes.EndpointWebhookValidation.html +4 -4
  118. package/docs/interfaces/{datatypes.EndpointOIDCReplace.html → datatypes.EndpointWebsocketTCPConverter.html} +16 -25
  119. package/docs/interfaces/datatypes.Error.html +4 -4
  120. package/docs/interfaces/datatypes.EventDestination.html +7 -7
  121. package/docs/interfaces/datatypes.EventDestinationCreate.html +4 -4
  122. package/docs/interfaces/datatypes.EventDestinationList.html +3 -3
  123. package/docs/interfaces/datatypes.EventDestinationUpdate.html +5 -5
  124. package/docs/interfaces/datatypes.EventSource.html +2 -2
  125. package/docs/interfaces/datatypes.EventSourceCreate.html +2 -2
  126. package/docs/interfaces/datatypes.EventSourceItem.html +2 -2
  127. package/docs/interfaces/datatypes.EventSourceList.html +2 -2
  128. package/docs/interfaces/datatypes.EventSourcePaging.html +1 -1
  129. package/docs/interfaces/datatypes.EventSourceReplace.html +1 -1
  130. package/docs/interfaces/datatypes.EventSourceUpdate.html +2 -2
  131. package/docs/interfaces/datatypes.EventSubscription.html +7 -7
  132. package/docs/interfaces/datatypes.EventSubscriptionCreate.html +5 -5
  133. package/docs/interfaces/datatypes.EventSubscriptionList.html +3 -3
  134. package/docs/interfaces/datatypes.EventSubscriptionUpdate.html +6 -6
  135. package/docs/interfaces/datatypes.EventTarget.html +3 -3
  136. package/docs/interfaces/datatypes.EventTargetCloudwatchLogs.html +2 -2
  137. package/docs/interfaces/datatypes.EventTargetFirehose.html +2 -2
  138. package/docs/interfaces/datatypes.EventTargetKinesis.html +2 -2
  139. package/docs/interfaces/{datatypes.IPWhitelistEntry.html → datatypes.FailoverBackend.html} +41 -41
  140. package/docs/interfaces/{datatypes.IPWhitelistEntryCreate.html → datatypes.FailoverBackendCreate.html} +23 -23
  141. package/docs/interfaces/datatypes.FailoverBackendList.html +205 -0
  142. package/docs/interfaces/datatypes.FailoverBackendUpdate.html +219 -0
  143. package/docs/interfaces/datatypes.HTTPResponseBackend.html +295 -0
  144. package/docs/interfaces/datatypes.HTTPResponseBackendCreate.html +243 -0
  145. package/docs/interfaces/datatypes.HTTPResponseBackendList.html +190 -0
  146. package/docs/interfaces/datatypes.HTTPResponseBackendUpdate.html +257 -0
  147. package/docs/interfaces/datatypes.HTTPSEdge.html +314 -0
  148. package/docs/interfaces/datatypes.HTTPSEdgeCreate.html +238 -0
  149. package/docs/interfaces/datatypes.HTTPSEdgeList.html +205 -0
  150. package/docs/interfaces/{datatypes.EndpointConfigurationUpdate.html → datatypes.HTTPSEdgeRoute.html} +154 -78
  151. package/docs/interfaces/{datatypes.EndpointConfigurationCreate.html → datatypes.HTTPSEdgeRouteCreate.html} +108 -89
  152. package/docs/interfaces/{datatypes.EndpointConfiguration.html → datatypes.HTTPSEdgeRouteUpdate.html} +104 -123
  153. package/docs/interfaces/datatypes.HTTPSEdgeUpdate.html +257 -0
  154. package/docs/interfaces/datatypes.IPPolicy.html +5 -24
  155. package/docs/interfaces/datatypes.IPPolicyCreate.html +2 -21
  156. package/docs/interfaces/datatypes.IPPolicyList.html +3 -3
  157. package/docs/interfaces/datatypes.IPPolicyRule.html +26 -7
  158. package/docs/interfaces/datatypes.IPPolicyRuleCreate.html +23 -4
  159. package/docs/interfaces/datatypes.IPPolicyRuleList.html +3 -3
  160. package/docs/interfaces/datatypes.IPPolicyRuleUpdate.html +4 -4
  161. package/docs/interfaces/datatypes.IPPolicyUpdate.html +3 -3
  162. package/docs/interfaces/datatypes.IPRestriction.html +8 -8
  163. package/docs/interfaces/datatypes.IPRestrictionCreate.html +5 -5
  164. package/docs/interfaces/datatypes.IPRestrictionList.html +3 -3
  165. package/docs/interfaces/datatypes.IPRestrictionUpdate.html +5 -5
  166. package/docs/interfaces/datatypes.Item.html +1 -1
  167. package/docs/interfaces/datatypes.Paging.html +2 -2
  168. package/docs/interfaces/datatypes.Ref.html +2 -2
  169. package/docs/interfaces/datatypes.ReservedAddr.html +7 -26
  170. package/docs/interfaces/datatypes.ReservedAddrCreate.html +3 -22
  171. package/docs/interfaces/datatypes.ReservedAddrList.html +3 -3
  172. package/docs/interfaces/datatypes.ReservedAddrUpdate.html +3 -22
  173. package/docs/interfaces/datatypes.ReservedDomain.html +30 -49
  174. package/docs/interfaces/datatypes.ReservedDomainCertJob.html +4 -23
  175. package/docs/interfaces/datatypes.ReservedDomainCertPolicy.html +2 -2
  176. package/docs/interfaces/datatypes.ReservedDomainCertStatus.html +2 -2
  177. package/docs/interfaces/datatypes.ReservedDomainCreate.html +6 -44
  178. package/docs/interfaces/datatypes.ReservedDomainList.html +3 -3
  179. package/docs/interfaces/datatypes.ReservedDomainUpdate.html +5 -43
  180. package/docs/interfaces/datatypes.SSHCertificateAuthority.html +7 -7
  181. package/docs/interfaces/datatypes.SSHCertificateAuthorityCreate.html +5 -5
  182. package/docs/interfaces/datatypes.SSHCertificateAuthorityList.html +3 -3
  183. package/docs/interfaces/datatypes.SSHCertificateAuthorityUpdate.html +3 -3
  184. package/docs/interfaces/datatypes.SSHCredential.html +7 -7
  185. package/docs/interfaces/datatypes.SSHCredentialCreate.html +4 -4
  186. package/docs/interfaces/datatypes.SSHCredentialList.html +3 -3
  187. package/docs/interfaces/datatypes.SSHCredentialUpdate.html +4 -4
  188. package/docs/interfaces/datatypes.SSHHostCertificate.html +12 -12
  189. package/docs/interfaces/datatypes.SSHHostCertificateCreate.html +7 -7
  190. package/docs/interfaces/datatypes.SSHHostCertificateList.html +3 -3
  191. package/docs/interfaces/datatypes.SSHHostCertificateUpdate.html +3 -3
  192. package/docs/interfaces/datatypes.SSHUserCertificate.html +14 -14
  193. package/docs/interfaces/datatypes.SSHUserCertificateCreate.html +9 -9
  194. package/docs/interfaces/datatypes.SSHUserCertificateList.html +3 -3
  195. package/docs/interfaces/datatypes.SSHUserCertificateUpdate.html +3 -3
  196. package/docs/interfaces/datatypes.TCPEdge.html +295 -0
  197. package/docs/interfaces/datatypes.TCPEdgeCreate.html +238 -0
  198. package/docs/interfaces/{datatypes.IPWhitelistEntryList.html → datatypes.TCPEdgeList.html} +22 -22
  199. package/docs/interfaces/{datatypes.EventStreamUpdate.html → datatypes.TCPEdgeUpdate.html} +43 -48
  200. package/docs/interfaces/datatypes.TLSCertificate.html +21 -21
  201. package/docs/interfaces/datatypes.TLSCertificateCreate.html +4 -4
  202. package/docs/interfaces/datatypes.TLSCertificateList.html +3 -3
  203. package/docs/interfaces/datatypes.TLSCertificateSANs.html +2 -2
  204. package/docs/interfaces/datatypes.TLSCertificateUpdate.html +3 -3
  205. package/docs/interfaces/datatypes.TLSEdge.html +323 -0
  206. package/docs/interfaces/datatypes.TLSEdgeCreate.html +266 -0
  207. package/docs/interfaces/{datatypes.EventStreamList.html → datatypes.TLSEdgeList.html} +23 -23
  208. package/docs/interfaces/datatypes.TLSEdgeUpdate.html +285 -0
  209. package/docs/interfaces/datatypes.Tunnel.html +85 -9
  210. package/docs/interfaces/datatypes.TunnelGroupBackend.html +281 -0
  211. package/docs/interfaces/datatypes.TunnelGroupBackendCreate.html +205 -0
  212. package/docs/interfaces/datatypes.TunnelGroupBackendList.html +205 -0
  213. package/docs/interfaces/datatypes.TunnelGroupBackendUpdate.html +219 -0
  214. package/docs/interfaces/datatypes.TunnelList.html +3 -3
  215. package/docs/interfaces/datatypes.TunnelSession.html +10 -10
  216. package/docs/interfaces/datatypes.TunnelSessionList.html +3 -3
  217. package/docs/interfaces/datatypes.TunnelSessionsUpdate.html +1 -1
  218. package/docs/interfaces/{datatypes.EventStreamCreate.html → datatypes.WeightedBackend.html} +44 -44
  219. package/docs/interfaces/datatypes.WeightedBackendCreate.html +205 -0
  220. package/docs/interfaces/datatypes.WeightedBackendList.html +205 -0
  221. package/docs/interfaces/datatypes.WeightedBackendUpdate.html +219 -0
  222. package/docs/modules/datatypes.html +213 -89
  223. package/docs/modules/services.html +89 -33
  224. package/lib/client.d.ts +54 -24
  225. package/lib/client.d.ts.map +1 -1
  226. package/lib/client.js +45 -22
  227. package/lib/client.js.map +1 -1
  228. package/lib/datatypes.d.ts +617 -281
  229. package/lib/datatypes.d.ts.map +1 -1
  230. package/lib/services.d.ts +385 -169
  231. package/lib/services.d.ts.map +1 -1
  232. package/lib/services.js +1432 -597
  233. package/lib/services.js.map +1 -1
  234. package/package.json +2 -2
  235. package/src/client.ts +98 -45
  236. package/src/datatypes.ts +669 -302
  237. package/src/services.ts +1426 -610
  238. package/docs/classes/services.EndpointCircuitBreakerModule.html +0 -369
  239. package/docs/classes/services.EndpointCompressionModule.html +0 -369
  240. package/docs/classes/services.EndpointConfigurations.html +0 -451
  241. package/docs/classes/services.EndpointRequestHeadersModule.html +0 -369
  242. package/docs/classes/services.EndpointWebhookValidationModule.html +0 -369
  243. package/docs/interfaces/datatypes.EndpointLoggingReplace.html +0 -176
  244. package/test/endpointConfigurations.test.js +0 -67
package/src/datatypes.ts CHANGED
@@ -55,6 +55,51 @@ export interface AbuseReportCreate {
55
55
  metadata: string;
56
56
  }
57
57
 
58
+ export interface AgentIngressCreate {
59
+ /** human-readable description of the use of this Agent Ingress. optional, max 255 bytes. */
60
+ description: string;
61
+ /** arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes */
62
+ metadata: string;
63
+ /** the domain that you own to be used as the base domain name to generate regional agent ingress domains. */
64
+ domain: string;
65
+ }
66
+
67
+ export interface AgentIngressUpdate {
68
+ id: string;
69
+ /** human-readable description of the use of this Agent Ingress. optional, max 255 bytes. */
70
+ description?: string;
71
+ /** arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes */
72
+ metadata?: string;
73
+ }
74
+
75
+ export interface AgentIngress {
76
+ /** unique Agent Ingress resource identifier */
77
+ id: string;
78
+ /** URI to the API resource of this Agent ingress */
79
+ uri: string;
80
+ /** human-readable description of the use of this Agent Ingress. optional, max 255 bytes. */
81
+ description: string;
82
+ /** arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes */
83
+ metadata: string;
84
+ /** the domain that you own to be used as the base domain name to generate regional agent ingress domains. */
85
+ domain: string;
86
+ /** a list of target values to use as the values of NS records for the domain property these values will delegate control over the domain to ngrok */
87
+ nsTargets: Array<string>;
88
+ /** a list of regional agent ingress domains that are subdomains of the value of domain this value may increase over time as ngrok adds more regions */
89
+ regionDomains: Array<string>;
90
+ /** timestamp when the Agent Ingress was created, RFC 3339 format */
91
+ createdAt: string;
92
+ }
93
+
94
+ export interface AgentIngressList {
95
+ /** the list of Agent Ingresses owned by this account */
96
+ ingresses: Array<AgentIngress>;
97
+ /** URI of the Agent Ingress list API resource */
98
+ uri: string;
99
+ /** URI of the next page, or null if there is no next page */
100
+ nextPageUri?: string;
101
+ }
102
+
58
103
  export interface APIKeyCreate {
59
104
  /** human-readable description of what uses the API key to authenticate. optional, max 255 bytes. */
60
105
  description: string;
@@ -94,6 +139,188 @@ export interface APIKeyList {
94
139
  nextPageUri?: string;
95
140
  }
96
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
+
97
324
  export interface CertificateAuthorityCreate {
98
325
  /** human-readable description of this Certificate Authority. optional, max 255 bytes. */
99
326
  description: string;
@@ -190,124 +417,10 @@ export interface CredentialList {
190
417
  nextPageUri?: string;
191
418
  }
192
419
 
193
- export interface EndpointConfiguration {
194
- /** unique identifier of this endpoint configuration */
195
- id: string;
196
- /** they type of traffic this endpoint configuration can be applied to. one of: `http`, `https`, `tcp` */
197
- type: string;
198
- /** 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 */
199
- description: string;
200
- /** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
201
- metadata: string;
202
- /** timestamp when the endpoint configuration was created, RFC 3339 format */
203
- createdAt: string;
204
- /** URI of the endpoint configuration API resource */
205
- uri: string;
206
- /** circuit breaker module configuration or `null` */
207
- circuitBreaker?: EndpointCircuitBreaker;
208
- /** compression module configuration or `null` */
209
- compression?: EndpointCompression;
210
- /** request headers module configuration or `null` */
211
- requestHeaders?: EndpointRequestHeaders;
212
- /** response headers module configuration or `null` */
213
- responseHeaders?: EndpointResponseHeaders;
214
- /** ip policy module configuration or `null` */
215
- ipPolicy?: EndpointIPPolicy;
216
- /** mutual TLS module configuration or `null` */
217
- mutualTls?: EndpointMutualTLS;
218
- /** TLS termination module configuration or `null` */
219
- tlsTermination?: EndpointTLSTermination;
220
- /** webhook validation module configuration or `null` */
221
- webhookValidation?: EndpointWebhookValidation;
222
- /** oauth module configuration or `null` */
223
- oauth?: EndpointOAuth;
224
- /** logging module configuration or `null` */
225
- logging?: EndpointLogging;
226
- /** saml module configuration or `null` */
227
- saml?: EndpointSAML;
228
- /** oidc module configuration or `null` */
229
- oidc?: EndpointOIDC;
230
- }
231
-
232
- export interface EndpointConfigurationList {
233
- /** the list of all endpoint configurations on this account */
234
- endpointConfigurations: Array<EndpointConfiguration>;
235
- /** URI of the endpoint configurations list API resource */
236
- uri: string;
237
- /** URI of the next page, or null if there is no next page */
238
- nextPageUri?: string;
239
- }
240
-
241
- export interface EndpointConfigurationUpdate {
242
- /** unique identifier of this endpoint configuration */
243
- id: string;
244
- /** 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 */
245
- description?: string;
246
- /** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
247
- metadata?: string;
248
- /** circuit breaker module configuration or `null` */
249
- circuitBreaker?: EndpointCircuitBreaker;
250
- /** compression module configuration or `null` */
251
- compression?: EndpointCompression;
252
- /** request headers module configuration or `null` */
253
- requestHeaders?: EndpointRequestHeaders;
254
- /** response headers module configuration or `null` */
255
- responseHeaders?: EndpointResponseHeaders;
256
- /** ip policy module configuration or `null` */
257
- ipPolicy?: EndpointIPPolicyMutate;
258
- /** mutual TLS module configuration or `null` */
259
- mutualTls?: EndpointMutualTLSMutate;
260
- /** TLS termination module configuration or `null` */
261
- tlsTermination?: EndpointTLSTermination;
262
- /** webhook validation module configuration or `null` */
263
- webhookValidation?: EndpointWebhookValidation;
264
- /** oauth module configuration or `null` */
265
- oauth?: EndpointOAuth;
266
- /** logging module configuration or `null` */
267
- logging?: EndpointLoggingMutate;
268
- /** saml module configuration or `null` */
269
- saml?: EndpointSAMLMutate;
270
- /** oidc module configuration or `null` */
271
- oidc?: EndpointOIDC;
272
- }
273
-
274
- export interface EndpointConfigurationCreate {
275
- /** they type of traffic this endpoint configuration can be applied to. one of: `http`, `https`, `tcp` */
276
- type: string;
277
- /** 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 */
278
- description: string;
279
- /** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
280
- metadata: string;
281
- /** circuit breaker module configuration or `null` */
282
- circuitBreaker?: EndpointCircuitBreaker;
283
- /** compression module configuration or `null` */
284
- compression?: EndpointCompression;
285
- /** request headers module configuration or `null` */
286
- requestHeaders?: EndpointRequestHeaders;
287
- /** response headers module configuration or `null` */
288
- responseHeaders?: EndpointResponseHeaders;
289
- /** ip policy module configuration or `null` */
290
- ipPolicy?: EndpointIPPolicyMutate;
291
- /** mutual TLS module configuration or `null` */
292
- mutualTls?: EndpointMutualTLSMutate;
293
- /** TLS termination module configuration or `null` */
294
- tlsTermination?: EndpointTLSTermination;
295
- /** webhook validation module configuration or `null` */
296
- webhookValidation?: EndpointWebhookValidation;
297
- /** oauth module configuration or `null` */
298
- oauth?: EndpointOAuth;
299
- /** logging module configuration or `null` */
300
- logging?: EndpointLoggingMutate;
301
- /** saml module configuration or `null` */
302
- saml?: EndpointSAMLMutate;
303
- /** oidc module configuration or `null` */
304
- oidc?: EndpointOIDC;
305
- }
306
-
307
420
  export interface EndpointWebhookValidation {
308
421
  /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
309
422
  enabled?: boolean;
310
- /** a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers: `SLACK`, `SNS`, `STRIPE`, `GITHUB`, `TWILIO`, `SHOPIFY`, `GITLAB`, `INTERCOM`. */
423
+ /** a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers: `SLACK`, `SNS`, `STRIPE`, `GITHUB`, `TWILIO`, `SHOPIFY`, `GITLAB`, `INTERCOM`, `SENDGRID`, `XERO`, `PAGERDUTY`. */
311
424
  provider: string;
312
425
  /** a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret */
313
426
  secret: string;
@@ -341,18 +454,11 @@ export interface EndpointTLSTermination {
341
454
  minVersion?: string;
342
455
  }
343
456
 
344
- export interface EndpointLogging {
345
- /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
346
- enabled?: boolean;
347
- /** list of all EventStreams that will be used to configure and export this endpoint's logs */
348
- eventStreams: Array<Ref>;
349
- }
350
-
351
- export interface EndpointLoggingMutate {
457
+ export interface EndpointTLSTerminationAtEdge {
352
458
  /** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
353
459
  enabled?: boolean;
354
- /** list of all EventStreams that will be used to configure and export this endpoint's logs */
355
- 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;
356
462
  }
357
463
 
358
464
  export interface EndpointRequestHeaders {
@@ -514,6 +620,8 @@ export interface EndpointSAML {
514
620
  requestSigningCertificatePem: string;
515
621
  /** A public URL where the SP's metadata is hosted. If an IdP supports dynamic configuration, this is the URL it can use to retrieve the SP metadata. */
516
622
  metadataUrl: string;
623
+ /** Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent` will be used. A subset of the allowed values enumerated by the SAML specification are supported. */
624
+ nameidFormat: string;
517
625
  }
518
626
 
519
627
  export interface EndpointSAMLMutate {
@@ -535,6 +643,8 @@ export interface EndpointSAMLMutate {
535
643
  allowIdpInitiated?: boolean;
536
644
  /** If present, only users who are a member of one of the listed groups may access the target endpoint. */
537
645
  authorizedGroups: Array<string>;
646
+ /** Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent` will be used. A subset of the allowed values enumerated by the SAML specification are supported. */
647
+ nameidFormat: string;
538
648
  }
539
649
 
540
650
  export interface EndpointOIDC {
@@ -558,64 +668,439 @@ export interface EndpointOIDC {
558
668
  scopes: Array<string>;
559
669
  }
560
670
 
561
- export interface EventStreamCreate {
562
- /** 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. */
563
707
  metadata: string;
564
- /** 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. */
565
742
  description: string;
566
- /** A list of protocol-specific fields you want to collect on each event. */
567
- fields: Array<string>;
568
- /** The protocol that determines which events will be collected. Supported values are `tcp_connection_closed` and `http_request_complete`. */
569
- eventType: string;
570
- /** 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. */
571
- destinationIds: Array<string>;
572
- /** 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. */
573
- 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;
574
829
  }
575
830
 
576
- export interface EventStreamUpdate {
577
- /** Unique identifier for this Event Stream. */
831
+ export interface HTTPSEdgeUpdate {
832
+ /** unique identifier of this edge */
578
833
  id: string;
579
- /** 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. */
580
837
  metadata?: string;
581
- /** 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. */
582
981
  description?: string;
583
- /** A list of protocol-specific fields you want to collect on each event. */
584
- fields?: Array<string>;
585
- /** 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. */
586
- destinationIds?: Array<string>;
587
- /** 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. */
588
- 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;
589
989
  }
590
990
 
591
- export interface EventStreamList {
592
- /** The list of all Event Streams on this account. */
593
- eventStreams: Array<EventStream>;
594
- /** 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 */
595
1001
  uri: string;
596
- /** 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 */
597
1015
  nextPageUri?: string;
598
1016
  }
599
1017
 
600
- export interface EventStream {
601
- /** 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 */
1034
+ id: string;
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 */
602
1050
  id: string;
603
- /** URI of the Event Stream API resource. */
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 */
604
1058
  uri: string;
605
- /** 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 */
606
1074
  createdAt: string;
607
- /** 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 */
608
1086
  metadata: string;
609
- /** Human-readable description of the Event Stream. Optional, max 255 bytes. */
610
- description: string;
611
- /** A list of protocol-specific fields you want to collect on each event. */
612
- fields: Array<string>;
613
- /** The protocol that determines which events will be collected. Supported values are `tcp_connection_closed` and `http_request_complete`. */
614
- eventType: string;
615
- /** 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. */
616
- destinationIds: Array<string>;
617
- /** 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. */
618
- 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;
619
1104
  }
620
1105
 
621
1106
  export interface EventDestinationCreate {
@@ -724,7 +1209,7 @@ export interface EventSubscriptionCreate {
724
1209
  description: string;
725
1210
  /** Sources containing the types for which this event subscription will trigger */
726
1211
  sources: Array<EventSourceReplace>;
727
- /** 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. */
728
1213
  destinationIds: Array<string>;
729
1214
  }
730
1215
 
@@ -737,7 +1222,7 @@ export interface EventSubscriptionUpdate {
737
1222
  description?: string;
738
1223
  /** Sources containing the types for which this event subscription will trigger */
739
1224
  sources?: Array<EventSourceReplace>;
740
- /** 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. */
741
1226
  destinationIds?: Array<string>;
742
1227
  }
743
1228
 
@@ -819,8 +1304,6 @@ export interface IPPolicyCreate {
819
1304
  description: string;
820
1305
  /** arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. */
821
1306
  metadata: string;
822
- /** the IP policy action. Supported values are `allow` or `deny` */
823
- action: string;
824
1307
  }
825
1308
 
826
1309
  export interface IPPolicyUpdate {
@@ -842,8 +1325,6 @@ export interface IPPolicy {
842
1325
  description: string;
843
1326
  /** arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. */
844
1327
  metadata: string;
845
- /** the IP policy action. Supported values are `allow` or `deny` */
846
- action: string;
847
1328
  }
848
1329
 
849
1330
  export interface IPPolicyList {
@@ -864,6 +1345,8 @@ export interface IPPolicyRuleCreate {
864
1345
  cidr: string;
865
1346
  /** ID of the IP policy this IP policy rule will be attached to */
866
1347
  ipPolicyId: string;
1348
+ /** the action to apply to the policy rule, either `allow` or `deny` */
1349
+ action?: string;
867
1350
  }
868
1351
 
869
1352
  export interface IPPolicyRuleUpdate {
@@ -891,6 +1374,8 @@ export interface IPPolicyRule {
891
1374
  cidr: string;
892
1375
  /** object describing the IP policy this IP Policy Rule belongs to */
893
1376
  ipPolicy: Ref;
1377
+ /** the action to apply to the policy rule, either `allow` or `deny` */
1378
+ action: string;
894
1379
  }
895
1380
 
896
1381
  export interface IPPolicyRuleList {
@@ -955,107 +1440,6 @@ export interface IPRestrictionList {
955
1440
  nextPageUri?: string;
956
1441
  }
957
1442
 
958
- export interface IPWhitelistEntryCreate {
959
- /** human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes. */
960
- description: string;
961
- /** arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes. */
962
- metadata: string;
963
- /** an IP address or IP network range in CIDR notation (e.g. 10.1.1.1 or 10.1.0.0/16) of addresses that will be whitelisted to communicate with your tunnel endpoints */
964
- ipNet: string;
965
- }
966
-
967
- export interface IPWhitelistEntryUpdate {
968
- id: string;
969
- /** human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes. */
970
- description?: string;
971
- /** arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes. */
972
- metadata?: string;
973
- }
974
-
975
- export interface IPWhitelistEntry {
976
- /** unique identifier for this IP whitelist entry */
977
- id: string;
978
- /** URI of the IP whitelist entry API resource */
979
- uri: string;
980
- /** timestamp when the IP whitelist entry was created, RFC 3339 format */
981
- createdAt: string;
982
- /** human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes. */
983
- description: string;
984
- /** arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes. */
985
- metadata: string;
986
- /** an IP address or IP network range in CIDR notation (e.g. 10.1.1.1 or 10.1.0.0/16) of addresses that will be whitelisted to communicate with your tunnel endpoints */
987
- ipNet: string;
988
- }
989
-
990
- export interface IPWhitelistEntryList {
991
- /** the list of all IP whitelist entries on this account */
992
- whitelist: Array<IPWhitelistEntry>;
993
- /** URI of the IP whitelist API resource */
994
- uri: string;
995
- /** URI of the next page, or null if there is no next page */
996
- nextPageUri?: string;
997
- }
998
-
999
- export interface EndpointLoggingReplace {
1000
- id: string;
1001
- module: EndpointLoggingMutate;
1002
- }
1003
-
1004
- export interface EndpointCircuitBreakerReplace {
1005
- id: string;
1006
- module: EndpointCircuitBreaker;
1007
- }
1008
-
1009
- export interface EndpointCompressionReplace {
1010
- id: string;
1011
- module: EndpointCompression;
1012
- }
1013
-
1014
- export interface EndpointTLSTerminationReplace {
1015
- id: string;
1016
- module: EndpointTLSTermination;
1017
- }
1018
-
1019
- export interface EndpointIPPolicyReplace {
1020
- id: string;
1021
- module: EndpointIPPolicyMutate;
1022
- }
1023
-
1024
- export interface EndpointMutualTLSReplace {
1025
- id: string;
1026
- module: EndpointMutualTLSMutate;
1027
- }
1028
-
1029
- export interface EndpointRequestHeadersReplace {
1030
- id: string;
1031
- module: EndpointRequestHeaders;
1032
- }
1033
-
1034
- export interface EndpointResponseHeadersReplace {
1035
- id: string;
1036
- module: EndpointResponseHeaders;
1037
- }
1038
-
1039
- export interface EndpointOAuthReplace {
1040
- id: string;
1041
- module: EndpointOAuth;
1042
- }
1043
-
1044
- export interface EndpointWebhookValidationReplace {
1045
- id: string;
1046
- module: EndpointWebhookValidation;
1047
- }
1048
-
1049
- export interface EndpointSAMLReplace {
1050
- id: string;
1051
- module: EndpointSAMLMutate;
1052
- }
1053
-
1054
- export interface EndpointOIDCReplace {
1055
- id: string;
1056
- module: EndpointOIDC;
1057
- }
1058
-
1059
1443
  export interface ReservedAddrCreate {
1060
1444
  /** human-readable description of what this reserved address will be used for */
1061
1445
  description: string;
@@ -1063,8 +1447,6 @@ export interface ReservedAddrCreate {
1063
1447
  metadata: string;
1064
1448
  /** reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) */
1065
1449
  region: string;
1066
- /** ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address */
1067
- endpointConfigurationId: string;
1068
1450
  }
1069
1451
 
1070
1452
  export interface ReservedAddrUpdate {
@@ -1073,8 +1455,6 @@ export interface ReservedAddrUpdate {
1073
1455
  description?: string;
1074
1456
  /** arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. */
1075
1457
  metadata?: string;
1076
- /** ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address */
1077
- endpointConfigurationId?: string;
1078
1458
  }
1079
1459
 
1080
1460
  export interface ReservedAddr {
@@ -1092,8 +1472,6 @@ export interface ReservedAddr {
1092
1472
  addr: string;
1093
1473
  /** reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) */
1094
1474
  region: string;
1095
- /** object reference to the endpoint configuration that will be applied to traffic to this address */
1096
- endpointConfiguration?: Ref;
1097
1475
  }
1098
1476
 
1099
1477
  export interface ReservedAddrList {
@@ -1114,10 +1492,6 @@ export interface ReservedDomainCreate {
1114
1492
  description: string;
1115
1493
  /** arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. */
1116
1494
  metadata: string;
1117
- /** ID of an endpoint configuration of type http that will be used to handle inbound http traffic to this domain */
1118
- httpEndpointConfigurationId?: string;
1119
- /** ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain */
1120
- httpsEndpointConfigurationId?: string;
1121
1495
  /** ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with `certificate_management_policy`. */
1122
1496
  certificateId?: string;
1123
1497
  /** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with `certificate_id`. */
@@ -1130,10 +1504,6 @@ export interface ReservedDomainUpdate {
1130
1504
  description?: string;
1131
1505
  /** arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. */
1132
1506
  metadata?: string;
1133
- /** ID of an endpoint configuration of type http that will be used to handle inbound http traffic to this domain */
1134
- httpEndpointConfigurationId?: string;
1135
- /** ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain */
1136
- httpsEndpointConfigurationId?: string;
1137
1507
  /** ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with `certificate_management_policy`. */
1138
1508
  certificateId?: string;
1139
1509
  /** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with `certificate_id`. */
@@ -1157,16 +1527,14 @@ export interface ReservedDomain {
1157
1527
  region: string;
1158
1528
  /** DNS CNAME target for a custom hostname, or null if the reserved domain is a subdomain of *.ngrok.io */
1159
1529
  cnameTarget?: string;
1160
- /** object referencing the endpoint configuration applied to http traffic on this domain */
1161
- httpEndpointConfiguration?: Ref;
1162
- /** object referencing the endpoint configuration applied to https traffic on this domain */
1163
- httpsEndpointConfiguration?: Ref;
1164
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. */
1165
1531
  certificate?: Ref;
1166
1532
  /** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled */
1167
1533
  certificateManagementPolicy?: ReservedDomainCertPolicy;
1168
1534
  /** status of the automatic certificate management for this domain, or null if automatic management is disabled */
1169
1535
  certificateManagementStatus?: ReservedDomainCertStatus;
1536
+ /** DNS CNAME target for the host _acme-challenge.example.com, where example.com is your reserved domain name. This is required to issue certificates for wildcard, non-ngrok reserved domains. Must be null for non-wildcard domains and ngrok subdomains. */
1537
+ acmeChallengeCnameTarget?: string;
1170
1538
  }
1171
1539
 
1172
1540
  export interface ReservedDomainList {
@@ -1192,13 +1560,6 @@ export interface ReservedDomainCertStatus {
1192
1560
  provisioningJob?: ReservedDomainCertJob;
1193
1561
  }
1194
1562
 
1195
- export interface ReservedDomainCertNSTarget {
1196
- /** the zone that the nameservers need to be applied to */
1197
- zone: string;
1198
- /** the nameservers the user must add */
1199
- nameservers: Array<string>;
1200
- }
1201
-
1202
1563
  export interface ReservedDomainCertJob {
1203
1564
  /** if present, an error code indicating why provisioning is failing. It may be either a temporary condition (INTERNAL_ERROR), or a permanent one the user must correct (DNS_ERROR). */
1204
1565
  errorCode?: string;
@@ -1208,8 +1569,6 @@ export interface ReservedDomainCertJob {
1208
1569
  startedAt: string;
1209
1570
  /** timestamp when the provisioning job will be retried */
1210
1571
  retriesAt?: string;
1211
- /** if present, indicates the dns nameservers that the user must configure to complete the provisioning process of a wildcard certificate */
1212
- nsTargets: Array<ReservedDomainCertNSTarget>;
1213
1572
  }
1214
1573
 
1215
1574
  export interface SSHCertificateAuthorityCreate {
@@ -1555,18 +1914,26 @@ export interface TunnelSessionsUpdate {
1555
1914
  export interface Tunnel {
1556
1915
  /** unique tunnel resource identifier */
1557
1916
  id: string;
1558
- /** URL of the tunnel's public endpoint */
1917
+ /** URL of the ephemeral tunnel's public endpoint */
1559
1918
  publicUrl: string;
1560
1919
  /** timestamp when the tunnel was initiated in RFC 3339 format */
1561
1920
  startedAt: string;
1562
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). */
1563
1922
  metadata: string;
1564
- /** tunnel protocol. one of `http`, `https`, `tcp` or `tls` */
1923
+ /** tunnel protocol for ephemeral tunnels. one of `http`, `https`, `tcp` or `tls` */
1565
1924
  proto: string;
1566
1925
  /** identifier of tune region where the tunnel is running */
1567
1926
  region: string;
1568
1927
  /** reference object pointing to the tunnel session on which this tunnel was started */
1569
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;
1570
1937
  }
1571
1938
 
1572
1939
  export interface TunnelList {