@ngrok/ngrok-api 0.17.0 → 0.19.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 (295) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/docs/assets/js/search.js +1 -1
  3. package/docs/classes/client.Ngrok.html +44 -30
  4. package/docs/classes/services.APIKeys.html +6 -6
  5. package/docs/classes/services.AbuseReports.html +3 -3
  6. package/docs/classes/services.AgentIngresses.html +6 -6
  7. package/docs/classes/services.ApplicationSessions.html +4 -4
  8. package/docs/classes/services.ApplicationUsers.html +4 -4
  9. package/docs/classes/services.BotUsers.html +6 -6
  10. package/docs/classes/services.CertificateAuthorities.html +7 -7
  11. package/docs/classes/services.Credentials.html +6 -6
  12. package/docs/classes/services.EdgeRouteBackendModule.html +4 -4
  13. package/docs/classes/services.EdgeRouteCircuitBreakerModule.html +4 -4
  14. package/docs/classes/services.EdgeRouteCompressionModule.html +4 -4
  15. package/docs/classes/services.EdgeRouteIPRestrictionModule.html +4 -4
  16. package/docs/classes/services.EdgeRouteOAuthModule.html +4 -4
  17. package/docs/classes/services.EdgeRouteOIDCModule.html +4 -4
  18. package/docs/classes/services.EdgeRouteRequestHeadersModule.html +4 -4
  19. package/docs/classes/services.EdgeRouteResponseHeadersModule.html +4 -4
  20. package/docs/classes/services.EdgeRouteSAMLModule.html +4 -4
  21. package/docs/classes/services.EdgeRouteTrafficPolicyModule.html +4 -4
  22. package/docs/classes/services.EdgeRouteUserAgentFilterModule.html +4 -4
  23. package/docs/classes/services.EdgeRouteWebhookVerificationModule.html +4 -4
  24. package/docs/classes/services.EdgeRouteWebsocketTCPConverterModule.html +4 -4
  25. package/docs/classes/services.EdgesHTTPS.html +6 -6
  26. package/docs/classes/services.EdgesHTTPSRoutes.html +5 -5
  27. package/docs/classes/services.EdgesTCP.html +6 -6
  28. package/docs/classes/services.EdgesTLS.html +6 -6
  29. package/docs/classes/services.Endpoints.html +6 -6
  30. package/docs/classes/services.EventDestinations.html +6 -6
  31. package/docs/classes/services.EventSources.html +6 -6
  32. package/docs/classes/services.EventSubscriptions.html +6 -6
  33. package/docs/classes/services.FailoverBackends.html +6 -6
  34. package/docs/classes/services.HTTPResponseBackends.html +6 -6
  35. package/docs/classes/services.HTTPSEdgeMutualTLSModule.html +4 -4
  36. package/docs/classes/services.HTTPSEdgeTLSTerminationModule.html +4 -4
  37. package/docs/classes/services.IPPolicies.html +6 -6
  38. package/docs/classes/services.IPPolicyRules.html +6 -6
  39. package/docs/classes/services.IPRestrictions.html +6 -6
  40. package/docs/classes/services.ReservedAddrs.html +6 -6
  41. package/docs/classes/services.ReservedDomains.html +8 -8
  42. package/docs/classes/services.SSHCertificateAuthorities.html +7 -7
  43. package/docs/classes/services.SSHCredentials.html +6 -6
  44. package/docs/classes/services.SSHHostCertificates.html +7 -7
  45. package/docs/classes/services.SSHUserCertificates.html +7 -7
  46. package/docs/classes/services.Secrets.html +6 -6
  47. package/docs/classes/services.ServiceUsers.html +352 -0
  48. package/docs/classes/services.StaticBackends.html +6 -6
  49. package/docs/classes/services.TCPEdgeBackendModule.html +4 -4
  50. package/docs/classes/services.TCPEdgeIPRestrictionModule.html +4 -4
  51. package/docs/classes/services.TCPEdgeTrafficPolicyModule.html +4 -4
  52. package/docs/classes/services.TLSCertificates.html +6 -6
  53. package/docs/classes/services.TLSEdgeBackendModule.html +4 -4
  54. package/docs/classes/services.TLSEdgeIPRestrictionModule.html +4 -4
  55. package/docs/classes/services.TLSEdgeMutualTLSModule.html +4 -4
  56. package/docs/classes/services.TLSEdgeTLSTerminationModule.html +4 -4
  57. package/docs/classes/services.TLSEdgeTrafficPolicyModule.html +4 -4
  58. package/docs/classes/services.TunnelGroupBackends.html +6 -6
  59. package/docs/classes/services.TunnelSessions.html +6 -6
  60. package/docs/classes/services.Tunnels.html +3 -3
  61. package/docs/classes/services.Vaults.html +7 -7
  62. package/docs/classes/services.WeightedBackends.html +6 -6
  63. package/docs/interfaces/client.NgrokConfig.html +2 -2
  64. package/docs/interfaces/datatypes.APIKey.html +7 -7
  65. package/docs/interfaces/datatypes.APIKeyCreate.html +3 -3
  66. package/docs/interfaces/datatypes.APIKeyList.html +3 -3
  67. package/docs/interfaces/datatypes.APIKeyUpdate.html +3 -3
  68. package/docs/interfaces/datatypes.AWSAuth.html +2 -2
  69. package/docs/interfaces/datatypes.AWSCredentials.html +2 -2
  70. package/docs/interfaces/datatypes.AWSRole.html +1 -1
  71. package/docs/interfaces/datatypes.AbuseReport.html +7 -7
  72. package/docs/interfaces/datatypes.AbuseReportCreate.html +2 -2
  73. package/docs/interfaces/datatypes.AbuseReportHostname.html +2 -2
  74. package/docs/interfaces/datatypes.AgentIngress.html +10 -10
  75. package/docs/interfaces/datatypes.AgentIngressCertJob.html +4 -4
  76. package/docs/interfaces/datatypes.AgentIngressCertPolicy.html +2 -2
  77. package/docs/interfaces/datatypes.AgentIngressCertStatus.html +2 -2
  78. package/docs/interfaces/datatypes.AgentIngressCreate.html +4 -4
  79. package/docs/interfaces/datatypes.AgentIngressList.html +3 -3
  80. package/docs/interfaces/datatypes.AgentIngressUpdate.html +4 -4
  81. package/docs/interfaces/datatypes.ApplicationSession.html +11 -11
  82. package/docs/interfaces/datatypes.ApplicationSessionList.html +3 -3
  83. package/docs/interfaces/datatypes.ApplicationUser.html +10 -10
  84. package/docs/interfaces/datatypes.ApplicationUserList.html +3 -3
  85. package/docs/interfaces/datatypes.BotUser.html +5 -5
  86. package/docs/interfaces/datatypes.BotUserCreate.html +2 -2
  87. package/docs/interfaces/datatypes.BotUserList.html +3 -3
  88. package/docs/interfaces/datatypes.BotUserUpdate.html +3 -3
  89. package/docs/interfaces/datatypes.BrowserSession.html +3 -3
  90. package/docs/interfaces/datatypes.CertificateAuthority.html +11 -11
  91. package/docs/interfaces/datatypes.CertificateAuthorityCreate.html +3 -3
  92. package/docs/interfaces/datatypes.CertificateAuthorityList.html +3 -3
  93. package/docs/interfaces/datatypes.CertificateAuthorityUpdate.html +3 -3
  94. package/docs/interfaces/datatypes.Credential.html +9 -9
  95. package/docs/interfaces/datatypes.CredentialCreate.html +5 -5
  96. package/docs/interfaces/datatypes.CredentialList.html +3 -3
  97. package/docs/interfaces/datatypes.CredentialUpdate.html +4 -4
  98. package/docs/interfaces/datatypes.EdgeBackendReplace.html +2 -2
  99. package/docs/interfaces/datatypes.EdgeIPRestrictionReplace.html +2 -2
  100. package/docs/interfaces/datatypes.EdgeMutualTLSReplace.html +2 -2
  101. package/docs/interfaces/datatypes.EdgeRouteBackendReplace.html +3 -3
  102. package/docs/interfaces/datatypes.EdgeRouteCircuitBreakerReplace.html +3 -3
  103. package/docs/interfaces/datatypes.EdgeRouteCompressionReplace.html +3 -3
  104. package/docs/interfaces/datatypes.EdgeRouteIPRestrictionReplace.html +3 -3
  105. package/docs/interfaces/datatypes.EdgeRouteItem.html +2 -2
  106. package/docs/interfaces/datatypes.EdgeRouteOAuthReplace.html +3 -3
  107. package/docs/interfaces/datatypes.EdgeRouteOIDCReplace.html +3 -3
  108. package/docs/interfaces/datatypes.EdgeRouteRequestHeadersReplace.html +3 -3
  109. package/docs/interfaces/datatypes.EdgeRouteResponseHeadersReplace.html +3 -3
  110. package/docs/interfaces/datatypes.EdgeRouteSAMLReplace.html +3 -3
  111. package/docs/interfaces/datatypes.EdgeRouteTrafficPolicyReplace.html +3 -3
  112. package/docs/interfaces/datatypes.EdgeRouteUserAgentFilterReplace.html +3 -3
  113. package/docs/interfaces/datatypes.EdgeRouteWebhookVerificationReplace.html +3 -3
  114. package/docs/interfaces/datatypes.EdgeRouteWebsocketTCPConverterReplace.html +3 -3
  115. package/docs/interfaces/datatypes.EdgeTLSTerminationAtEdgeReplace.html +2 -2
  116. package/docs/interfaces/datatypes.EdgeTLSTerminationReplace.html +2 -2
  117. package/docs/interfaces/datatypes.EdgeTrafficPolicyReplace.html +2 -2
  118. package/docs/interfaces/datatypes.Endpoint.html +28 -28
  119. package/docs/interfaces/datatypes.EndpointBackend.html +2 -2
  120. package/docs/interfaces/datatypes.EndpointBackendMutate.html +2 -2
  121. package/docs/interfaces/datatypes.EndpointCircuitBreaker.html +6 -6
  122. package/docs/interfaces/datatypes.EndpointCompression.html +1 -1
  123. package/docs/interfaces/datatypes.EndpointCreate.html +8 -8
  124. package/docs/interfaces/datatypes.EndpointIPPolicy.html +2 -2
  125. package/docs/interfaces/datatypes.EndpointIPPolicyMutate.html +2 -2
  126. package/docs/interfaces/datatypes.EndpointList.html +3 -3
  127. package/docs/interfaces/datatypes.EndpointListArgs.html +43 -4
  128. package/docs/interfaces/datatypes.EndpointMutualTLS.html +2 -2
  129. package/docs/interfaces/datatypes.EndpointMutualTLSMutate.html +2 -2
  130. package/docs/interfaces/datatypes.EndpointOAuth.html +7 -7
  131. package/docs/interfaces/datatypes.EndpointOAuthAmazon.html +5 -5
  132. package/docs/interfaces/datatypes.EndpointOAuthFacebook.html +5 -5
  133. package/docs/interfaces/datatypes.EndpointOAuthGitHub.html +7 -7
  134. package/docs/interfaces/datatypes.EndpointOAuthGitLab.html +5 -5
  135. package/docs/interfaces/datatypes.EndpointOAuthGoogle.html +5 -5
  136. package/docs/interfaces/datatypes.EndpointOAuthLinkedIn.html +5 -5
  137. package/docs/interfaces/datatypes.EndpointOAuthMicrosoft.html +5 -5
  138. package/docs/interfaces/datatypes.EndpointOAuthProvider.html +8 -8
  139. package/docs/interfaces/datatypes.EndpointOAuthTwitch.html +5 -5
  140. package/docs/interfaces/datatypes.EndpointOIDC.html +9 -9
  141. package/docs/interfaces/datatypes.EndpointRequestHeaders.html +3 -3
  142. package/docs/interfaces/datatypes.EndpointResponseHeaders.html +3 -3
  143. package/docs/interfaces/datatypes.EndpointSAML.html +15 -15
  144. package/docs/interfaces/datatypes.EndpointSAMLMutate.html +10 -10
  145. package/docs/interfaces/datatypes.EndpointTLSTermination.html +3 -3
  146. package/docs/interfaces/datatypes.EndpointTLSTerminationAtEdge.html +2 -2
  147. package/docs/interfaces/datatypes.EndpointTrafficPolicy.html +2 -2
  148. package/docs/interfaces/datatypes.EndpointUpdate.html +8 -8
  149. package/docs/interfaces/datatypes.EndpointUserAgentFilter.html +3 -3
  150. package/docs/interfaces/datatypes.EndpointWebhookValidation.html +3 -3
  151. package/docs/interfaces/datatypes.EndpointWebsocketTCPConverter.html +1 -1
  152. package/docs/interfaces/datatypes.Error.html +4 -4
  153. package/docs/interfaces/datatypes.EventDestination.html +7 -7
  154. package/docs/interfaces/datatypes.EventDestinationCreate.html +4 -4
  155. package/docs/interfaces/datatypes.EventDestinationList.html +3 -3
  156. package/docs/interfaces/datatypes.EventDestinationUpdate.html +5 -5
  157. package/docs/interfaces/datatypes.EventSource.html +2 -2
  158. package/docs/interfaces/datatypes.EventSourceCreate.html +2 -2
  159. package/docs/interfaces/datatypes.EventSourceItem.html +2 -2
  160. package/docs/interfaces/datatypes.EventSourceList.html +2 -2
  161. package/docs/interfaces/datatypes.EventSourcePaging.html +1 -1
  162. package/docs/interfaces/datatypes.EventSourceReplace.html +1 -1
  163. package/docs/interfaces/datatypes.EventSourceUpdate.html +2 -2
  164. package/docs/interfaces/datatypes.EventSubscription.html +7 -7
  165. package/docs/interfaces/datatypes.EventSubscriptionCreate.html +4 -4
  166. package/docs/interfaces/datatypes.EventSubscriptionList.html +3 -3
  167. package/docs/interfaces/datatypes.EventSubscriptionUpdate.html +5 -5
  168. package/docs/interfaces/datatypes.EventTarget.html +5 -5
  169. package/docs/interfaces/datatypes.EventTargetAzureLogsIngestion.html +6 -6
  170. package/docs/interfaces/datatypes.EventTargetCloudwatchLogs.html +2 -2
  171. package/docs/interfaces/datatypes.EventTargetDatadog.html +4 -4
  172. package/docs/interfaces/datatypes.EventTargetFirehose.html +2 -2
  173. package/docs/interfaces/datatypes.EventTargetKinesis.html +2 -2
  174. package/docs/interfaces/datatypes.FailoverBackend.html +6 -6
  175. package/docs/interfaces/datatypes.FailoverBackendCreate.html +3 -3
  176. package/docs/interfaces/datatypes.FailoverBackendList.html +3 -3
  177. package/docs/interfaces/datatypes.FailoverBackendUpdate.html +4 -4
  178. package/docs/interfaces/datatypes.FilteredPaging.html +205 -0
  179. package/docs/interfaces/datatypes.HTTPResponseBackend.html +8 -8
  180. package/docs/interfaces/datatypes.HTTPResponseBackendCreate.html +5 -5
  181. package/docs/interfaces/datatypes.HTTPResponseBackendList.html +3 -3
  182. package/docs/interfaces/datatypes.HTTPResponseBackendUpdate.html +6 -6
  183. package/docs/interfaces/datatypes.HTTPSEdge.html +9 -9
  184. package/docs/interfaces/datatypes.HTTPSEdgeCreate.html +5 -5
  185. package/docs/interfaces/datatypes.HTTPSEdgeList.html +3 -3
  186. package/docs/interfaces/datatypes.HTTPSEdgeRoute.html +21 -21
  187. package/docs/interfaces/datatypes.HTTPSEdgeRouteCreate.html +18 -18
  188. package/docs/interfaces/datatypes.HTTPSEdgeRouteUpdate.html +19 -19
  189. package/docs/interfaces/datatypes.HTTPSEdgeUpdate.html +6 -6
  190. package/docs/interfaces/datatypes.IPPolicy.html +5 -5
  191. package/docs/interfaces/datatypes.IPPolicyCreate.html +2 -2
  192. package/docs/interfaces/datatypes.IPPolicyList.html +3 -3
  193. package/docs/interfaces/datatypes.IPPolicyRule.html +8 -8
  194. package/docs/interfaces/datatypes.IPPolicyRuleCreate.html +5 -5
  195. package/docs/interfaces/datatypes.IPPolicyRuleList.html +3 -3
  196. package/docs/interfaces/datatypes.IPPolicyRuleUpdate.html +4 -4
  197. package/docs/interfaces/datatypes.IPPolicyUpdate.html +3 -3
  198. package/docs/interfaces/datatypes.IPRestriction.html +8 -8
  199. package/docs/interfaces/datatypes.IPRestrictionCreate.html +5 -5
  200. package/docs/interfaces/datatypes.IPRestrictionList.html +3 -3
  201. package/docs/interfaces/datatypes.IPRestrictionUpdate.html +5 -5
  202. package/docs/interfaces/datatypes.IdentityProvider.html +2 -2
  203. package/docs/interfaces/datatypes.Item.html +1 -1
  204. package/docs/interfaces/datatypes.ItemPaging.html +3 -3
  205. package/docs/interfaces/datatypes.Location.html +4 -4
  206. package/docs/interfaces/datatypes.Paging.html +2 -2
  207. package/docs/interfaces/datatypes.Ref.html +2 -2
  208. package/docs/interfaces/datatypes.ReservedAddr.html +7 -7
  209. package/docs/interfaces/datatypes.ReservedAddrCreate.html +3 -3
  210. package/docs/interfaces/datatypes.ReservedAddrList.html +3 -3
  211. package/docs/interfaces/datatypes.ReservedAddrUpdate.html +3 -3
  212. package/docs/interfaces/datatypes.ReservedDomain.html +31 -12
  213. package/docs/interfaces/datatypes.ReservedDomainCertJob.html +4 -4
  214. package/docs/interfaces/datatypes.ReservedDomainCertPolicy.html +2 -2
  215. package/docs/interfaces/datatypes.ReservedDomainCertStatus.html +2 -2
  216. package/docs/interfaces/datatypes.ReservedDomainCreate.html +25 -6
  217. package/docs/interfaces/datatypes.ReservedDomainList.html +3 -3
  218. package/docs/interfaces/datatypes.ReservedDomainResolvesToEntry.html +167 -0
  219. package/docs/interfaces/datatypes.ReservedDomainUpdate.html +24 -5
  220. package/docs/interfaces/datatypes.SSHCertificateAuthority.html +7 -7
  221. package/docs/interfaces/datatypes.SSHCertificateAuthorityCreate.html +5 -5
  222. package/docs/interfaces/datatypes.SSHCertificateAuthorityList.html +3 -3
  223. package/docs/interfaces/datatypes.SSHCertificateAuthorityUpdate.html +3 -3
  224. package/docs/interfaces/datatypes.SSHCredential.html +8 -8
  225. package/docs/interfaces/datatypes.SSHCredentialCreate.html +5 -5
  226. package/docs/interfaces/datatypes.SSHCredentialList.html +3 -3
  227. package/docs/interfaces/datatypes.SSHCredentialUpdate.html +4 -4
  228. package/docs/interfaces/datatypes.SSHHostCertificate.html +12 -12
  229. package/docs/interfaces/datatypes.SSHHostCertificateCreate.html +7 -7
  230. package/docs/interfaces/datatypes.SSHHostCertificateList.html +3 -3
  231. package/docs/interfaces/datatypes.SSHHostCertificateUpdate.html +3 -3
  232. package/docs/interfaces/datatypes.SSHUserCertificate.html +14 -14
  233. package/docs/interfaces/datatypes.SSHUserCertificateCreate.html +9 -9
  234. package/docs/interfaces/datatypes.SSHUserCertificateList.html +3 -3
  235. package/docs/interfaces/datatypes.SSHUserCertificateUpdate.html +3 -3
  236. package/docs/interfaces/datatypes.Secret.html +29 -10
  237. package/docs/interfaces/datatypes.SecretCreate.html +24 -5
  238. package/docs/interfaces/datatypes.SecretList.html +3 -3
  239. package/docs/interfaces/datatypes.SecretUpdate.html +5 -5
  240. package/docs/interfaces/datatypes.ServiceUser.html +243 -0
  241. package/docs/interfaces/datatypes.ServiceUserCreate.html +186 -0
  242. package/docs/interfaces/datatypes.ServiceUserList.html +205 -0
  243. package/docs/interfaces/datatypes.ServiceUserUpdate.html +200 -0
  244. package/docs/interfaces/datatypes.StaticBackend.html +7 -7
  245. package/docs/interfaces/datatypes.StaticBackendCreate.html +4 -4
  246. package/docs/interfaces/datatypes.StaticBackendList.html +3 -3
  247. package/docs/interfaces/datatypes.StaticBackendTLS.html +1 -1
  248. package/docs/interfaces/datatypes.StaticBackendUpdate.html +5 -5
  249. package/docs/interfaces/datatypes.TCPEdge.html +9 -9
  250. package/docs/interfaces/datatypes.TCPEdgeCreate.html +6 -6
  251. package/docs/interfaces/datatypes.TCPEdgeList.html +3 -3
  252. package/docs/interfaces/datatypes.TCPEdgeUpdate.html +7 -7
  253. package/docs/interfaces/datatypes.TLSCertificate.html +21 -21
  254. package/docs/interfaces/datatypes.TLSCertificateCreate.html +4 -4
  255. package/docs/interfaces/datatypes.TLSCertificateList.html +3 -3
  256. package/docs/interfaces/datatypes.TLSCertificateSANs.html +2 -2
  257. package/docs/interfaces/datatypes.TLSCertificateUpdate.html +3 -3
  258. package/docs/interfaces/datatypes.TLSEdge.html +11 -11
  259. package/docs/interfaces/datatypes.TLSEdgeCreate.html +8 -8
  260. package/docs/interfaces/datatypes.TLSEdgeList.html +3 -3
  261. package/docs/interfaces/datatypes.TLSEdgeUpdate.html +9 -9
  262. package/docs/interfaces/datatypes.Tunnel.html +11 -11
  263. package/docs/interfaces/datatypes.TunnelGroupBackend.html +7 -7
  264. package/docs/interfaces/datatypes.TunnelGroupBackendCreate.html +3 -3
  265. package/docs/interfaces/datatypes.TunnelGroupBackendList.html +3 -3
  266. package/docs/interfaces/datatypes.TunnelGroupBackendUpdate.html +4 -4
  267. package/docs/interfaces/datatypes.TunnelList.html +3 -3
  268. package/docs/interfaces/datatypes.TunnelSession.html +10 -10
  269. package/docs/interfaces/datatypes.TunnelSessionList.html +3 -3
  270. package/docs/interfaces/datatypes.TunnelSessionsUpdate.html +1 -1
  271. package/docs/interfaces/datatypes.UserAgent.html +6 -6
  272. package/docs/interfaces/datatypes.Vault.html +9 -9
  273. package/docs/interfaces/datatypes.VaultCreate.html +3 -3
  274. package/docs/interfaces/datatypes.VaultList.html +3 -3
  275. package/docs/interfaces/datatypes.VaultUpdate.html +4 -4
  276. package/docs/interfaces/datatypes.WeightedBackend.html +6 -6
  277. package/docs/interfaces/datatypes.WeightedBackendCreate.html +3 -3
  278. package/docs/interfaces/datatypes.WeightedBackendList.html +3 -3
  279. package/docs/interfaces/datatypes.WeightedBackendUpdate.html +4 -4
  280. package/docs/modules/datatypes.html +24 -0
  281. package/docs/modules/services.html +4 -0
  282. package/lib/client.d.ts +1 -0
  283. package/lib/client.d.ts.map +1 -1
  284. package/lib/client.js +2 -1
  285. package/lib/client.js.map +1 -1
  286. package/lib/datatypes.d.ts +66 -5
  287. package/lib/datatypes.d.ts.map +1 -1
  288. package/lib/services.d.ts +31 -4
  289. package/lib/services.d.ts.map +1 -1
  290. package/lib/services.js +137 -36
  291. package/lib/services.js.map +1 -1
  292. package/package.json +1 -1
  293. package/src/client.ts +3 -1
  294. package/src/datatypes.ts +72 -5
  295. package/src/services.ts +151 -38
package/src/datatypes.ts CHANGED
@@ -12,6 +12,15 @@ export interface Paging {
12
12
  limit?: string;
13
13
  }
14
14
 
15
+ export interface FilteredPaging {
16
+ /** Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. */
17
+ beforeId?: string;
18
+ /** Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. */
19
+ limit?: string;
20
+ /** A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. */
21
+ filter?: string;
22
+ }
23
+
15
24
  export interface ItemPaging {
16
25
  /** a resource identifier */
17
26
  id: string;
@@ -660,7 +669,7 @@ export interface CredentialCreate {
660
669
  metadata?: string;
661
670
  /** 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, addresses, and labels 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 for domains 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. Bind rules for labels may specify a wildcard key and/or value to match multiple labels. For example, you may specify a rule of `bind:*=example` which will allow `x=example`, `y=example`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. */
662
671
  acl: Array<string>;
663
- /** If supplied at credential creation, ownership will be assigned to the specified User or Bot. Only admins may specify an owner other than themselves. Defaults to the authenticated User or Bot. */
672
+ /** If supplied at credential creation, ownership will be assigned to the specified User or Service User. Only admins may specify an owner other than themselves. Defaults to the authenticated User or Service User. Accepts one of: User ID, User email, or SCIM User ID. */
664
673
  ownerId?: string;
665
674
  }
666
675
 
@@ -689,7 +698,7 @@ export interface Credential {
689
698
  token?: string;
690
699
  /** 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, addresses, and labels 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 for domains 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. Bind rules for labels may specify a wildcard key and/or value to match multiple labels. For example, you may specify a rule of `bind:*=example` which will allow `x=example`, `y=example`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. */
691
700
  acl: Array<string>;
692
- /** If supplied at credential creation, ownership will be assigned to the specified User or Bot. Only admins may specify an owner other than themselves. Defaults to the authenticated User or Bot. */
701
+ /** If supplied at credential creation, ownership will be assigned to the specified User or Service User. Only admins may specify an owner other than themselves. Defaults to the authenticated User or Service User. Accepts one of: User ID, User email, or SCIM User ID. */
693
702
  ownerId?: string;
694
703
  }
695
704
 
@@ -1451,7 +1460,7 @@ export interface Endpoint {
1451
1460
  createdAt?: Date;
1452
1461
  /** timestamp when the endpoint was updated in RFC 3339 format */
1453
1462
  updatedAt?: Date;
1454
- /** URL of the hostport served by this endpoint */
1463
+ /** deprecated [replaced by URL]: URL of the hostport served by this endpoint */
1455
1464
  publicUrl: string;
1456
1465
  /** protocol served by this endpoint. one of `http`, `https`, `tcp`, or `tls` */
1457
1466
  proto: string;
@@ -1518,14 +1527,20 @@ export interface EndpointCreate {
1518
1527
  metadata?: string;
1519
1528
  /** the bindings associated with this endpoint */
1520
1529
  bindings?: Array<string>;
1521
- poolingEnabled: boolean;
1530
+ poolingEnabled?: boolean;
1522
1531
  }
1523
1532
 
1524
1533
  export interface EndpointListArgs {
1534
+ /** Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. */
1525
1535
  beforeId?: string;
1536
+ /** Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. */
1526
1537
  limit?: string;
1538
+ /** Filter results by endpoint IDs. Deprecated: use `filter` instead. */
1527
1539
  id?: Array<string>;
1540
+ /** Filter results by endpoint URLs. Deprecated: use `filter` instead. */
1528
1541
  url?: Array<string>;
1542
+ /** A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. */
1543
+ filter?: string;
1529
1544
  }
1530
1545
 
1531
1546
  export interface EndpointUpdate {
@@ -1541,7 +1556,7 @@ export interface EndpointUpdate {
1541
1556
  metadata?: string;
1542
1557
  /** the bindings associated with this endpoint */
1543
1558
  bindings?: Array<string>;
1544
- poolingEnabled: boolean;
1559
+ poolingEnabled?: boolean;
1545
1560
  }
1546
1561
 
1547
1562
  export interface EventDestinationCreate {
@@ -1966,6 +1981,8 @@ export interface ReservedDomainCreate {
1966
1981
  certificateId?: string;
1967
1982
  /** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with `certificate_id`. */
1968
1983
  certificateManagementPolicy?: ReservedDomainCertPolicy;
1984
+ /** DNS resolver targets configured for the reserved domain, or empty for "global" resolution. */
1985
+ resolvesTo?: Array<ReservedDomainResolvesToEntry>;
1969
1986
  }
1970
1987
 
1971
1988
  export interface ReservedDomainUpdate {
@@ -1978,6 +1995,8 @@ export interface ReservedDomainUpdate {
1978
1995
  certificateId?: string;
1979
1996
  /** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with `certificate_id`. */
1980
1997
  certificateManagementPolicy?: ReservedDomainCertPolicy;
1998
+ /** DNS resolver targets configured for the reserved domain, or empty for "global" resolution. */
1999
+ resolvesTo?: Array<ReservedDomainResolvesToEntry>;
1981
2000
  }
1982
2001
 
1983
2002
  export interface ReservedDomain {
@@ -2005,6 +2024,8 @@ export interface ReservedDomain {
2005
2024
  certificateManagementStatus?: ReservedDomainCertStatus;
2006
2025
  /** 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. */
2007
2026
  acmeChallengeCnameTarget?: string;
2027
+ /** DNS resolver targets configured for the reserved domain, or empty for "global" resolution. */
2028
+ resolvesTo?: Array<ReservedDomainResolvesToEntry>;
2008
2029
  }
2009
2030
 
2010
2031
  export interface ReservedDomainList {
@@ -2041,6 +2062,11 @@ export interface ReservedDomainCertJob {
2041
2062
  retriesAt?: Date;
2042
2063
  }
2043
2064
 
2065
+ export interface ReservedDomainResolvesToEntry {
2066
+ /** accepts an ngrok point-of-presence shortcode, or "global" */
2067
+ value: string;
2068
+ }
2069
+
2044
2070
  export interface SecretCreate {
2045
2071
  /** Name of secret */
2046
2072
  name: string;
@@ -2052,6 +2078,8 @@ export interface SecretCreate {
2052
2078
  description?: string;
2053
2079
  /** unique identifier of the referenced vault */
2054
2080
  vaultId: string;
2081
+ /** name of the referenced vault */
2082
+ vaultName?: string;
2055
2083
  }
2056
2084
 
2057
2085
  export interface SecretUpdate {
@@ -2088,6 +2116,8 @@ export interface Secret {
2088
2116
  lastUpdatedBy: Ref;
2089
2117
  /** Reference to the vault the secret is stored in */
2090
2118
  vault: Ref;
2119
+ /** Name of the vault the secret is stored in */
2120
+ vaultName?: string;
2091
2121
  }
2092
2122
 
2093
2123
  export interface SecretList {
@@ -2098,6 +2128,43 @@ export interface SecretList {
2098
2128
  nextPageUri?: string;
2099
2129
  }
2100
2130
 
2131
+ export interface ServiceUser {
2132
+ /** unique API key resource identifier */
2133
+ id: string;
2134
+ /** URI to the API resource of this service user */
2135
+ uri: string;
2136
+ /** human-readable name used to identify the service */
2137
+ name: string;
2138
+ /** whether or not the service is active */
2139
+ active: boolean;
2140
+ /** timestamp when the api key was created, RFC 3339 format */
2141
+ createdAt: Date;
2142
+ }
2143
+
2144
+ export interface ServiceUserCreate {
2145
+ /** human-readable name used to identify the service */
2146
+ name: string;
2147
+ /** whether or not the service is active */
2148
+ active?: boolean;
2149
+ }
2150
+
2151
+ export interface ServiceUserUpdate {
2152
+ id: string;
2153
+ /** human-readable name used to identify the service */
2154
+ name?: string;
2155
+ /** whether or not the service is active */
2156
+ active?: boolean;
2157
+ }
2158
+
2159
+ export interface ServiceUserList {
2160
+ /** the list of all service users on this account */
2161
+ serviceUsers: Array<ServiceUser>;
2162
+ /** URI of the service users list API resource */
2163
+ uri: string;
2164
+ /** URI of the next page, or null if there is no next page */
2165
+ nextPageUri?: string;
2166
+ }
2167
+
2101
2168
  export interface SSHCertificateAuthorityCreate {
2102
2169
  /** human-readable description of this SSH Certificate Authority. optional, max 255 bytes. */
2103
2170
  description?: string;
package/src/services.ts CHANGED
@@ -94,7 +94,7 @@ export class AgentIngresses {
94
94
  }
95
95
 
96
96
  private _pagedList(
97
- arg: datatypes.Paging
97
+ arg: datatypes.FilteredPaging
98
98
  ): Promise<datatypes.AgentIngressList> {
99
99
  return this.httpClient
100
100
  .url(`/agent_ingresses`)
@@ -106,7 +106,7 @@ export class AgentIngresses {
106
106
 
107
107
  private async *_asyncList(beforeId: string, limit = '100') {
108
108
  let nextPage = 'initial loop';
109
- let page: datatypes.Paging = { limit: limit };
109
+ let page: datatypes.FilteredPaging = { limit: limit };
110
110
 
111
111
  if (beforeId) {
112
112
  page.beforeId = beforeId;
@@ -201,7 +201,9 @@ export class APIKeys {
201
201
  return array;
202
202
  }
203
203
 
204
- private _pagedList(arg: datatypes.Paging): Promise<datatypes.APIKeyList> {
204
+ private _pagedList(
205
+ arg: datatypes.FilteredPaging
206
+ ): Promise<datatypes.APIKeyList> {
205
207
  return this.httpClient
206
208
  .url(`/api_keys`)
207
209
  .query(arg)
@@ -212,7 +214,7 @@ export class APIKeys {
212
214
 
213
215
  private async *_asyncList(beforeId: string, limit = '100') {
214
216
  let nextPage = 'initial loop';
215
- let page: datatypes.Paging = { limit: limit };
217
+ let page: datatypes.FilteredPaging = { limit: limit };
216
218
 
217
219
  if (beforeId) {
218
220
  page.beforeId = beforeId;
@@ -433,7 +435,7 @@ export class TunnelSessions {
433
435
  }
434
436
 
435
437
  private _pagedList(
436
- arg: datatypes.Paging
438
+ arg: datatypes.FilteredPaging
437
439
  ): Promise<datatypes.TunnelSessionList> {
438
440
  return this.httpClient
439
441
  .url(`/tunnel_sessions`)
@@ -445,7 +447,7 @@ export class TunnelSessions {
445
447
 
446
448
  private async *_asyncList(beforeId: string, limit = '100') {
447
449
  let nextPage = 'initial loop';
448
- let page: datatypes.Paging = { limit: limit };
450
+ let page: datatypes.FilteredPaging = { limit: limit };
449
451
 
450
452
  if (beforeId) {
451
453
  page.beforeId = beforeId;
@@ -1164,7 +1166,7 @@ export class CertificateAuthorities {
1164
1166
  .then(f => f, util.onRejected);
1165
1167
  }
1166
1168
  /**
1167
- * Get detailed information about a certficate authority
1169
+ * Get detailed information about a certificate authority
1168
1170
  */
1169
1171
  public get(id): Promise<datatypes.CertificateAuthority> {
1170
1172
  return this.httpClient
@@ -1188,7 +1190,7 @@ export class CertificateAuthorities {
1188
1190
  }
1189
1191
 
1190
1192
  private _pagedList(
1191
- arg: datatypes.Paging
1193
+ arg: datatypes.FilteredPaging
1192
1194
  ): Promise<datatypes.CertificateAuthorityList> {
1193
1195
  return this.httpClient
1194
1196
  .url(`/certificate_authorities`)
@@ -1200,7 +1202,7 @@ export class CertificateAuthorities {
1200
1202
 
1201
1203
  private async *_asyncList(beforeId: string, limit = '100') {
1202
1204
  let nextPage = 'initial loop';
1203
- let page: datatypes.Paging = { limit: limit };
1205
+ let page: datatypes.FilteredPaging = { limit: limit };
1204
1206
 
1205
1207
  if (beforeId) {
1206
1208
  page.beforeId = beforeId;
@@ -1297,7 +1299,9 @@ export class Credentials {
1297
1299
  return array;
1298
1300
  }
1299
1301
 
1300
- private _pagedList(arg: datatypes.Paging): Promise<datatypes.CredentialList> {
1302
+ private _pagedList(
1303
+ arg: datatypes.FilteredPaging
1304
+ ): Promise<datatypes.CredentialList> {
1301
1305
  return this.httpClient
1302
1306
  .url(`/credentials`)
1303
1307
  .query(arg)
@@ -1308,7 +1312,7 @@ export class Credentials {
1308
1312
 
1309
1313
  private async *_asyncList(beforeId: string, limit = '100') {
1310
1314
  let nextPage = 'initial loop';
1311
- let page: datatypes.Paging = { limit: limit };
1315
+ let page: datatypes.FilteredPaging = { limit: limit };
1312
1316
 
1313
1317
  if (beforeId) {
1314
1318
  page.beforeId = beforeId;
@@ -2607,7 +2611,7 @@ export class EventDestinations {
2607
2611
  }
2608
2612
 
2609
2613
  private _pagedList(
2610
- arg: datatypes.Paging
2614
+ arg: datatypes.FilteredPaging
2611
2615
  ): Promise<datatypes.EventDestinationList> {
2612
2616
  return this.httpClient
2613
2617
  .url(`/event_destinations`)
@@ -2619,7 +2623,7 @@ export class EventDestinations {
2619
2623
 
2620
2624
  private async *_asyncList(beforeId: string, limit = '100') {
2621
2625
  let nextPage = 'initial loop';
2622
- let page: datatypes.Paging = { limit: limit };
2626
+ let page: datatypes.FilteredPaging = { limit: limit };
2623
2627
 
2624
2628
  if (beforeId) {
2625
2629
  page.beforeId = beforeId;
@@ -2710,7 +2714,7 @@ export class EventSubscriptions {
2710
2714
  }
2711
2715
 
2712
2716
  private _pagedList(
2713
- arg: datatypes.Paging
2717
+ arg: datatypes.FilteredPaging
2714
2718
  ): Promise<datatypes.EventSubscriptionList> {
2715
2719
  return this.httpClient
2716
2720
  .url(`/event_subscriptions`)
@@ -2722,7 +2726,7 @@ export class EventSubscriptions {
2722
2726
 
2723
2727
  private async *_asyncList(beforeId: string, limit = '100') {
2724
2728
  let nextPage = 'initial loop';
2725
- let page: datatypes.Paging = { limit: limit };
2729
+ let page: datatypes.FilteredPaging = { limit: limit };
2726
2730
 
2727
2731
  if (beforeId) {
2728
2732
  page.beforeId = beforeId;
@@ -2881,7 +2885,9 @@ export class IPPolicies {
2881
2885
  return array;
2882
2886
  }
2883
2887
 
2884
- private _pagedList(arg: datatypes.Paging): Promise<datatypes.IPPolicyList> {
2888
+ private _pagedList(
2889
+ arg: datatypes.FilteredPaging
2890
+ ): Promise<datatypes.IPPolicyList> {
2885
2891
  return this.httpClient
2886
2892
  .url(`/ip_policies`)
2887
2893
  .query(arg)
@@ -2892,7 +2898,7 @@ export class IPPolicies {
2892
2898
 
2893
2899
  private async *_asyncList(beforeId: string, limit = '100') {
2894
2900
  let nextPage = 'initial loop';
2895
- let page: datatypes.Paging = { limit: limit };
2901
+ let page: datatypes.FilteredPaging = { limit: limit };
2896
2902
 
2897
2903
  if (beforeId) {
2898
2904
  page.beforeId = beforeId;
@@ -2985,7 +2991,7 @@ export class IPPolicyRules {
2985
2991
  }
2986
2992
 
2987
2993
  private _pagedList(
2988
- arg: datatypes.Paging
2994
+ arg: datatypes.FilteredPaging
2989
2995
  ): Promise<datatypes.IPPolicyRuleList> {
2990
2996
  return this.httpClient
2991
2997
  .url(`/ip_policy_rules`)
@@ -2997,7 +3003,7 @@ export class IPPolicyRules {
2997
3003
 
2998
3004
  private async *_asyncList(beforeId: string, limit = '100') {
2999
3005
  let nextPage = 'initial loop';
3000
- let page: datatypes.Paging = { limit: limit };
3006
+ let page: datatypes.FilteredPaging = { limit: limit };
3001
3007
 
3002
3008
  if (beforeId) {
3003
3009
  page.beforeId = beforeId;
@@ -3096,7 +3102,7 @@ export class IPRestrictions {
3096
3102
  }
3097
3103
 
3098
3104
  private _pagedList(
3099
- arg: datatypes.Paging
3105
+ arg: datatypes.FilteredPaging
3100
3106
  ): Promise<datatypes.IPRestrictionList> {
3101
3107
  return this.httpClient
3102
3108
  .url(`/ip_restrictions`)
@@ -3108,7 +3114,7 @@ export class IPRestrictions {
3108
3114
 
3109
3115
  private async *_asyncList(beforeId: string, limit = '100') {
3110
3116
  let nextPage = 'initial loop';
3111
- let page: datatypes.Paging = { limit: limit };
3117
+ let page: datatypes.FilteredPaging = { limit: limit };
3112
3118
 
3113
3119
  if (beforeId) {
3114
3120
  page.beforeId = beforeId;
@@ -3204,7 +3210,7 @@ export class ReservedAddrs {
3204
3210
  }
3205
3211
 
3206
3212
  private _pagedList(
3207
- arg: datatypes.Paging
3213
+ arg: datatypes.FilteredPaging
3208
3214
  ): Promise<datatypes.ReservedAddrList> {
3209
3215
  return this.httpClient
3210
3216
  .url(`/reserved_addrs`)
@@ -3216,7 +3222,7 @@ export class ReservedAddrs {
3216
3222
 
3217
3223
  private async *_asyncList(beforeId: string, limit = '100') {
3218
3224
  let nextPage = 'initial loop';
3219
- let page: datatypes.Paging = { limit: limit };
3225
+ let page: datatypes.FilteredPaging = { limit: limit };
3220
3226
 
3221
3227
  if (beforeId) {
3222
3228
  page.beforeId = beforeId;
@@ -3313,7 +3319,7 @@ export class ReservedDomains {
3313
3319
  }
3314
3320
 
3315
3321
  private _pagedList(
3316
- arg: datatypes.Paging
3322
+ arg: datatypes.FilteredPaging
3317
3323
  ): Promise<datatypes.ReservedDomainList> {
3318
3324
  return this.httpClient
3319
3325
  .url(`/reserved_domains`)
@@ -3325,7 +3331,7 @@ export class ReservedDomains {
3325
3331
 
3326
3332
  private async *_asyncList(beforeId: string, limit = '100') {
3327
3333
  let nextPage = 'initial loop';
3328
- let page: datatypes.Paging = { limit: limit };
3334
+ let page: datatypes.FilteredPaging = { limit: limit };
3329
3335
 
3330
3336
  if (beforeId) {
3331
3337
  page.beforeId = beforeId;
@@ -3446,7 +3452,9 @@ export class Secrets {
3446
3452
  return array;
3447
3453
  }
3448
3454
 
3449
- private _pagedList(arg: datatypes.Paging): Promise<datatypes.SecretList> {
3455
+ private _pagedList(
3456
+ arg: datatypes.FilteredPaging
3457
+ ): Promise<datatypes.SecretList> {
3450
3458
  return this.httpClient
3451
3459
  .url(`/vault_secrets`)
3452
3460
  .query(arg)
@@ -3457,7 +3465,7 @@ export class Secrets {
3457
3465
 
3458
3466
  private async *_asyncList(beforeId: string, limit = '100') {
3459
3467
  let nextPage = 'initial loop';
3460
- let page: datatypes.Paging = { limit: limit };
3468
+ let page: datatypes.FilteredPaging = { limit: limit };
3461
3469
 
3462
3470
  if (beforeId) {
3463
3471
  page.beforeId = beforeId;
@@ -3482,6 +3490,109 @@ export class Secrets {
3482
3490
  }
3483
3491
  }
3484
3492
 
3493
+ export class ServiceUsers {
3494
+ private httpClient: Wretcher;
3495
+
3496
+ /** Do not construct this object directly, use the <code>serviceUsers</code> property of an <code>Ngrok</code> client object instead. */
3497
+ public constructor(httpClient: Wretcher) {
3498
+ this.httpClient = httpClient;
3499
+ }
3500
+ /**
3501
+ * Create a new service user
3502
+ */
3503
+ public create(
3504
+ arg: datatypes.ServiceUserCreate
3505
+ ): Promise<datatypes.ServiceUser> {
3506
+ return this.httpClient
3507
+ .url(`/service_users`)
3508
+ .post(util.serializeArgument(arg))
3509
+ .json(payload => util.deserializeResult(payload))
3510
+ .then(f => f, util.onRejected);
3511
+ }
3512
+ /**
3513
+ * Delete a service user by ID
3514
+ */
3515
+ public delete(id): Promise<void> {
3516
+ return this.httpClient
3517
+ .url(`/service_users/${id}`)
3518
+ .delete()
3519
+ .res()
3520
+ .then(f => f, util.onRejected);
3521
+ }
3522
+ /**
3523
+ * Get the details of a Bot User by ID.
3524
+ */
3525
+ public get(id): Promise<datatypes.ServiceUser> {
3526
+ return this.httpClient
3527
+ .url(`/service_users/${id}`)
3528
+ .get()
3529
+ .json(payload => util.deserializeResult(payload))
3530
+ .then(f => f, util.onRejected);
3531
+ }
3532
+ /**
3533
+ * List all service users in this account.
3534
+ */
3535
+ public async list(
3536
+ beforeId?: string,
3537
+ limit?: string
3538
+ ): Promise<Array<datatypes.ServiceUser>> {
3539
+ const array: Array<datatypes.ServiceUser> = [];
3540
+ for await (const item of this._asyncList(beforeId, limit)) {
3541
+ array.push(item);
3542
+ }
3543
+ return array;
3544
+ }
3545
+
3546
+ private _pagedList(
3547
+ arg: datatypes.FilteredPaging
3548
+ ): Promise<datatypes.ServiceUserList> {
3549
+ return this.httpClient
3550
+ .url(`/service_users`)
3551
+ .query(arg)
3552
+ .get()
3553
+ .json(payload => util.deserializeResult(payload))
3554
+ .then(util.onFulfilled, util.onRejected);
3555
+ }
3556
+
3557
+ private async *_asyncList(beforeId: string, limit = '100') {
3558
+ let nextPage = 'initial loop';
3559
+ let page: datatypes.FilteredPaging = { limit: limit };
3560
+
3561
+ if (beforeId) {
3562
+ page.beforeId = beforeId;
3563
+ }
3564
+
3565
+ while (nextPage) {
3566
+ const pagedList = await this._pagedList(page);
3567
+ nextPage = pagedList.nextPageUri;
3568
+ const items: datatypes.ServiceUser[] = pagedList.serviceUsers;
3569
+
3570
+ if (nextPage) {
3571
+ page = {
3572
+ beforeId: items[items.length - 1].id,
3573
+ limit: limit,
3574
+ };
3575
+ }
3576
+
3577
+ for (const item of items) {
3578
+ yield item;
3579
+ }
3580
+ }
3581
+ }
3582
+ /**
3583
+ * Update attributes of a service user by ID.
3584
+ */
3585
+ public update(
3586
+ arg: datatypes.ServiceUserUpdate
3587
+ ): Promise<datatypes.ServiceUser> {
3588
+ return this.httpClient
3589
+ .url(`/service_users/${arg.id}`)
3590
+ .patch(util.serializeArgument(arg))
3591
+ .json(payload => util.deserializeResult(payload))
3592
+ .then(f => f, util.onRejected);
3593
+ }
3594
+ }
3595
+
3485
3596
  /**
3486
3597
  * An SSH Certificate Authority is a pair of an SSH Certificate and its private
3487
3598
  key that can be used to sign other SSH host and user certificates.
@@ -3516,7 +3627,7 @@ export class SSHCertificateAuthorities {
3516
3627
  .then(f => f, util.onRejected);
3517
3628
  }
3518
3629
  /**
3519
- * Get detailed information about an SSH Certficate Authority
3630
+ * Get detailed information about an SSH Certificate Authority
3520
3631
  */
3521
3632
  public get(id): Promise<datatypes.SSHCertificateAuthority> {
3522
3633
  return this.httpClient
@@ -3540,7 +3651,7 @@ export class SSHCertificateAuthorities {
3540
3651
  }
3541
3652
 
3542
3653
  private _pagedList(
3543
- arg: datatypes.Paging
3654
+ arg: datatypes.FilteredPaging
3544
3655
  ): Promise<datatypes.SSHCertificateAuthorityList> {
3545
3656
  return this.httpClient
3546
3657
  .url(`/ssh_certificate_authorities`)
@@ -3552,7 +3663,7 @@ export class SSHCertificateAuthorities {
3552
3663
 
3553
3664
  private async *_asyncList(beforeId: string, limit = '100') {
3554
3665
  let nextPage = 'initial loop';
3555
- let page: datatypes.Paging = { limit: limit };
3666
+ let page: datatypes.FilteredPaging = { limit: limit };
3556
3667
 
3557
3668
  if (beforeId) {
3558
3669
  page.beforeId = beforeId;
@@ -3648,7 +3759,7 @@ export class SSHCredentials {
3648
3759
  }
3649
3760
 
3650
3761
  private _pagedList(
3651
- arg: datatypes.Paging
3762
+ arg: datatypes.FilteredPaging
3652
3763
  ): Promise<datatypes.SSHCredentialList> {
3653
3764
  return this.httpClient
3654
3765
  .url(`/ssh_credentials`)
@@ -3660,7 +3771,7 @@ export class SSHCredentials {
3660
3771
 
3661
3772
  private async *_asyncList(beforeId: string, limit = '100') {
3662
3773
  let nextPage = 'initial loop';
3663
- let page: datatypes.Paging = { limit: limit };
3774
+ let page: datatypes.FilteredPaging = { limit: limit };
3664
3775
 
3665
3776
  if (beforeId) {
3666
3777
  page.beforeId = beforeId;
@@ -3732,7 +3843,7 @@ export class SSHHostCertificates {
3732
3843
  .then(f => f, util.onRejected);
3733
3844
  }
3734
3845
  /**
3735
- * Get detailed information about an SSH Host Certficate
3846
+ * Get detailed information about an SSH Host Certificate
3736
3847
  */
3737
3848
  public get(id): Promise<datatypes.SSHHostCertificate> {
3738
3849
  return this.httpClient
@@ -3841,7 +3952,7 @@ export class SSHUserCertificates {
3841
3952
  .then(f => f, util.onRejected);
3842
3953
  }
3843
3954
  /**
3844
- * Get detailed information about an SSH User Certficate
3955
+ * Get detailed information about an SSH User Certificate
3845
3956
  */
3846
3957
  public get(id): Promise<datatypes.SSHUserCertificate> {
3847
3958
  return this.httpClient
@@ -3976,7 +4087,7 @@ export class TLSCertificates {
3976
4087
  }
3977
4088
 
3978
4089
  private _pagedList(
3979
- arg: datatypes.Paging
4090
+ arg: datatypes.FilteredPaging
3980
4091
  ): Promise<datatypes.TLSCertificateList> {
3981
4092
  return this.httpClient
3982
4093
  .url(`/tls_certificates`)
@@ -3988,7 +4099,7 @@ export class TLSCertificates {
3988
4099
 
3989
4100
  private async *_asyncList(beforeId: string, limit = '100') {
3990
4101
  let nextPage = 'initial loop';
3991
- let page: datatypes.Paging = { limit: limit };
4102
+ let page: datatypes.FilteredPaging = { limit: limit };
3992
4103
 
3993
4104
  if (beforeId) {
3994
4105
  page.beforeId = beforeId;
@@ -4221,7 +4332,9 @@ export class Vaults {
4221
4332
  return array;
4222
4333
  }
4223
4334
 
4224
- private _pagedList(arg: datatypes.Paging): Promise<datatypes.VaultList> {
4335
+ private _pagedList(
4336
+ arg: datatypes.FilteredPaging
4337
+ ): Promise<datatypes.VaultList> {
4225
4338
  return this.httpClient
4226
4339
  .url(`/vaults`)
4227
4340
  .query(arg)
@@ -4232,7 +4345,7 @@ export class Vaults {
4232
4345
 
4233
4346
  private async *_asyncList(beforeId: string, limit = '100') {
4234
4347
  let nextPage = 'initial loop';
4235
- let page: datatypes.Paging = { limit: limit };
4348
+ let page: datatypes.FilteredPaging = { limit: limit };
4236
4349
 
4237
4350
  if (beforeId) {
4238
4351
  page.beforeId = beforeId;