@ngrok/ngrok-api 0.9.0 → 0.11.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.
- package/.eslintignore +2 -0
- package/.eslintrc.js +2 -0
- package/.prettierrc.js +2 -0
- package/CHANGELOG.md +16 -3
- package/CODE_OF_CONDUCT.md +45 -0
- package/README.md +9 -3
- package/docs/assets/js/search.js +1 -1
- package/docs/classes/client.Ngrok.html +82 -28
- package/docs/classes/services.APIKeys.html +20 -11
- package/docs/classes/services.AbuseReports.html +5 -5
- package/docs/classes/services.AgentIngresses.html +20 -11
- package/docs/classes/services.ApplicationSessions.html +288 -0
- package/docs/classes/services.ApplicationUsers.html +288 -0
- package/docs/classes/services.BotUsers.html +352 -0
- package/docs/classes/services.CertificateAuthorities.html +20 -11
- package/docs/classes/services.Credentials.html +21 -12
- package/docs/classes/services.EdgeRouteBackendModule.html +4 -4
- package/docs/classes/services.EdgeRouteCircuitBreakerModule.html +4 -4
- package/docs/classes/services.EdgeRouteCompressionModule.html +4 -4
- package/docs/classes/services.EdgeRouteIPRestrictionModule.html +4 -4
- package/docs/classes/services.EdgeRouteOAuthModule.html +4 -4
- package/docs/classes/services.EdgeRouteOIDCModule.html +4 -4
- package/docs/classes/services.EdgeRoutePolicyModule.html +270 -0
- package/docs/classes/services.EdgeRouteRequestHeadersModule.html +4 -4
- package/docs/classes/services.EdgeRouteResponseHeadersModule.html +4 -4
- package/docs/classes/services.EdgeRouteSAMLModule.html +4 -4
- package/docs/classes/services.EdgeRouteUserAgentFilterModule.html +270 -0
- package/docs/classes/services.EdgeRouteWebhookVerificationModule.html +4 -4
- package/docs/classes/services.EdgeRouteWebsocketTCPConverterModule.html +4 -4
- package/docs/classes/services.EdgesHTTPS.html +20 -11
- package/docs/classes/services.EdgesHTTPSRoutes.html +5 -5
- package/docs/classes/services.EdgesTCP.html +20 -11
- package/docs/classes/services.EdgesTLS.html +20 -11
- package/docs/classes/services.Endpoints.html +15 -6
- package/docs/classes/services.EventDestinations.html +21 -12
- package/docs/classes/services.EventSources.html +6 -6
- package/docs/classes/services.EventSubscriptions.html +20 -11
- package/docs/classes/services.FailoverBackends.html +20 -11
- package/docs/classes/services.HTTPResponseBackends.html +20 -11
- package/docs/classes/services.HTTPSEdgeMutualTLSModule.html +8 -8
- package/docs/classes/services.HTTPSEdgeTLSTerminationModule.html +8 -8
- package/docs/classes/services.IPPolicies.html +20 -11
- package/docs/classes/services.IPPolicyRules.html +20 -11
- package/docs/classes/services.IPRestrictions.html +20 -11
- package/docs/classes/services.ReservedAddrs.html +20 -11
- package/docs/classes/services.ReservedDomains.html +26 -17
- package/docs/classes/services.SSHCertificateAuthorities.html +20 -11
- package/docs/classes/services.SSHCredentials.html +20 -11
- package/docs/classes/services.SSHHostCertificates.html +20 -11
- package/docs/classes/services.SSHUserCertificates.html +20 -11
- package/docs/classes/services.StaticBackends.html +360 -0
- package/docs/classes/services.TCPEdgeBackendModule.html +8 -8
- package/docs/classes/services.TCPEdgeIPRestrictionModule.html +8 -8
- package/docs/classes/services.TCPEdgePolicyModule.html +270 -0
- package/docs/classes/services.TLSCertificates.html +20 -11
- package/docs/classes/services.TLSEdgeBackendModule.html +8 -8
- package/docs/classes/services.TLSEdgeIPRestrictionModule.html +8 -8
- package/docs/classes/services.TLSEdgeMutualTLSModule.html +8 -8
- package/docs/classes/services.TLSEdgePolicyModule.html +270 -0
- package/docs/classes/services.TLSEdgeTLSTerminationModule.html +8 -8
- package/docs/classes/services.TunnelGroupBackends.html +20 -11
- package/docs/classes/services.TunnelSessions.html +22 -13
- package/docs/classes/services.Tunnels.html +15 -6
- package/docs/classes/services.WeightedBackends.html +20 -11
- package/docs/index.html +8 -3
- package/docs/interfaces/client.NgrokConfig.html +3 -3
- package/docs/interfaces/datatypes.APIKey.html +28 -9
- package/docs/interfaces/datatypes.APIKeyCreate.html +23 -4
- package/docs/interfaces/datatypes.APIKeyList.html +3 -3
- package/docs/interfaces/datatypes.APIKeyUpdate.html +3 -3
- package/docs/interfaces/datatypes.AWSAuth.html +2 -2
- package/docs/interfaces/datatypes.AWSCredentials.html +2 -2
- package/docs/interfaces/datatypes.AWSRole.html +1 -1
- package/docs/interfaces/datatypes.AbuseReport.html +9 -9
- package/docs/interfaces/datatypes.AbuseReportCreate.html +3 -3
- package/docs/interfaces/datatypes.AbuseReportHostname.html +2 -2
- package/docs/interfaces/datatypes.AgentIngress.html +49 -11
- package/docs/interfaces/datatypes.AgentIngressCertJob.html +224 -0
- package/docs/interfaces/datatypes.AgentIngressCertPolicy.html +186 -0
- package/docs/interfaces/datatypes.AgentIngressCertStatus.html +186 -0
- package/docs/interfaces/datatypes.AgentIngressCreate.html +24 -5
- package/docs/interfaces/datatypes.AgentIngressList.html +3 -3
- package/docs/interfaces/datatypes.AgentIngressUpdate.html +22 -3
- package/docs/interfaces/datatypes.ApplicationSession.html +357 -0
- package/docs/interfaces/datatypes.ApplicationSessionList.html +205 -0
- package/docs/interfaces/datatypes.ApplicationUser.html +338 -0
- package/docs/interfaces/datatypes.ApplicationUserList.html +205 -0
- package/docs/interfaces/datatypes.BotUser.html +243 -0
- package/docs/interfaces/datatypes.BotUserCreate.html +186 -0
- package/docs/interfaces/datatypes.BotUserList.html +205 -0
- package/docs/interfaces/datatypes.BotUserUpdate.html +200 -0
- package/docs/interfaces/datatypes.BrowserSession.html +205 -0
- package/docs/interfaces/datatypes.CertificateAuthority.html +16 -16
- package/docs/interfaces/datatypes.CertificateAuthorityCreate.html +5 -5
- package/docs/interfaces/datatypes.CertificateAuthorityList.html +3 -3
- package/docs/interfaces/datatypes.CertificateAuthorityUpdate.html +3 -3
- package/docs/interfaces/datatypes.Credential.html +30 -11
- package/docs/interfaces/datatypes.CredentialCreate.html +25 -6
- package/docs/interfaces/datatypes.CredentialList.html +3 -3
- package/docs/interfaces/datatypes.CredentialUpdate.html +5 -5
- package/docs/interfaces/datatypes.EdgeBackendReplace.html +2 -2
- package/docs/interfaces/datatypes.EdgeIPRestrictionReplace.html +2 -2
- package/docs/interfaces/datatypes.EdgeMutualTLSReplace.html +2 -2
- package/docs/interfaces/datatypes.EdgePolicyReplace.html +176 -0
- package/docs/interfaces/datatypes.EdgeRouteBackendReplace.html +3 -3
- package/docs/interfaces/datatypes.EdgeRouteCircuitBreakerReplace.html +3 -3
- package/docs/interfaces/datatypes.EdgeRouteCompressionReplace.html +3 -3
- package/docs/interfaces/datatypes.EdgeRouteIPRestrictionReplace.html +3 -3
- package/docs/interfaces/datatypes.EdgeRouteItem.html +2 -2
- package/docs/interfaces/datatypes.EdgeRouteOAuthReplace.html +3 -3
- package/docs/interfaces/datatypes.EdgeRouteOIDCReplace.html +3 -3
- package/docs/interfaces/datatypes.EdgeRoutePolicyReplace.html +190 -0
- package/docs/interfaces/datatypes.EdgeRouteRequestHeadersReplace.html +3 -3
- package/docs/interfaces/datatypes.EdgeRouteResponseHeadersReplace.html +3 -3
- package/docs/interfaces/datatypes.EdgeRouteSAMLReplace.html +3 -3
- package/docs/interfaces/datatypes.EdgeRouteUserAgentFilterReplace.html +190 -0
- package/docs/interfaces/datatypes.EdgeRouteWebhookVerificationReplace.html +3 -3
- package/docs/interfaces/datatypes.EdgeRouteWebsocketTCPConverterReplace.html +3 -3
- package/docs/interfaces/datatypes.EdgeTLSTerminationAtEdgeReplace.html +2 -2
- package/docs/interfaces/datatypes.EdgeTLSTerminationReplace.html +2 -2
- package/docs/interfaces/datatypes.Endpoint.html +19 -19
- package/docs/interfaces/datatypes.EndpointAction.html +186 -0
- package/docs/interfaces/datatypes.EndpointBackend.html +2 -2
- package/docs/interfaces/datatypes.EndpointBackendMutate.html +2 -2
- package/docs/interfaces/datatypes.EndpointCircuitBreaker.html +6 -6
- package/docs/interfaces/datatypes.EndpointCompression.html +1 -1
- package/docs/interfaces/datatypes.EndpointIPPolicy.html +7 -2
- package/docs/interfaces/datatypes.EndpointIPPolicyMutate.html +2 -2
- package/docs/interfaces/datatypes.EndpointList.html +3 -3
- package/docs/interfaces/datatypes.EndpointMutualTLS.html +2 -2
- package/docs/interfaces/datatypes.EndpointMutualTLSMutate.html +2 -2
- package/docs/interfaces/datatypes.EndpointOAuth.html +7 -7
- package/docs/interfaces/datatypes.EndpointOAuthAmazon.html +218 -0
- package/docs/interfaces/datatypes.EndpointOAuthFacebook.html +5 -5
- package/docs/interfaces/datatypes.EndpointOAuthGitHub.html +12 -12
- package/docs/interfaces/datatypes.EndpointOAuthGitLab.html +218 -0
- package/docs/interfaces/datatypes.EndpointOAuthGoogle.html +5 -5
- package/docs/interfaces/datatypes.EndpointOAuthLinkedIn.html +218 -0
- package/docs/interfaces/datatypes.EndpointOAuthMicrosoft.html +5 -5
- package/docs/interfaces/datatypes.EndpointOAuthProvider.html +80 -4
- package/docs/interfaces/datatypes.EndpointOAuthTwitch.html +218 -0
- package/docs/interfaces/datatypes.EndpointOIDC.html +9 -9
- package/docs/interfaces/datatypes.EndpointPolicy.html +205 -0
- package/docs/interfaces/datatypes.EndpointRequestHeaders.html +3 -3
- package/docs/interfaces/datatypes.EndpointResponseHeaders.html +3 -3
- package/docs/interfaces/datatypes.EndpointRule.html +205 -0
- package/docs/interfaces/datatypes.EndpointSAML.html +15 -15
- package/docs/interfaces/datatypes.EndpointSAMLMutate.html +10 -10
- package/docs/interfaces/datatypes.EndpointTLSTermination.html +3 -3
- package/docs/interfaces/datatypes.EndpointTLSTerminationAtEdge.html +2 -2
- package/docs/interfaces/datatypes.EndpointUserAgentFilter.html +190 -0
- package/docs/interfaces/datatypes.EndpointWebhookValidation.html +4 -4
- package/docs/interfaces/datatypes.EndpointWebsocketTCPConverter.html +1 -1
- package/docs/interfaces/datatypes.Error.html +4 -4
- package/docs/interfaces/datatypes.EventDestination.html +10 -10
- package/docs/interfaces/datatypes.EventDestinationCreate.html +6 -6
- package/docs/interfaces/datatypes.EventDestinationList.html +3 -3
- package/docs/interfaces/datatypes.EventDestinationUpdate.html +5 -5
- package/docs/interfaces/datatypes.EventSource.html +2 -2
- package/docs/interfaces/datatypes.EventSourceCreate.html +2 -2
- package/docs/interfaces/datatypes.EventSourceItem.html +2 -2
- package/docs/interfaces/datatypes.EventSourceList.html +2 -2
- package/docs/interfaces/datatypes.EventSourcePaging.html +1 -1
- package/docs/interfaces/datatypes.EventSourceReplace.html +1 -1
- package/docs/interfaces/datatypes.EventSourceUpdate.html +2 -2
- package/docs/interfaces/datatypes.EventSubscription.html +10 -10
- package/docs/interfaces/datatypes.EventSubscriptionCreate.html +6 -6
- package/docs/interfaces/datatypes.EventSubscriptionList.html +3 -3
- package/docs/interfaces/datatypes.EventSubscriptionUpdate.html +5 -5
- package/docs/interfaces/datatypes.EventTarget.html +22 -3
- package/docs/interfaces/datatypes.EventTargetCloudwatchLogs.html +2 -2
- package/docs/interfaces/datatypes.EventTargetDatadog.html +224 -0
- package/docs/interfaces/datatypes.EventTargetFirehose.html +2 -2
- package/docs/interfaces/datatypes.EventTargetKinesis.html +2 -2
- package/docs/interfaces/datatypes.FailoverBackend.html +9 -9
- package/docs/interfaces/datatypes.FailoverBackendCreate.html +5 -5
- package/docs/interfaces/datatypes.FailoverBackendList.html +3 -3
- package/docs/interfaces/datatypes.FailoverBackendUpdate.html +4 -4
- package/docs/interfaces/datatypes.HTTPResponseBackend.html +11 -11
- package/docs/interfaces/datatypes.HTTPResponseBackendCreate.html +7 -7
- package/docs/interfaces/datatypes.HTTPResponseBackendList.html +3 -3
- package/docs/interfaces/datatypes.HTTPResponseBackendUpdate.html +6 -6
- package/docs/interfaces/datatypes.HTTPSEdge.html +12 -12
- package/docs/interfaces/datatypes.HTTPSEdgeCreate.html +7 -7
- package/docs/interfaces/datatypes.HTTPSEdgeList.html +3 -3
- package/docs/interfaces/datatypes.HTTPSEdgeRoute.html +55 -22
- package/docs/interfaces/datatypes.HTTPSEdgeRouteCreate.html +51 -18
- package/docs/interfaces/datatypes.HTTPSEdgeRouteUpdate.html +52 -19
- package/docs/interfaces/datatypes.HTTPSEdgeUpdate.html +6 -6
- package/docs/interfaces/datatypes.IPPolicy.html +8 -8
- package/docs/interfaces/datatypes.IPPolicyCreate.html +4 -4
- package/docs/interfaces/datatypes.IPPolicyList.html +3 -3
- package/docs/interfaces/datatypes.IPPolicyRule.html +11 -11
- package/docs/interfaces/datatypes.IPPolicyRuleCreate.html +7 -7
- package/docs/interfaces/datatypes.IPPolicyRuleList.html +3 -3
- package/docs/interfaces/datatypes.IPPolicyRuleUpdate.html +4 -4
- package/docs/interfaces/datatypes.IPPolicyUpdate.html +3 -3
- package/docs/interfaces/datatypes.IPRestriction.html +11 -11
- package/docs/interfaces/datatypes.IPRestrictionCreate.html +7 -7
- package/docs/interfaces/datatypes.IPRestrictionList.html +3 -3
- package/docs/interfaces/datatypes.IPRestrictionUpdate.html +5 -5
- package/docs/interfaces/datatypes.IdentityProvider.html +186 -0
- package/docs/interfaces/datatypes.Item.html +1 -1
- package/docs/interfaces/datatypes.Location.html +224 -0
- package/docs/interfaces/datatypes.Paging.html +2 -2
- package/docs/interfaces/datatypes.Ref.html +2 -2
- package/docs/interfaces/datatypes.ReservedAddr.html +10 -10
- package/docs/interfaces/datatypes.ReservedAddrCreate.html +5 -5
- package/docs/interfaces/datatypes.ReservedAddrList.html +3 -3
- package/docs/interfaces/datatypes.ReservedAddrUpdate.html +3 -3
- package/docs/interfaces/datatypes.ReservedDomain.html +17 -17
- package/docs/interfaces/datatypes.ReservedDomainCertJob.html +6 -6
- package/docs/interfaces/datatypes.ReservedDomainCertPolicy.html +2 -2
- package/docs/interfaces/datatypes.ReservedDomainCertStatus.html +3 -3
- package/docs/interfaces/datatypes.ReservedDomainCreate.html +19 -19
- package/docs/interfaces/datatypes.ReservedDomainList.html +3 -3
- package/docs/interfaces/datatypes.ReservedDomainUpdate.html +5 -5
- package/docs/interfaces/datatypes.SSHCertificateAuthority.html +10 -10
- package/docs/interfaces/datatypes.SSHCertificateAuthorityCreate.html +7 -7
- package/docs/interfaces/datatypes.SSHCertificateAuthorityList.html +3 -3
- package/docs/interfaces/datatypes.SSHCertificateAuthorityUpdate.html +3 -3
- package/docs/interfaces/datatypes.SSHCredential.html +30 -11
- package/docs/interfaces/datatypes.SSHCredentialCreate.html +26 -7
- package/docs/interfaces/datatypes.SSHCredentialList.html +3 -3
- package/docs/interfaces/datatypes.SSHCredentialUpdate.html +5 -5
- package/docs/interfaces/datatypes.SSHHostCertificate.html +17 -17
- package/docs/interfaces/datatypes.SSHHostCertificateCreate.html +11 -11
- package/docs/interfaces/datatypes.SSHHostCertificateList.html +3 -3
- package/docs/interfaces/datatypes.SSHHostCertificateUpdate.html +3 -3
- package/docs/interfaces/datatypes.SSHUserCertificate.html +19 -19
- package/docs/interfaces/datatypes.SSHUserCertificateCreate.html +13 -13
- package/docs/interfaces/datatypes.SSHUserCertificateList.html +3 -3
- package/docs/interfaces/datatypes.SSHUserCertificateUpdate.html +3 -3
- package/docs/interfaces/datatypes.StaticBackend.html +281 -0
- package/docs/interfaces/datatypes.StaticBackendCreate.html +224 -0
- package/docs/interfaces/datatypes.StaticBackendList.html +205 -0
- package/docs/interfaces/datatypes.StaticBackendTLS.html +167 -0
- package/docs/interfaces/datatypes.StaticBackendUpdate.html +238 -0
- package/docs/interfaces/datatypes.TCPEdge.html +30 -11
- package/docs/interfaces/datatypes.TCPEdgeCreate.html +26 -7
- package/docs/interfaces/datatypes.TCPEdgeList.html +3 -3
- package/docs/interfaces/datatypes.TCPEdgeUpdate.html +25 -6
- package/docs/interfaces/datatypes.TLSCertificate.html +28 -28
- package/docs/interfaces/datatypes.TLSCertificateCreate.html +8 -8
- package/docs/interfaces/datatypes.TLSCertificateList.html +3 -3
- package/docs/interfaces/datatypes.TLSCertificateSANs.html +2 -2
- package/docs/interfaces/datatypes.TLSCertificateUpdate.html +3 -3
- package/docs/interfaces/datatypes.TLSEdge.html +32 -13
- package/docs/interfaces/datatypes.TLSEdgeCreate.html +28 -9
- package/docs/interfaces/datatypes.TLSEdgeList.html +3 -3
- package/docs/interfaces/datatypes.TLSEdgeUpdate.html +27 -8
- package/docs/interfaces/datatypes.Tunnel.html +17 -17
- package/docs/interfaces/datatypes.TunnelGroupBackend.html +10 -10
- package/docs/interfaces/datatypes.TunnelGroupBackendCreate.html +5 -5
- package/docs/interfaces/datatypes.TunnelGroupBackendList.html +3 -3
- package/docs/interfaces/datatypes.TunnelGroupBackendUpdate.html +4 -4
- package/docs/interfaces/datatypes.TunnelList.html +3 -3
- package/docs/interfaces/datatypes.TunnelSession.html +12 -12
- package/docs/interfaces/datatypes.TunnelSessionList.html +3 -3
- package/docs/interfaces/datatypes.TunnelSessionsUpdate.html +1 -1
- package/docs/interfaces/datatypes.UserAgent.html +262 -0
- package/docs/interfaces/datatypes.WeightedBackend.html +9 -9
- package/docs/interfaces/datatypes.WeightedBackendCreate.html +5 -5
- package/docs/interfaces/datatypes.WeightedBackendList.html +3 -3
- package/docs/interfaces/datatypes.WeightedBackendUpdate.html +4 -4
- package/docs/modules/datatypes.html +128 -0
- package/docs/modules/services.html +32 -0
- package/jest.config.js +2 -0
- package/lib/client.d.ts +17 -8
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +92 -119
- package/lib/client.js.map +1 -1
- package/lib/datatypes.d.ts +539 -204
- package/lib/datatypes.d.ts.map +1 -1
- package/lib/datatypes.js +4 -3
- package/lib/datatypes.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +16 -28
- package/lib/index.js.map +1 -1
- package/lib/services.d.ts +254 -126
- package/lib/services.d.ts.map +1 -1
- package/lib/services.js +3613 -3356
- package/lib/services.js.map +1 -1
- package/lib/util.d.ts.map +1 -1
- package/lib/util.js +35 -34
- package/lib/util.js.map +1 -1
- package/package.json +4 -3
- package/src/client.ts +28 -33
- package/src/datatypes.ts +576 -207
- package/src/index.ts +2 -0
- package/src/services.ts +1136 -553
- package/src/util.ts +2 -0
- package/test/apikey.test.js +62 -63
package/lib/datatypes.d.ts
CHANGED
|
@@ -26,11 +26,11 @@ export interface AbuseReport {
|
|
|
26
26
|
/** URI of the abuse report API resource */
|
|
27
27
|
uri: string;
|
|
28
28
|
/** timestamp that the abuse report record was created in RFC 3339 format */
|
|
29
|
-
createdAt:
|
|
29
|
+
createdAt: Date;
|
|
30
30
|
/** a list of URLs containing suspected abusive content */
|
|
31
31
|
urls: Array<string>;
|
|
32
32
|
/** arbitrary user-defined data about this abuse report. Optional, max 4096 bytes. */
|
|
33
|
-
metadata
|
|
33
|
+
metadata?: string;
|
|
34
34
|
/** Indicates whether ngrok has processed the abuse report. one of `PENDING`, `PROCESSED`, or `PARTIALLY_PROCESSED` */
|
|
35
35
|
status: string;
|
|
36
36
|
/** an array of hostname statuses related to the report */
|
|
@@ -46,15 +46,17 @@ export interface AbuseReportCreate {
|
|
|
46
46
|
/** a list of URLs containing suspected abusive content */
|
|
47
47
|
urls: Array<string>;
|
|
48
48
|
/** arbitrary user-defined data about this abuse report. Optional, max 4096 bytes. */
|
|
49
|
-
metadata
|
|
49
|
+
metadata?: string;
|
|
50
50
|
}
|
|
51
51
|
export interface AgentIngressCreate {
|
|
52
52
|
/** human-readable description of the use of this Agent Ingress. optional, max 255 bytes. */
|
|
53
|
-
description
|
|
53
|
+
description?: string;
|
|
54
54
|
/** arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes */
|
|
55
|
-
metadata
|
|
55
|
+
metadata?: string;
|
|
56
56
|
/** the domain that you own to be used as the base domain name to generate regional agent ingress domains. */
|
|
57
57
|
domain: string;
|
|
58
|
+
/** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional. */
|
|
59
|
+
certificateManagementPolicy?: AgentIngressCertPolicy;
|
|
58
60
|
}
|
|
59
61
|
export interface AgentIngressUpdate {
|
|
60
62
|
id: string;
|
|
@@ -62,6 +64,8 @@ export interface AgentIngressUpdate {
|
|
|
62
64
|
description?: string;
|
|
63
65
|
/** arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes */
|
|
64
66
|
metadata?: string;
|
|
67
|
+
/** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional. */
|
|
68
|
+
certificateManagementPolicy?: AgentIngressCertPolicy;
|
|
65
69
|
}
|
|
66
70
|
export interface AgentIngress {
|
|
67
71
|
/** unique Agent Ingress resource identifier */
|
|
@@ -69,9 +73,9 @@ export interface AgentIngress {
|
|
|
69
73
|
/** URI to the API resource of this Agent ingress */
|
|
70
74
|
uri: string;
|
|
71
75
|
/** human-readable description of the use of this Agent Ingress. optional, max 255 bytes. */
|
|
72
|
-
description
|
|
76
|
+
description?: string;
|
|
73
77
|
/** arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes */
|
|
74
|
-
metadata
|
|
78
|
+
metadata?: string;
|
|
75
79
|
/** the domain that you own to be used as the base domain name to generate regional agent ingress domains. */
|
|
76
80
|
domain: string;
|
|
77
81
|
/** 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 */
|
|
@@ -79,7 +83,11 @@ export interface AgentIngress {
|
|
|
79
83
|
/** 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 */
|
|
80
84
|
regionDomains: Array<string>;
|
|
81
85
|
/** timestamp when the Agent Ingress was created, RFC 3339 format */
|
|
82
|
-
createdAt:
|
|
86
|
+
createdAt: Date;
|
|
87
|
+
/** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled */
|
|
88
|
+
certificateManagementPolicy?: AgentIngressCertPolicy;
|
|
89
|
+
/** status of the automatic certificate management for this domain, or null if automatic management is disabled */
|
|
90
|
+
certificateManagementStatus?: AgentIngressCertStatus;
|
|
83
91
|
}
|
|
84
92
|
export interface AgentIngressList {
|
|
85
93
|
/** the list of Agent Ingresses owned by this account */
|
|
@@ -89,11 +97,35 @@ export interface AgentIngressList {
|
|
|
89
97
|
/** URI of the next page, or null if there is no next page */
|
|
90
98
|
nextPageUri?: string;
|
|
91
99
|
}
|
|
100
|
+
export interface AgentIngressCertPolicy {
|
|
101
|
+
/** certificate authority to request certificates from. The only supported value is letsencrypt. */
|
|
102
|
+
authority: string;
|
|
103
|
+
/** type of private key to use when requesting certificates. Defaults to rsa, can be either rsa or ecdsa. */
|
|
104
|
+
privateKeyType: string;
|
|
105
|
+
}
|
|
106
|
+
export interface AgentIngressCertStatus {
|
|
107
|
+
/** timestamp when the next renewal will be requested, RFC 3339 format */
|
|
108
|
+
renewsAt?: Date;
|
|
109
|
+
/** status of the certificate provisioning job, or null if the certificiate isn't being provisioned or renewed */
|
|
110
|
+
provisioningJob?: AgentIngressCertJob;
|
|
111
|
+
}
|
|
112
|
+
export interface AgentIngressCertJob {
|
|
113
|
+
/** 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). */
|
|
114
|
+
errorCode?: string;
|
|
115
|
+
/** a message describing the current status or error */
|
|
116
|
+
msg: string;
|
|
117
|
+
/** timestamp when the provisioning job started, RFC 3339 format */
|
|
118
|
+
startedAt: Date;
|
|
119
|
+
/** timestamp when the provisioning job will be retried */
|
|
120
|
+
retriesAt?: Date;
|
|
121
|
+
}
|
|
92
122
|
export interface APIKeyCreate {
|
|
93
123
|
/** human-readable description of what uses the API key to authenticate. optional, max 255 bytes. */
|
|
94
|
-
description
|
|
124
|
+
description?: string;
|
|
95
125
|
/** arbitrary user-defined data of this API key. optional, max 4096 bytes */
|
|
96
|
-
metadata
|
|
126
|
+
metadata?: string;
|
|
127
|
+
/** 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. */
|
|
128
|
+
ownerId?: string;
|
|
97
129
|
}
|
|
98
130
|
export interface APIKeyUpdate {
|
|
99
131
|
id: string;
|
|
@@ -108,13 +140,15 @@ export interface APIKey {
|
|
|
108
140
|
/** URI to the API resource of this API key */
|
|
109
141
|
uri: string;
|
|
110
142
|
/** human-readable description of what uses the API key to authenticate. optional, max 255 bytes. */
|
|
111
|
-
description
|
|
143
|
+
description?: string;
|
|
112
144
|
/** arbitrary user-defined data of this API key. optional, max 4096 bytes */
|
|
113
|
-
metadata
|
|
145
|
+
metadata?: string;
|
|
114
146
|
/** timestamp when the api key was created, RFC 3339 format */
|
|
115
|
-
createdAt:
|
|
147
|
+
createdAt: Date;
|
|
116
148
|
/** the bearer token that can be placed into the Authorization header to authenticate request to the ngrok API. **This value is only available one time, on the API response from key creation. Otherwise it is null.** */
|
|
117
149
|
token?: string;
|
|
150
|
+
/** 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. */
|
|
151
|
+
ownerId?: string;
|
|
118
152
|
}
|
|
119
153
|
export interface APIKeyList {
|
|
120
154
|
/** the list of API keys for this account */
|
|
@@ -124,25 +158,158 @@ export interface APIKeyList {
|
|
|
124
158
|
/** URI of the next page, or null if there is no next page */
|
|
125
159
|
nextPageUri?: string;
|
|
126
160
|
}
|
|
161
|
+
export interface ApplicationSession {
|
|
162
|
+
/** unique application session resource identifier */
|
|
163
|
+
id: string;
|
|
164
|
+
/** URI of the application session API resource */
|
|
165
|
+
uri: string;
|
|
166
|
+
/** URL of the hostport served by this endpoint */
|
|
167
|
+
publicUrl: string;
|
|
168
|
+
/** browser session details of the application session */
|
|
169
|
+
browserSession: BrowserSession;
|
|
170
|
+
/** application user this session is associated with */
|
|
171
|
+
applicationUser?: Ref;
|
|
172
|
+
/** timestamp when the user was created in RFC 3339 format */
|
|
173
|
+
createdAt?: Date;
|
|
174
|
+
/** timestamp when the user was last active in RFC 3339 format */
|
|
175
|
+
lastActive?: Date;
|
|
176
|
+
/** timestamp when session expires in RFC 3339 format */
|
|
177
|
+
expiresAt?: Date;
|
|
178
|
+
/** ephemeral endpoint this session is associated with */
|
|
179
|
+
endpoint?: Ref;
|
|
180
|
+
/** edge this session is associated with, null if the endpoint is agent-initiated */
|
|
181
|
+
edge?: Ref;
|
|
182
|
+
/** route this session is associated with, null if the endpoint is agent-initiated */
|
|
183
|
+
route?: Ref;
|
|
184
|
+
}
|
|
185
|
+
export interface ApplicationSessionList {
|
|
186
|
+
/** list of all application sessions on this account */
|
|
187
|
+
applicationSessions: Array<ApplicationSession>;
|
|
188
|
+
/** URI of the application session list API resource */
|
|
189
|
+
uri: string;
|
|
190
|
+
/** URI of the next page, or null if there is no next page */
|
|
191
|
+
nextPageUri?: string;
|
|
192
|
+
}
|
|
193
|
+
export interface BrowserSession {
|
|
194
|
+
/** HTTP User-Agent data */
|
|
195
|
+
userAgent: UserAgent;
|
|
196
|
+
/** IP address */
|
|
197
|
+
ipAddress: string;
|
|
198
|
+
/** IP geolocation data */
|
|
199
|
+
location?: Location;
|
|
200
|
+
}
|
|
201
|
+
export interface UserAgent {
|
|
202
|
+
/** raw User-Agent request header */
|
|
203
|
+
raw: string;
|
|
204
|
+
/** browser name (e.g. Chrome) */
|
|
205
|
+
browserName?: string;
|
|
206
|
+
/** browser version (e.g. 102) */
|
|
207
|
+
browserVersion?: string;
|
|
208
|
+
/** type of device (e.g. Desktop) */
|
|
209
|
+
deviceType?: string;
|
|
210
|
+
/** operating system name (e.g. MacOS) */
|
|
211
|
+
osName?: string;
|
|
212
|
+
/** operating system version (e.g. 10.15.7) */
|
|
213
|
+
osVersion?: string;
|
|
214
|
+
}
|
|
215
|
+
export interface Location {
|
|
216
|
+
/** ISO country code */
|
|
217
|
+
countryCode?: string;
|
|
218
|
+
/** geographical latitude */
|
|
219
|
+
latitude?: number;
|
|
220
|
+
/** geographical longitude */
|
|
221
|
+
longitude?: number;
|
|
222
|
+
/** accuracy radius of the geographical coordinates */
|
|
223
|
+
latLongRadiusKm?: number;
|
|
224
|
+
}
|
|
225
|
+
export interface ApplicationUser {
|
|
226
|
+
/** unique application user resource identifier */
|
|
227
|
+
id: string;
|
|
228
|
+
/** URI of the application user API resource */
|
|
229
|
+
uri: string;
|
|
230
|
+
/** identity provider that the user authenticated with */
|
|
231
|
+
identityProvider: IdentityProvider;
|
|
232
|
+
/** unique user identifier */
|
|
233
|
+
providerUserId: string;
|
|
234
|
+
/** user username */
|
|
235
|
+
username?: string;
|
|
236
|
+
/** user email */
|
|
237
|
+
email?: string;
|
|
238
|
+
/** user common name */
|
|
239
|
+
name?: string;
|
|
240
|
+
/** timestamp when the user was created in RFC 3339 format */
|
|
241
|
+
createdAt?: Date;
|
|
242
|
+
/** timestamp when the user was last active in RFC 3339 format */
|
|
243
|
+
lastActive?: Date;
|
|
244
|
+
/** timestamp when the user last signed-in in RFC 3339 format */
|
|
245
|
+
lastLogin?: Date;
|
|
246
|
+
}
|
|
247
|
+
export interface ApplicationUserList {
|
|
248
|
+
/** list of all application users on this account */
|
|
249
|
+
applicationUsers: Array<ApplicationUser>;
|
|
250
|
+
/** URI of the application user list API resource */
|
|
251
|
+
uri: string;
|
|
252
|
+
/** URI of the next page, or null if there is no next page */
|
|
253
|
+
nextPageUri?: string;
|
|
254
|
+
}
|
|
255
|
+
export interface IdentityProvider {
|
|
256
|
+
/** name of the identity provider (e.g. Google) */
|
|
257
|
+
name: string;
|
|
258
|
+
/** URL of the identity provider (e.g. https://accounts.google.com) */
|
|
259
|
+
url: string;
|
|
260
|
+
}
|
|
261
|
+
export interface TunnelSession {
|
|
262
|
+
/** version of the ngrok agent that started this ngrok tunnel session */
|
|
263
|
+
agentVersion: string;
|
|
264
|
+
/** reference to the tunnel credential or ssh credential used by the ngrok agent to start this tunnel session */
|
|
265
|
+
credential: Ref;
|
|
266
|
+
/** unique tunnel session resource identifier */
|
|
267
|
+
id: string;
|
|
268
|
+
/** source ip address of the tunnel session */
|
|
269
|
+
ip: string;
|
|
270
|
+
/** arbitrary user-defined data specified in the metadata property in the ngrok configuration file. See the metadata configuration option */
|
|
271
|
+
metadata?: string;
|
|
272
|
+
/** operating system of the host the ngrok agent is running on */
|
|
273
|
+
os: string;
|
|
274
|
+
/** the ngrok region identifier in which this tunnel session was started */
|
|
275
|
+
region: string;
|
|
276
|
+
/** time when the tunnel session first connected to the ngrok servers */
|
|
277
|
+
startedAt: Date;
|
|
278
|
+
/** the transport protocol used to start the tunnel session. Either `ngrok/v2` or `ssh` */
|
|
279
|
+
transport: string;
|
|
280
|
+
/** URI to the API resource of the tunnel session */
|
|
281
|
+
uri: string;
|
|
282
|
+
}
|
|
283
|
+
export interface TunnelSessionList {
|
|
284
|
+
/** list of all tunnel sessions on this account */
|
|
285
|
+
tunnelSessions: Array<TunnelSession>;
|
|
286
|
+
/** URI to the API resource of the tunnel session list */
|
|
287
|
+
uri: string;
|
|
288
|
+
/** URI of the next page, or null if there is no next page */
|
|
289
|
+
nextPageUri?: string;
|
|
290
|
+
}
|
|
291
|
+
export interface TunnelSessionsUpdate {
|
|
292
|
+
id: string;
|
|
293
|
+
}
|
|
127
294
|
export interface FailoverBackend {
|
|
128
295
|
/** unique identifier for this Failover backend */
|
|
129
296
|
id: string;
|
|
130
297
|
/** URI of the FailoverBackend API resource */
|
|
131
298
|
uri: string;
|
|
132
299
|
/** timestamp when the backend was created, RFC 3339 format */
|
|
133
|
-
createdAt:
|
|
300
|
+
createdAt: Date;
|
|
134
301
|
/** human-readable description of this backend. Optional */
|
|
135
|
-
description
|
|
302
|
+
description?: string;
|
|
136
303
|
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
137
|
-
metadata
|
|
304
|
+
metadata?: string;
|
|
138
305
|
/** the ids of the child backends in order */
|
|
139
306
|
backends: Array<string>;
|
|
140
307
|
}
|
|
141
308
|
export interface FailoverBackendCreate {
|
|
142
309
|
/** human-readable description of this backend. Optional */
|
|
143
|
-
description
|
|
310
|
+
description?: string;
|
|
144
311
|
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
145
|
-
metadata
|
|
312
|
+
metadata?: string;
|
|
146
313
|
/** the ids of the child backends in order */
|
|
147
314
|
backends: Array<string>;
|
|
148
315
|
}
|
|
@@ -168,11 +335,11 @@ export interface HTTPResponseBackend {
|
|
|
168
335
|
/** URI of the HTTPResponseBackend API resource */
|
|
169
336
|
uri: string;
|
|
170
337
|
/** timestamp when the backend was created, RFC 3339 format */
|
|
171
|
-
createdAt:
|
|
338
|
+
createdAt: Date;
|
|
172
339
|
/** human-readable description of this backend. Optional */
|
|
173
|
-
description
|
|
340
|
+
description?: string;
|
|
174
341
|
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
175
|
-
metadata
|
|
342
|
+
metadata?: string;
|
|
176
343
|
/** body to return as fixed content */
|
|
177
344
|
body: string;
|
|
178
345
|
/** headers to return */
|
|
@@ -182,9 +349,9 @@ export interface HTTPResponseBackend {
|
|
|
182
349
|
}
|
|
183
350
|
export interface HTTPResponseBackendCreate {
|
|
184
351
|
/** human-readable description of this backend. Optional */
|
|
185
|
-
description
|
|
352
|
+
description?: string;
|
|
186
353
|
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
187
|
-
metadata
|
|
354
|
+
metadata?: string;
|
|
188
355
|
/** body to return as fixed content */
|
|
189
356
|
body: string;
|
|
190
357
|
/** headers to return */
|
|
@@ -210,17 +377,66 @@ export interface HTTPResponseBackendList {
|
|
|
210
377
|
uri: string;
|
|
211
378
|
nextPageUri?: string;
|
|
212
379
|
}
|
|
380
|
+
export interface StaticBackend {
|
|
381
|
+
/** unique identifier for this static backend */
|
|
382
|
+
id: string;
|
|
383
|
+
/** URI of the StaticBackend API resource */
|
|
384
|
+
uri: string;
|
|
385
|
+
/** timestamp when the backend was created, RFC 3339 format */
|
|
386
|
+
createdAt: Date;
|
|
387
|
+
/** human-readable description of this backend. Optional */
|
|
388
|
+
description?: string;
|
|
389
|
+
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
390
|
+
metadata?: string;
|
|
391
|
+
/** the address to forward to */
|
|
392
|
+
address: string;
|
|
393
|
+
/** tls configuration to use */
|
|
394
|
+
tls: StaticBackendTLS;
|
|
395
|
+
}
|
|
396
|
+
export interface StaticBackendTLS {
|
|
397
|
+
/** if TLS is checked */
|
|
398
|
+
enabled: boolean;
|
|
399
|
+
}
|
|
400
|
+
export interface StaticBackendCreate {
|
|
401
|
+
/** human-readable description of this backend. Optional */
|
|
402
|
+
description?: string;
|
|
403
|
+
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
404
|
+
metadata?: string;
|
|
405
|
+
/** the address to forward to */
|
|
406
|
+
address: string;
|
|
407
|
+
/** tls configuration to use */
|
|
408
|
+
tls: StaticBackendTLS;
|
|
409
|
+
}
|
|
410
|
+
export interface StaticBackendUpdate {
|
|
411
|
+
id: string;
|
|
412
|
+
/** human-readable description of this backend. Optional */
|
|
413
|
+
description?: string;
|
|
414
|
+
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
415
|
+
metadata?: string;
|
|
416
|
+
/** the address to forward to */
|
|
417
|
+
address: string;
|
|
418
|
+
/** tls configuration to use */
|
|
419
|
+
tls: StaticBackendTLS;
|
|
420
|
+
}
|
|
421
|
+
export interface StaticBackendList {
|
|
422
|
+
/** the list of all static backends on this account */
|
|
423
|
+
backends: Array<StaticBackend>;
|
|
424
|
+
/** URI of the static backends list API resource */
|
|
425
|
+
uri: string;
|
|
426
|
+
/** URI of the next page, or null if there is no next page */
|
|
427
|
+
nextPageUri?: string;
|
|
428
|
+
}
|
|
213
429
|
export interface TunnelGroupBackend {
|
|
214
430
|
/** unique identifier for this TunnelGroup backend */
|
|
215
431
|
id: string;
|
|
216
432
|
/** URI of the TunnelGroupBackend API resource */
|
|
217
433
|
uri: string;
|
|
218
434
|
/** timestamp when the backend was created, RFC 3339 format */
|
|
219
|
-
createdAt:
|
|
435
|
+
createdAt: Date;
|
|
220
436
|
/** human-readable description of this backend. Optional */
|
|
221
|
-
description
|
|
437
|
+
description?: string;
|
|
222
438
|
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
223
|
-
metadata
|
|
439
|
+
metadata?: string;
|
|
224
440
|
/** labels to watch for tunnels on, e.g. app->foo, dc->bar */
|
|
225
441
|
labels: Map<string, string>;
|
|
226
442
|
/** tunnels matching this backend */
|
|
@@ -228,9 +444,9 @@ export interface TunnelGroupBackend {
|
|
|
228
444
|
}
|
|
229
445
|
export interface TunnelGroupBackendCreate {
|
|
230
446
|
/** human-readable description of this backend. Optional */
|
|
231
|
-
description
|
|
447
|
+
description?: string;
|
|
232
448
|
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
233
|
-
metadata
|
|
449
|
+
metadata?: string;
|
|
234
450
|
/** labels to watch for tunnels on, e.g. app->foo, dc->bar */
|
|
235
451
|
labels: Map<string, string>;
|
|
236
452
|
}
|
|
@@ -257,19 +473,19 @@ export interface WeightedBackend {
|
|
|
257
473
|
/** URI of the WeightedBackend API resource */
|
|
258
474
|
uri: string;
|
|
259
475
|
/** timestamp when the backend was created, RFC 3339 format */
|
|
260
|
-
createdAt:
|
|
476
|
+
createdAt: Date;
|
|
261
477
|
/** human-readable description of this backend. Optional */
|
|
262
|
-
description
|
|
478
|
+
description?: string;
|
|
263
479
|
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
264
|
-
metadata
|
|
480
|
+
metadata?: string;
|
|
265
481
|
/** the ids of the child backends to their weights [0-10000] */
|
|
266
482
|
backends: Map<string, number>;
|
|
267
483
|
}
|
|
268
484
|
export interface WeightedBackendCreate {
|
|
269
485
|
/** human-readable description of this backend. Optional */
|
|
270
|
-
description
|
|
486
|
+
description?: string;
|
|
271
487
|
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
272
|
-
metadata
|
|
488
|
+
metadata?: string;
|
|
273
489
|
/** the ids of the child backends to their weights [0-10000] */
|
|
274
490
|
backends: Map<string, number>;
|
|
275
491
|
}
|
|
@@ -290,11 +506,44 @@ export interface WeightedBackendList {
|
|
|
290
506
|
/** URI of the next page, or null if there is no next page */
|
|
291
507
|
nextPageUri?: string;
|
|
292
508
|
}
|
|
509
|
+
export interface BotUser {
|
|
510
|
+
/** unique API key resource identifier */
|
|
511
|
+
id: string;
|
|
512
|
+
/** URI to the API resource of this bot user */
|
|
513
|
+
uri: string;
|
|
514
|
+
/** human-readable name used to identify the bot */
|
|
515
|
+
name: string;
|
|
516
|
+
/** whether or not the bot is active */
|
|
517
|
+
active: boolean;
|
|
518
|
+
/** timestamp when the api key was created, RFC 3339 format */
|
|
519
|
+
createdAt: Date;
|
|
520
|
+
}
|
|
521
|
+
export interface BotUserCreate {
|
|
522
|
+
/** human-readable name used to identify the bot */
|
|
523
|
+
name: string;
|
|
524
|
+
/** whether or not the bot is active */
|
|
525
|
+
active?: boolean;
|
|
526
|
+
}
|
|
527
|
+
export interface BotUserUpdate {
|
|
528
|
+
id: string;
|
|
529
|
+
/** human-readable name used to identify the bot */
|
|
530
|
+
name?: string;
|
|
531
|
+
/** whether or not the bot is active */
|
|
532
|
+
active?: boolean;
|
|
533
|
+
}
|
|
534
|
+
export interface BotUserList {
|
|
535
|
+
/** the list of all bot users on this account */
|
|
536
|
+
botUsers: Array<BotUser>;
|
|
537
|
+
/** URI of the bot users list API resource */
|
|
538
|
+
uri: string;
|
|
539
|
+
/** URI of the next page, or null if there is no next page */
|
|
540
|
+
nextPageUri?: string;
|
|
541
|
+
}
|
|
293
542
|
export interface CertificateAuthorityCreate {
|
|
294
543
|
/** human-readable description of this Certificate Authority. optional, max 255 bytes. */
|
|
295
|
-
description
|
|
544
|
+
description?: string;
|
|
296
545
|
/** arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes. */
|
|
297
|
-
metadata
|
|
546
|
+
metadata?: string;
|
|
298
547
|
/** raw PEM of the Certificate Authority */
|
|
299
548
|
caPem: string;
|
|
300
549
|
}
|
|
@@ -311,19 +560,19 @@ export interface CertificateAuthority {
|
|
|
311
560
|
/** URI of the Certificate Authority API resource */
|
|
312
561
|
uri: string;
|
|
313
562
|
/** timestamp when the Certificate Authority was created, RFC 3339 format */
|
|
314
|
-
createdAt:
|
|
563
|
+
createdAt: Date;
|
|
315
564
|
/** human-readable description of this Certificate Authority. optional, max 255 bytes. */
|
|
316
|
-
description
|
|
565
|
+
description?: string;
|
|
317
566
|
/** arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes. */
|
|
318
|
-
metadata
|
|
567
|
+
metadata?: string;
|
|
319
568
|
/** raw PEM of the Certificate Authority */
|
|
320
569
|
caPem: string;
|
|
321
570
|
/** subject common name of the Certificate Authority */
|
|
322
571
|
subjectCommonName: string;
|
|
323
572
|
/** timestamp when this Certificate Authority becomes valid, RFC 3339 format */
|
|
324
|
-
notBefore:
|
|
573
|
+
notBefore: Date;
|
|
325
574
|
/** timestamp when this Certificate Authority becomes invalid, RFC 3339 format */
|
|
326
|
-
notAfter:
|
|
575
|
+
notAfter: Date;
|
|
327
576
|
/** set of actions the private key of this Certificate Authority can be used for */
|
|
328
577
|
keyUsages: Array<string>;
|
|
329
578
|
/** extended set of actions the private key of this Certificate Authority can be used for */
|
|
@@ -339,11 +588,13 @@ export interface CertificateAuthorityList {
|
|
|
339
588
|
}
|
|
340
589
|
export interface CredentialCreate {
|
|
341
590
|
/** human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes. */
|
|
342
|
-
description
|
|
591
|
+
description?: string;
|
|
343
592
|
/** arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. */
|
|
344
|
-
metadata
|
|
345
|
-
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and
|
|
593
|
+
metadata?: string;
|
|
594
|
+
/** 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. */
|
|
346
595
|
acl: Array<string>;
|
|
596
|
+
/** 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. */
|
|
597
|
+
ownerId?: string;
|
|
347
598
|
}
|
|
348
599
|
export interface CredentialUpdate {
|
|
349
600
|
id: string;
|
|
@@ -351,7 +602,7 @@ export interface CredentialUpdate {
|
|
|
351
602
|
description?: string;
|
|
352
603
|
/** arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. */
|
|
353
604
|
metadata?: string;
|
|
354
|
-
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and
|
|
605
|
+
/** 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. */
|
|
355
606
|
acl?: Array<string>;
|
|
356
607
|
}
|
|
357
608
|
export interface Credential {
|
|
@@ -360,15 +611,17 @@ export interface Credential {
|
|
|
360
611
|
/** URI of the tunnel credential API resource */
|
|
361
612
|
uri: string;
|
|
362
613
|
/** timestamp when the tunnel credential was created, RFC 3339 format */
|
|
363
|
-
createdAt:
|
|
614
|
+
createdAt: Date;
|
|
364
615
|
/** human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes. */
|
|
365
|
-
description
|
|
616
|
+
description?: string;
|
|
366
617
|
/** arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. */
|
|
367
|
-
metadata
|
|
618
|
+
metadata?: string;
|
|
368
619
|
/** the credential's authtoken that can be used to authenticate an ngrok agent. **This value is only available one time, on the API response from credential creation, otherwise it is null.** */
|
|
369
620
|
token?: string;
|
|
370
|
-
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and
|
|
621
|
+
/** 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. */
|
|
371
622
|
acl: Array<string>;
|
|
623
|
+
/** 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. */
|
|
624
|
+
ownerId?: string;
|
|
372
625
|
}
|
|
373
626
|
export interface CredentialList {
|
|
374
627
|
/** the list of all tunnel credentials on this account */
|
|
@@ -381,7 +634,7 @@ export interface CredentialList {
|
|
|
381
634
|
export interface EndpointWebhookValidation {
|
|
382
635
|
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
383
636
|
enabled?: boolean;
|
|
384
|
-
/** a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers
|
|
637
|
+
/** a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers defined at https://ngrok.com/docs/cloud-edge/modules/webhook-verification */
|
|
385
638
|
provider: string;
|
|
386
639
|
/** a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret */
|
|
387
640
|
secret: string;
|
|
@@ -435,6 +688,7 @@ export interface EndpointResponseHeaders {
|
|
|
435
688
|
export interface EndpointIPPolicy {
|
|
436
689
|
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
437
690
|
enabled?: boolean;
|
|
691
|
+
/** list of all IP policies that will be used to check if a source IP is allowed access to the endpoint */
|
|
438
692
|
ipPolicies: Array<Ref>;
|
|
439
693
|
}
|
|
440
694
|
export interface EndpointIPPolicyMutate {
|
|
@@ -482,6 +736,14 @@ export interface EndpointOAuthProvider {
|
|
|
482
736
|
microsoft?: EndpointOAuthMicrosoft;
|
|
483
737
|
/** configuration for using google as the identity provider */
|
|
484
738
|
google?: EndpointOAuthGoogle;
|
|
739
|
+
/** configuration for using linkedin as the identity provider */
|
|
740
|
+
linkedin?: EndpointOAuthLinkedIn;
|
|
741
|
+
/** configuration for using gitlab as the identity provider */
|
|
742
|
+
gitlab?: EndpointOAuthGitLab;
|
|
743
|
+
/** configuration for using twitch as the identity provider */
|
|
744
|
+
twitch?: EndpointOAuthTwitch;
|
|
745
|
+
/** configuration for using amazon as the identity provider */
|
|
746
|
+
amazon?: EndpointOAuthAmazon;
|
|
485
747
|
}
|
|
486
748
|
export interface EndpointOAuthGitHub {
|
|
487
749
|
/** the OAuth app client ID. retrieve it from the identity provider's dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well. */
|
|
@@ -489,15 +751,15 @@ export interface EndpointOAuthGitHub {
|
|
|
489
751
|
/** the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for `client_id`. */
|
|
490
752
|
clientSecret?: string;
|
|
491
753
|
/** a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both `client_id` and `client_secret` to set scopes) */
|
|
492
|
-
scopes
|
|
754
|
+
scopes?: Array<string>;
|
|
493
755
|
/** a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint */
|
|
494
|
-
emailAddresses
|
|
756
|
+
emailAddresses?: Array<string>;
|
|
495
757
|
/** a list of email domains of users authenticated by identity provider who are allowed access to the endpoint */
|
|
496
|
-
emailDomains
|
|
758
|
+
emailDomains?: Array<string>;
|
|
497
759
|
/** a list of github teams identifiers. users will be allowed access to the endpoint if they are a member of any of these teams. identifiers should be in the 'slug' format qualified with the org name, e.g. `org-name/team-name` */
|
|
498
|
-
teams
|
|
760
|
+
teams?: Array<string>;
|
|
499
761
|
/** a list of github org identifiers. users who are members of any of the listed organizations will be allowed access. identifiers should be the organization's 'slug' */
|
|
500
|
-
organizations
|
|
762
|
+
organizations?: Array<string>;
|
|
501
763
|
}
|
|
502
764
|
export interface EndpointOAuthFacebook {
|
|
503
765
|
/** the OAuth app client ID. retrieve it from the identity provider's dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well. */
|
|
@@ -535,6 +797,34 @@ export interface EndpointOAuthGoogle {
|
|
|
535
797
|
/** a list of email domains of users authenticated by identity provider who are allowed access to the endpoint */
|
|
536
798
|
emailDomains: Array<string>;
|
|
537
799
|
}
|
|
800
|
+
export interface EndpointOAuthLinkedIn {
|
|
801
|
+
clientId?: string;
|
|
802
|
+
clientSecret?: string;
|
|
803
|
+
scopes: Array<string>;
|
|
804
|
+
emailAddresses: Array<string>;
|
|
805
|
+
emailDomains: Array<string>;
|
|
806
|
+
}
|
|
807
|
+
export interface EndpointOAuthGitLab {
|
|
808
|
+
clientId?: string;
|
|
809
|
+
clientSecret?: string;
|
|
810
|
+
scopes: Array<string>;
|
|
811
|
+
emailAddresses: Array<string>;
|
|
812
|
+
emailDomains: Array<string>;
|
|
813
|
+
}
|
|
814
|
+
export interface EndpointOAuthTwitch {
|
|
815
|
+
clientId?: string;
|
|
816
|
+
clientSecret?: string;
|
|
817
|
+
scopes: Array<string>;
|
|
818
|
+
emailAddresses: Array<string>;
|
|
819
|
+
emailDomains: Array<string>;
|
|
820
|
+
}
|
|
821
|
+
export interface EndpointOAuthAmazon {
|
|
822
|
+
clientId?: string;
|
|
823
|
+
clientSecret?: string;
|
|
824
|
+
scopes: Array<string>;
|
|
825
|
+
emailAddresses: Array<string>;
|
|
826
|
+
emailDomains: Array<string>;
|
|
827
|
+
}
|
|
538
828
|
export interface EndpointSAML {
|
|
539
829
|
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
540
830
|
enabled?: boolean;
|
|
@@ -625,6 +915,33 @@ export interface EndpointWebsocketTCPConverter {
|
|
|
625
915
|
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
626
916
|
enabled?: boolean;
|
|
627
917
|
}
|
|
918
|
+
export interface EndpointUserAgentFilter {
|
|
919
|
+
enabled?: boolean;
|
|
920
|
+
allow: Array<string>;
|
|
921
|
+
deny: Array<string>;
|
|
922
|
+
}
|
|
923
|
+
export interface EndpointPolicy {
|
|
924
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
925
|
+
enabled?: boolean;
|
|
926
|
+
/** the inbound rules of the traffic policy. */
|
|
927
|
+
inbound: Array<EndpointRule>;
|
|
928
|
+
/** the outbound rules on the traffic policy. */
|
|
929
|
+
outbound: Array<EndpointRule>;
|
|
930
|
+
}
|
|
931
|
+
export interface EndpointRule {
|
|
932
|
+
/** cel expressions that filter traffic the policy rule applies to. */
|
|
933
|
+
expressions: Array<string>;
|
|
934
|
+
/** the set of actions on a policy rule. */
|
|
935
|
+
actions: Array<EndpointAction>;
|
|
936
|
+
/** the name of the rule that is part of the traffic policy. */
|
|
937
|
+
name: string;
|
|
938
|
+
}
|
|
939
|
+
export interface EndpointAction {
|
|
940
|
+
/** the type of action on the policy rule. */
|
|
941
|
+
type: string;
|
|
942
|
+
/** the configuration for the action on the policy rule. */
|
|
943
|
+
config: Record<string, unknown> | undefined;
|
|
944
|
+
}
|
|
628
945
|
export interface EdgeRouteItem {
|
|
629
946
|
/** unique identifier of this edge */
|
|
630
947
|
edgeId: string;
|
|
@@ -639,9 +956,9 @@ export interface HTTPSEdgeRouteCreate {
|
|
|
639
956
|
/** Route selector: "/blog" or "example.com" or "example.com/blog" */
|
|
640
957
|
match: string;
|
|
641
958
|
/** human-readable description of what this edge will be used for; optional, max 255 bytes. */
|
|
642
|
-
description
|
|
959
|
+
description?: string;
|
|
643
960
|
/** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
|
|
644
|
-
metadata
|
|
961
|
+
metadata?: string;
|
|
645
962
|
/** backend module configuration or `null` */
|
|
646
963
|
backend?: EndpointBackendMutate;
|
|
647
964
|
/** ip restriction module configuration or `null` */
|
|
@@ -664,6 +981,9 @@ export interface HTTPSEdgeRouteCreate {
|
|
|
664
981
|
oidc?: EndpointOIDC;
|
|
665
982
|
/** websocket to tcp adapter configuration or `null` */
|
|
666
983
|
websocketTcpConverter?: EndpointWebsocketTCPConverter;
|
|
984
|
+
userAgentFilter?: EndpointUserAgentFilter;
|
|
985
|
+
/** the traffic policy associated with this edge or null */
|
|
986
|
+
policy?: EndpointPolicy;
|
|
667
987
|
}
|
|
668
988
|
export interface HTTPSEdgeRouteUpdate {
|
|
669
989
|
/** unique identifier of this edge */
|
|
@@ -675,9 +995,9 @@ export interface HTTPSEdgeRouteUpdate {
|
|
|
675
995
|
/** Route selector: "/blog" or "example.com" or "example.com/blog" */
|
|
676
996
|
match: string;
|
|
677
997
|
/** human-readable description of what this edge will be used for; optional, max 255 bytes. */
|
|
678
|
-
description
|
|
998
|
+
description?: string;
|
|
679
999
|
/** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
|
|
680
|
-
metadata
|
|
1000
|
+
metadata?: string;
|
|
681
1001
|
/** backend module configuration or `null` */
|
|
682
1002
|
backend?: EndpointBackendMutate;
|
|
683
1003
|
/** ip restriction module configuration or `null` */
|
|
@@ -700,6 +1020,9 @@ export interface HTTPSEdgeRouteUpdate {
|
|
|
700
1020
|
oidc?: EndpointOIDC;
|
|
701
1021
|
/** websocket to tcp adapter configuration or `null` */
|
|
702
1022
|
websocketTcpConverter?: EndpointWebsocketTCPConverter;
|
|
1023
|
+
userAgentFilter?: EndpointUserAgentFilter;
|
|
1024
|
+
/** the traffic policy associated with this edge or null */
|
|
1025
|
+
policy?: EndpointPolicy;
|
|
703
1026
|
}
|
|
704
1027
|
export interface HTTPSEdgeRoute {
|
|
705
1028
|
/** unique identifier of this edge */
|
|
@@ -707,7 +1030,7 @@ export interface HTTPSEdgeRoute {
|
|
|
707
1030
|
/** unique identifier of this edge route */
|
|
708
1031
|
id: string;
|
|
709
1032
|
/** timestamp when the edge configuration was created, RFC 3339 format */
|
|
710
|
-
createdAt:
|
|
1033
|
+
createdAt: Date;
|
|
711
1034
|
/** Type of match to use for this route. Valid values are "exact_path" and "path_prefix". */
|
|
712
1035
|
matchType: string;
|
|
713
1036
|
/** Route selector: "/blog" or "example.com" or "example.com/blog" */
|
|
@@ -715,9 +1038,9 @@ export interface HTTPSEdgeRoute {
|
|
|
715
1038
|
/** URI of the edge API resource */
|
|
716
1039
|
uri: string;
|
|
717
1040
|
/** human-readable description of what this edge will be used for; optional, max 255 bytes. */
|
|
718
|
-
description
|
|
1041
|
+
description?: string;
|
|
719
1042
|
/** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
|
|
720
|
-
metadata
|
|
1043
|
+
metadata?: string;
|
|
721
1044
|
/** backend module configuration or `null` */
|
|
722
1045
|
backend?: EndpointBackend;
|
|
723
1046
|
/** ip restriction module configuration or `null` */
|
|
@@ -740,6 +1063,9 @@ export interface HTTPSEdgeRoute {
|
|
|
740
1063
|
oidc?: EndpointOIDC;
|
|
741
1064
|
/** websocket to tcp adapter configuration or `null` */
|
|
742
1065
|
websocketTcpConverter?: EndpointWebsocketTCPConverter;
|
|
1066
|
+
userAgentFilter?: EndpointUserAgentFilter;
|
|
1067
|
+
/** the traffic policy associated with this edge or null */
|
|
1068
|
+
policy?: EndpointPolicy;
|
|
743
1069
|
}
|
|
744
1070
|
export interface HTTPSEdgeList {
|
|
745
1071
|
/** the list of all HTTPS Edges on this account */
|
|
@@ -751,9 +1077,9 @@ export interface HTTPSEdgeList {
|
|
|
751
1077
|
}
|
|
752
1078
|
export interface HTTPSEdgeCreate {
|
|
753
1079
|
/** human-readable description of what this edge will be used for; optional, max 255 bytes. */
|
|
754
|
-
description
|
|
1080
|
+
description?: string;
|
|
755
1081
|
/** arbitrary user-defined machine-readable data of this edge; optional, max 4096 bytes. */
|
|
756
|
-
metadata
|
|
1082
|
+
metadata?: string;
|
|
757
1083
|
/** hostports served by this edge */
|
|
758
1084
|
hostports?: Array<string>;
|
|
759
1085
|
/** edge modules */
|
|
@@ -777,11 +1103,11 @@ export interface HTTPSEdge {
|
|
|
777
1103
|
/** unique identifier of this edge */
|
|
778
1104
|
id: string;
|
|
779
1105
|
/** human-readable description of what this edge will be used for; optional, max 255 bytes. */
|
|
780
|
-
description
|
|
1106
|
+
description?: string;
|
|
781
1107
|
/** arbitrary user-defined machine-readable data of this edge; optional, max 4096 bytes. */
|
|
782
|
-
metadata
|
|
1108
|
+
metadata?: string;
|
|
783
1109
|
/** timestamp when the edge configuration was created, RFC 3339 format */
|
|
784
|
-
createdAt:
|
|
1110
|
+
createdAt: Date;
|
|
785
1111
|
/** URI of the edge API resource */
|
|
786
1112
|
uri: string;
|
|
787
1113
|
/** hostports served by this edge */
|
|
@@ -812,6 +1138,10 @@ export interface EdgeTLSTerminationAtEdgeReplace {
|
|
|
812
1138
|
id: string;
|
|
813
1139
|
module: EndpointTLSTerminationAtEdge;
|
|
814
1140
|
}
|
|
1141
|
+
export interface EdgePolicyReplace {
|
|
1142
|
+
id: string;
|
|
1143
|
+
module: EndpointPolicy;
|
|
1144
|
+
}
|
|
815
1145
|
export interface EdgeRouteBackendReplace {
|
|
816
1146
|
edgeId: string;
|
|
817
1147
|
id: string;
|
|
@@ -867,6 +1197,16 @@ export interface EdgeRouteWebsocketTCPConverterReplace {
|
|
|
867
1197
|
id: string;
|
|
868
1198
|
module: EndpointWebsocketTCPConverter;
|
|
869
1199
|
}
|
|
1200
|
+
export interface EdgeRouteUserAgentFilterReplace {
|
|
1201
|
+
edgeId: string;
|
|
1202
|
+
id: string;
|
|
1203
|
+
module: EndpointUserAgentFilter;
|
|
1204
|
+
}
|
|
1205
|
+
export interface EdgeRoutePolicyReplace {
|
|
1206
|
+
edgeId: string;
|
|
1207
|
+
id: string;
|
|
1208
|
+
module: EndpointPolicy;
|
|
1209
|
+
}
|
|
870
1210
|
export interface TCPEdgeList {
|
|
871
1211
|
/** the list of all TCP Edges on this account */
|
|
872
1212
|
tcpEdges: Array<TCPEdge>;
|
|
@@ -877,14 +1217,16 @@ export interface TCPEdgeList {
|
|
|
877
1217
|
}
|
|
878
1218
|
export interface TCPEdgeCreate {
|
|
879
1219
|
/** human-readable description of what this edge will be used for; optional, max 255 bytes. */
|
|
880
|
-
description
|
|
1220
|
+
description?: string;
|
|
881
1221
|
/** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
|
|
882
|
-
metadata
|
|
1222
|
+
metadata?: string;
|
|
883
1223
|
/** hostports served by this edge */
|
|
884
1224
|
hostports?: Array<string>;
|
|
885
1225
|
/** edge modules */
|
|
886
1226
|
backend?: EndpointBackendMutate;
|
|
887
1227
|
ipRestriction?: EndpointIPPolicyMutate;
|
|
1228
|
+
/** the traffic policy associated with this edge or null */
|
|
1229
|
+
policy?: EndpointPolicy;
|
|
888
1230
|
}
|
|
889
1231
|
export interface TCPEdgeUpdate {
|
|
890
1232
|
/** unique identifier of this edge */
|
|
@@ -898,16 +1240,18 @@ export interface TCPEdgeUpdate {
|
|
|
898
1240
|
/** edge modules */
|
|
899
1241
|
backend?: EndpointBackendMutate;
|
|
900
1242
|
ipRestriction?: EndpointIPPolicyMutate;
|
|
1243
|
+
/** the traffic policy associated with this edge or null */
|
|
1244
|
+
policy?: EndpointPolicy;
|
|
901
1245
|
}
|
|
902
1246
|
export interface TCPEdge {
|
|
903
1247
|
/** unique identifier of this edge */
|
|
904
1248
|
id: string;
|
|
905
1249
|
/** human-readable description of what this edge will be used for; optional, max 255 bytes. */
|
|
906
|
-
description
|
|
1250
|
+
description?: string;
|
|
907
1251
|
/** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
|
|
908
|
-
metadata
|
|
1252
|
+
metadata?: string;
|
|
909
1253
|
/** timestamp when the edge was created, RFC 3339 format */
|
|
910
|
-
createdAt:
|
|
1254
|
+
createdAt: Date;
|
|
911
1255
|
/** URI of the edge API resource */
|
|
912
1256
|
uri: string;
|
|
913
1257
|
/** hostports served by this edge */
|
|
@@ -915,6 +1259,8 @@ export interface TCPEdge {
|
|
|
915
1259
|
/** edge modules */
|
|
916
1260
|
backend?: EndpointBackend;
|
|
917
1261
|
ipRestriction?: EndpointIPPolicy;
|
|
1262
|
+
/** the traffic policy associated with this edge or null */
|
|
1263
|
+
policy?: EndpointPolicy;
|
|
918
1264
|
}
|
|
919
1265
|
export interface TLSEdgeList {
|
|
920
1266
|
/** the list of all TLS Edges on this account */
|
|
@@ -926,9 +1272,9 @@ export interface TLSEdgeList {
|
|
|
926
1272
|
}
|
|
927
1273
|
export interface TLSEdgeCreate {
|
|
928
1274
|
/** human-readable description of what this edge will be used for; optional, max 255 bytes. */
|
|
929
|
-
description
|
|
1275
|
+
description?: string;
|
|
930
1276
|
/** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
|
|
931
|
-
metadata
|
|
1277
|
+
metadata?: string;
|
|
932
1278
|
/** hostports served by this edge */
|
|
933
1279
|
hostports?: Array<string>;
|
|
934
1280
|
/** edge modules */
|
|
@@ -936,6 +1282,8 @@ export interface TLSEdgeCreate {
|
|
|
936
1282
|
ipRestriction?: EndpointIPPolicyMutate;
|
|
937
1283
|
mutualTls?: EndpointMutualTLSMutate;
|
|
938
1284
|
tlsTermination?: EndpointTLSTermination;
|
|
1285
|
+
/** the traffic policy associated with this edge or null */
|
|
1286
|
+
policy?: EndpointPolicy;
|
|
939
1287
|
}
|
|
940
1288
|
export interface TLSEdgeUpdate {
|
|
941
1289
|
/** unique identifier of this edge */
|
|
@@ -951,16 +1299,18 @@ export interface TLSEdgeUpdate {
|
|
|
951
1299
|
ipRestriction?: EndpointIPPolicyMutate;
|
|
952
1300
|
mutualTls?: EndpointMutualTLSMutate;
|
|
953
1301
|
tlsTermination?: EndpointTLSTermination;
|
|
1302
|
+
/** the traffic policy associated with this edge or null */
|
|
1303
|
+
policy?: EndpointPolicy;
|
|
954
1304
|
}
|
|
955
1305
|
export interface TLSEdge {
|
|
956
1306
|
/** unique identifier of this edge */
|
|
957
1307
|
id: string;
|
|
958
1308
|
/** human-readable description of what this edge will be used for; optional, max 255 bytes. */
|
|
959
|
-
description
|
|
1309
|
+
description?: string;
|
|
960
1310
|
/** arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. */
|
|
961
|
-
metadata
|
|
1311
|
+
metadata?: string;
|
|
962
1312
|
/** timestamp when the edge configuration was created, RFC 3339 format */
|
|
963
|
-
createdAt:
|
|
1313
|
+
createdAt: Date;
|
|
964
1314
|
/** URI of the edge API resource */
|
|
965
1315
|
uri: string;
|
|
966
1316
|
/** hostports served by this edge */
|
|
@@ -970,16 +1320,18 @@ export interface TLSEdge {
|
|
|
970
1320
|
ipRestriction?: EndpointIPPolicy;
|
|
971
1321
|
mutualTls?: EndpointMutualTLS;
|
|
972
1322
|
tlsTermination?: EndpointTLSTermination;
|
|
1323
|
+
/** the traffic policy associated with this edge or null */
|
|
1324
|
+
policy?: EndpointPolicy;
|
|
973
1325
|
}
|
|
974
1326
|
export interface Endpoint {
|
|
975
1327
|
/** unique endpoint resource identifier */
|
|
976
1328
|
id: string;
|
|
977
1329
|
/** identifier of the region this endpoint belongs to */
|
|
978
|
-
region
|
|
1330
|
+
region?: string;
|
|
979
1331
|
/** timestamp when the endpoint was created in RFC 3339 format */
|
|
980
|
-
createdAt
|
|
1332
|
+
createdAt?: Date;
|
|
981
1333
|
/** timestamp when the endpoint was updated in RFC 3339 format */
|
|
982
|
-
updatedAt
|
|
1334
|
+
updatedAt?: Date;
|
|
983
1335
|
/** URL of the hostport served by this endpoint */
|
|
984
1336
|
publicUrl: string;
|
|
985
1337
|
/** protocol served by this endpoint. one of `http`, `https`, `tcp`, or `tls` */
|
|
@@ -989,7 +1341,7 @@ export interface Endpoint {
|
|
|
989
1341
|
/** whether the endpoint is `ephemeral` (served directly by an agent-initiated tunnel) or `edge` (served by an edge) */
|
|
990
1342
|
type: string;
|
|
991
1343
|
/** user-supplied metadata of the associated tunnel or edge object */
|
|
992
|
-
metadata
|
|
1344
|
+
metadata?: string;
|
|
993
1345
|
/** the domain reserved for this endpoint */
|
|
994
1346
|
domain?: Ref;
|
|
995
1347
|
/** the address reserved for this endpoint */
|
|
@@ -1009,9 +1361,9 @@ export interface EndpointList {
|
|
|
1009
1361
|
}
|
|
1010
1362
|
export interface EventDestinationCreate {
|
|
1011
1363
|
/** Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes. */
|
|
1012
|
-
metadata
|
|
1364
|
+
metadata?: string;
|
|
1013
1365
|
/** Human-readable description of the Event Destination. Optional, max 255 bytes. */
|
|
1014
|
-
description
|
|
1366
|
+
description?: string;
|
|
1015
1367
|
/** The output format you would like to serialize events into when sending to their target. Currently the only accepted value is `JSON`. */
|
|
1016
1368
|
format: string;
|
|
1017
1369
|
/** An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: `kinesis`, `firehose`, `cloudwatch_logs`, or `s3`. */
|
|
@@ -1033,11 +1385,11 @@ export interface EventDestination {
|
|
|
1033
1385
|
/** Unique identifier for this Event Destination. */
|
|
1034
1386
|
id: string;
|
|
1035
1387
|
/** Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes. */
|
|
1036
|
-
metadata
|
|
1388
|
+
metadata?: string;
|
|
1037
1389
|
/** Timestamp when the Event Destination was created, RFC 3339 format. */
|
|
1038
|
-
createdAt:
|
|
1390
|
+
createdAt: Date;
|
|
1039
1391
|
/** Human-readable description of the Event Destination. Optional, max 255 bytes. */
|
|
1040
|
-
description
|
|
1392
|
+
description?: string;
|
|
1041
1393
|
/** The output format you would like to serialize events into when sending to their target. Currently the only accepted value is `JSON`. */
|
|
1042
1394
|
format: string;
|
|
1043
1395
|
/** An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: `kinesis`, `firehose`, `cloudwatch_logs`, or `s3`. */
|
|
@@ -1060,6 +1412,8 @@ export interface EventTarget {
|
|
|
1060
1412
|
kinesis?: EventTargetKinesis;
|
|
1061
1413
|
/** Configuration used to send events to Amazon CloudWatch Logs. */
|
|
1062
1414
|
cloudwatchLogs?: EventTargetCloudwatchLogs;
|
|
1415
|
+
/** Configuration used to send events to Datadog. */
|
|
1416
|
+
datadog?: EventTargetDatadog;
|
|
1063
1417
|
}
|
|
1064
1418
|
export interface EventTargetFirehose {
|
|
1065
1419
|
/** Configuration for how to authenticate into your AWS account. Exactly one of `role` or `creds` should be configured. */
|
|
@@ -1079,6 +1433,16 @@ export interface EventTargetCloudwatchLogs {
|
|
|
1079
1433
|
/** An Amazon Resource Name specifying the CloudWatch Logs group to deposit events into. */
|
|
1080
1434
|
logGroupArn: string;
|
|
1081
1435
|
}
|
|
1436
|
+
export interface EventTargetDatadog {
|
|
1437
|
+
/** Datadog API key to use. */
|
|
1438
|
+
apiKey?: string;
|
|
1439
|
+
/** Tags to send with the event. */
|
|
1440
|
+
ddtags?: string;
|
|
1441
|
+
/** Service name to send with the event. */
|
|
1442
|
+
service?: string;
|
|
1443
|
+
/** Datadog site to send event to. */
|
|
1444
|
+
ddsite?: string;
|
|
1445
|
+
}
|
|
1082
1446
|
export interface AWSAuth {
|
|
1083
1447
|
/** A role for ngrok to assume on your behalf to deposit events into your AWS account. */
|
|
1084
1448
|
role?: AWSRole;
|
|
@@ -1097,9 +1461,9 @@ export interface AWSCredentials {
|
|
|
1097
1461
|
}
|
|
1098
1462
|
export interface EventSubscriptionCreate {
|
|
1099
1463
|
/** Arbitrary customer supplied information intended to be machine readable. Optional, max 4096 chars. */
|
|
1100
|
-
metadata
|
|
1464
|
+
metadata?: string;
|
|
1101
1465
|
/** Arbitrary customer supplied information intended to be human readable. Optional, max 255 chars. */
|
|
1102
|
-
description
|
|
1466
|
+
description?: string;
|
|
1103
1467
|
/** Sources containing the types for which this event subscription will trigger */
|
|
1104
1468
|
sources: Array<EventSourceReplace>;
|
|
1105
1469
|
/** A list of Event Destination IDs which should be used for this Event Subscription. */
|
|
@@ -1131,11 +1495,11 @@ export interface EventSubscription {
|
|
|
1131
1495
|
/** URI of the Event Subscription API resource. */
|
|
1132
1496
|
uri: string;
|
|
1133
1497
|
/** When the Event Subscription was created (RFC 3339 format). */
|
|
1134
|
-
createdAt:
|
|
1498
|
+
createdAt: Date;
|
|
1135
1499
|
/** Arbitrary customer supplied information intended to be machine readable. Optional, max 4096 chars. */
|
|
1136
|
-
metadata
|
|
1500
|
+
metadata?: string;
|
|
1137
1501
|
/** Arbitrary customer supplied information intended to be human readable. Optional, max 255 chars. */
|
|
1138
|
-
description
|
|
1502
|
+
description?: string;
|
|
1139
1503
|
/** Sources containing the types for which this event subscription will trigger */
|
|
1140
1504
|
sources: Array<EventSource>;
|
|
1141
1505
|
/** Destinations to which these events will be sent */
|
|
@@ -1183,9 +1547,9 @@ export interface EventSourcePaging {
|
|
|
1183
1547
|
}
|
|
1184
1548
|
export interface IPPolicyCreate {
|
|
1185
1549
|
/** human-readable description of the source IPs of this IP policy. optional, max 255 bytes. */
|
|
1186
|
-
description
|
|
1550
|
+
description?: string;
|
|
1187
1551
|
/** arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. */
|
|
1188
|
-
metadata
|
|
1552
|
+
metadata?: string;
|
|
1189
1553
|
}
|
|
1190
1554
|
export interface IPPolicyUpdate {
|
|
1191
1555
|
id: string;
|
|
@@ -1200,11 +1564,11 @@ export interface IPPolicy {
|
|
|
1200
1564
|
/** URI of the IP Policy API resource */
|
|
1201
1565
|
uri: string;
|
|
1202
1566
|
/** timestamp when the IP policy was created, RFC 3339 format */
|
|
1203
|
-
createdAt:
|
|
1567
|
+
createdAt: Date;
|
|
1204
1568
|
/** human-readable description of the source IPs of this IP policy. optional, max 255 bytes. */
|
|
1205
|
-
description
|
|
1569
|
+
description?: string;
|
|
1206
1570
|
/** arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. */
|
|
1207
|
-
metadata
|
|
1571
|
+
metadata?: string;
|
|
1208
1572
|
}
|
|
1209
1573
|
export interface IPPolicyList {
|
|
1210
1574
|
/** the list of all IP policies on this account */
|
|
@@ -1216,9 +1580,9 @@ export interface IPPolicyList {
|
|
|
1216
1580
|
}
|
|
1217
1581
|
export interface IPPolicyRuleCreate {
|
|
1218
1582
|
/** human-readable description of the source IPs of this IP rule. optional, max 255 bytes. */
|
|
1219
|
-
description
|
|
1583
|
+
description?: string;
|
|
1220
1584
|
/** arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes. */
|
|
1221
|
-
metadata
|
|
1585
|
+
metadata?: string;
|
|
1222
1586
|
/** an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported. */
|
|
1223
1587
|
cidr: string;
|
|
1224
1588
|
/** ID of the IP policy this IP policy rule will be attached to */
|
|
@@ -1241,11 +1605,11 @@ export interface IPPolicyRule {
|
|
|
1241
1605
|
/** URI of the IP policy rule API resource */
|
|
1242
1606
|
uri: string;
|
|
1243
1607
|
/** timestamp when the IP policy rule was created, RFC 3339 format */
|
|
1244
|
-
createdAt:
|
|
1608
|
+
createdAt: Date;
|
|
1245
1609
|
/** human-readable description of the source IPs of this IP rule. optional, max 255 bytes. */
|
|
1246
|
-
description
|
|
1610
|
+
description?: string;
|
|
1247
1611
|
/** arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes. */
|
|
1248
|
-
metadata
|
|
1612
|
+
metadata?: string;
|
|
1249
1613
|
/** an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported. */
|
|
1250
1614
|
cidr: string;
|
|
1251
1615
|
/** object describing the IP policy this IP Policy Rule belongs to */
|
|
@@ -1263,9 +1627,9 @@ export interface IPPolicyRuleList {
|
|
|
1263
1627
|
}
|
|
1264
1628
|
export interface IPRestrictionCreate {
|
|
1265
1629
|
/** human-readable description of this IP restriction. optional, max 255 bytes. */
|
|
1266
|
-
description
|
|
1630
|
+
description?: string;
|
|
1267
1631
|
/** arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes. */
|
|
1268
|
-
metadata
|
|
1632
|
+
metadata?: string;
|
|
1269
1633
|
/** true if the IP restriction will be enforced. if false, only warnings will be issued */
|
|
1270
1634
|
enforced: boolean;
|
|
1271
1635
|
/** the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: `dashboard`, `api`, `agent`, and `endpoints` */
|
|
@@ -1290,11 +1654,11 @@ export interface IPRestriction {
|
|
|
1290
1654
|
/** URI of the IP restriction API resource */
|
|
1291
1655
|
uri: string;
|
|
1292
1656
|
/** timestamp when the IP restriction was created, RFC 3339 format */
|
|
1293
|
-
createdAt:
|
|
1657
|
+
createdAt: Date;
|
|
1294
1658
|
/** human-readable description of this IP restriction. optional, max 255 bytes. */
|
|
1295
|
-
description
|
|
1659
|
+
description?: string;
|
|
1296
1660
|
/** arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes. */
|
|
1297
|
-
metadata
|
|
1661
|
+
metadata?: string;
|
|
1298
1662
|
/** true if the IP restriction will be enforced. if false, only warnings will be issued */
|
|
1299
1663
|
enforced: boolean;
|
|
1300
1664
|
/** the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: `dashboard`, `api`, `agent`, and `endpoints` */
|
|
@@ -1312,9 +1676,9 @@ export interface IPRestrictionList {
|
|
|
1312
1676
|
}
|
|
1313
1677
|
export interface ReservedAddrCreate {
|
|
1314
1678
|
/** human-readable description of what this reserved address will be used for */
|
|
1315
|
-
description
|
|
1679
|
+
description?: string;
|
|
1316
1680
|
/** arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. */
|
|
1317
|
-
metadata
|
|
1681
|
+
metadata?: string;
|
|
1318
1682
|
/** reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) */
|
|
1319
1683
|
region: string;
|
|
1320
1684
|
}
|
|
@@ -1331,11 +1695,11 @@ export interface ReservedAddr {
|
|
|
1331
1695
|
/** URI of the reserved address API resource */
|
|
1332
1696
|
uri: string;
|
|
1333
1697
|
/** timestamp when the reserved address was created, RFC 3339 format */
|
|
1334
|
-
createdAt:
|
|
1698
|
+
createdAt: Date;
|
|
1335
1699
|
/** human-readable description of what this reserved address will be used for */
|
|
1336
|
-
description
|
|
1700
|
+
description?: string;
|
|
1337
1701
|
/** arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. */
|
|
1338
|
-
metadata
|
|
1702
|
+
metadata?: string;
|
|
1339
1703
|
/** hostname:port of the reserved address that was assigned at creation time */
|
|
1340
1704
|
addr: string;
|
|
1341
1705
|
/** reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) */
|
|
@@ -1350,14 +1714,14 @@ export interface ReservedAddrList {
|
|
|
1350
1714
|
nextPageUri?: string;
|
|
1351
1715
|
}
|
|
1352
1716
|
export interface ReservedDomainCreate {
|
|
1353
|
-
/**
|
|
1354
|
-
|
|
1355
|
-
/**
|
|
1717
|
+
/** hostname of the reserved domain */
|
|
1718
|
+
domain: string;
|
|
1719
|
+
/** deprecated: With the launch of the ngrok Global Network domains traffic is now handled globally. This field applied only to endpoints. Note that agents may still connect to specific regions. Optional, null by default. (au, eu, ap, us, jp, in, sa) */
|
|
1356
1720
|
region: string;
|
|
1357
1721
|
/** human-readable description of what this reserved domain will be used for */
|
|
1358
|
-
description
|
|
1722
|
+
description?: string;
|
|
1359
1723
|
/** arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. */
|
|
1360
|
-
metadata
|
|
1724
|
+
metadata?: string;
|
|
1361
1725
|
/** ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with `certificate_management_policy`. */
|
|
1362
1726
|
certificateId?: string;
|
|
1363
1727
|
/** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with `certificate_id`. */
|
|
@@ -1380,16 +1744,16 @@ export interface ReservedDomain {
|
|
|
1380
1744
|
/** URI of the reserved domain API resource */
|
|
1381
1745
|
uri: string;
|
|
1382
1746
|
/** timestamp when the reserved domain was created, RFC 3339 format */
|
|
1383
|
-
createdAt:
|
|
1747
|
+
createdAt: Date;
|
|
1384
1748
|
/** human-readable description of what this reserved domain will be used for */
|
|
1385
|
-
description
|
|
1749
|
+
description?: string;
|
|
1386
1750
|
/** arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. */
|
|
1387
|
-
metadata
|
|
1751
|
+
metadata?: string;
|
|
1388
1752
|
/** hostname of the reserved domain */
|
|
1389
1753
|
domain: string;
|
|
1390
|
-
/**
|
|
1754
|
+
/** deprecated: With the launch of the ngrok Global Network domains traffic is now handled globally. This field applied only to endpoints. Note that agents may still connect to specific regions. Optional, null by default. (au, eu, ap, us, jp, in, sa) */
|
|
1391
1755
|
region: string;
|
|
1392
|
-
/** DNS CNAME target for a custom hostname, or null if the reserved domain is a subdomain of *.ngrok.
|
|
1756
|
+
/** DNS CNAME target for a custom hostname, or null if the reserved domain is a subdomain of an ngrok owned domain (e.g. *.ngrok.app) */
|
|
1393
1757
|
cnameTarget?: string;
|
|
1394
1758
|
/** 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. */
|
|
1395
1759
|
certificate?: Ref;
|
|
@@ -1416,7 +1780,7 @@ export interface ReservedDomainCertPolicy {
|
|
|
1416
1780
|
}
|
|
1417
1781
|
export interface ReservedDomainCertStatus {
|
|
1418
1782
|
/** timestamp when the next renewal will be requested, RFC 3339 format */
|
|
1419
|
-
renewsAt?:
|
|
1783
|
+
renewsAt?: Date;
|
|
1420
1784
|
/** status of the certificate provisioning job, or null if the certificiate isn't being provisioned or renewed */
|
|
1421
1785
|
provisioningJob?: ReservedDomainCertJob;
|
|
1422
1786
|
}
|
|
@@ -1426,15 +1790,15 @@ export interface ReservedDomainCertJob {
|
|
|
1426
1790
|
/** a message describing the current status or error */
|
|
1427
1791
|
msg: string;
|
|
1428
1792
|
/** timestamp when the provisioning job started, RFC 3339 format */
|
|
1429
|
-
startedAt:
|
|
1793
|
+
startedAt: Date;
|
|
1430
1794
|
/** timestamp when the provisioning job will be retried */
|
|
1431
|
-
retriesAt?:
|
|
1795
|
+
retriesAt?: Date;
|
|
1432
1796
|
}
|
|
1433
1797
|
export interface SSHCertificateAuthorityCreate {
|
|
1434
1798
|
/** human-readable description of this SSH Certificate Authority. optional, max 255 bytes. */
|
|
1435
|
-
description
|
|
1799
|
+
description?: string;
|
|
1436
1800
|
/** arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes. */
|
|
1437
|
-
metadata
|
|
1801
|
+
metadata?: string;
|
|
1438
1802
|
/** the type of private key to generate. one of `rsa`, `ecdsa`, `ed25519` */
|
|
1439
1803
|
privateKeyType: string;
|
|
1440
1804
|
/** the type of elliptic curve to use when creating an ECDSA key */
|
|
@@ -1455,11 +1819,11 @@ export interface SSHCertificateAuthority {
|
|
|
1455
1819
|
/** URI of the SSH Certificate Authority API resource */
|
|
1456
1820
|
uri: string;
|
|
1457
1821
|
/** timestamp when the SSH Certificate Authority API resource was created, RFC 3339 format */
|
|
1458
|
-
createdAt:
|
|
1822
|
+
createdAt: Date;
|
|
1459
1823
|
/** human-readable description of this SSH Certificate Authority. optional, max 255 bytes. */
|
|
1460
|
-
description
|
|
1824
|
+
description?: string;
|
|
1461
1825
|
/** arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes. */
|
|
1462
|
-
metadata
|
|
1826
|
+
metadata?: string;
|
|
1463
1827
|
/** raw public key for this SSH Certificate Authority */
|
|
1464
1828
|
publicKey: string;
|
|
1465
1829
|
/** the type of private key for this SSH Certificate Authority */
|
|
@@ -1475,13 +1839,15 @@ export interface SSHCertificateAuthorityList {
|
|
|
1475
1839
|
}
|
|
1476
1840
|
export interface SSHCredentialCreate {
|
|
1477
1841
|
/** human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes. */
|
|
1478
|
-
description
|
|
1842
|
+
description?: string;
|
|
1479
1843
|
/** arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. */
|
|
1480
|
-
metadata
|
|
1481
|
-
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and
|
|
1844
|
+
metadata?: string;
|
|
1845
|
+
/** 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. */
|
|
1482
1846
|
acl: Array<string>;
|
|
1483
1847
|
/** the PEM-encoded public key of the SSH keypair that will be used to authenticate */
|
|
1484
1848
|
publicKey: string;
|
|
1849
|
+
/** 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. */
|
|
1850
|
+
ownerId?: string;
|
|
1485
1851
|
}
|
|
1486
1852
|
export interface SSHCredentialUpdate {
|
|
1487
1853
|
id: string;
|
|
@@ -1489,7 +1855,7 @@ export interface SSHCredentialUpdate {
|
|
|
1489
1855
|
description?: string;
|
|
1490
1856
|
/** arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. */
|
|
1491
1857
|
metadata?: string;
|
|
1492
|
-
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and
|
|
1858
|
+
/** 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. */
|
|
1493
1859
|
acl?: Array<string>;
|
|
1494
1860
|
}
|
|
1495
1861
|
export interface SSHCredential {
|
|
@@ -1498,15 +1864,17 @@ export interface SSHCredential {
|
|
|
1498
1864
|
/** URI of the ssh credential API resource */
|
|
1499
1865
|
uri: string;
|
|
1500
1866
|
/** timestamp when the ssh credential was created, RFC 3339 format */
|
|
1501
|
-
createdAt:
|
|
1867
|
+
createdAt: Date;
|
|
1502
1868
|
/** human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes. */
|
|
1503
|
-
description
|
|
1869
|
+
description?: string;
|
|
1504
1870
|
/** arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. */
|
|
1505
|
-
metadata
|
|
1871
|
+
metadata?: string;
|
|
1506
1872
|
/** the PEM-encoded public key of the SSH keypair that will be used to authenticate */
|
|
1507
1873
|
publicKey: string;
|
|
1508
|
-
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and
|
|
1874
|
+
/** 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. */
|
|
1509
1875
|
acl: Array<string>;
|
|
1876
|
+
/** 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. */
|
|
1877
|
+
ownerId?: string;
|
|
1510
1878
|
}
|
|
1511
1879
|
export interface SSHCredentialList {
|
|
1512
1880
|
/** the list of all ssh credentials on this account */
|
|
@@ -1524,13 +1892,13 @@ export interface SSHHostCertificateCreate {
|
|
|
1524
1892
|
/** the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts. */
|
|
1525
1893
|
principals: Array<string>;
|
|
1526
1894
|
/** The time when the host certificate becomes valid, in RFC 3339 format. Defaults to the current time if unspecified. */
|
|
1527
|
-
validAfter:
|
|
1895
|
+
validAfter: Date;
|
|
1528
1896
|
/** The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of one year in the future will be used. The OpenSSH certificates RFC calls this `valid_before`. */
|
|
1529
|
-
validUntil:
|
|
1897
|
+
validUntil: Date;
|
|
1530
1898
|
/** human-readable description of this SSH Host Certificate. optional, max 255 bytes. */
|
|
1531
|
-
description
|
|
1899
|
+
description?: string;
|
|
1532
1900
|
/** arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes. */
|
|
1533
|
-
metadata
|
|
1901
|
+
metadata?: string;
|
|
1534
1902
|
}
|
|
1535
1903
|
export interface SSHHostCertificateUpdate {
|
|
1536
1904
|
id: string;
|
|
@@ -1545,11 +1913,11 @@ export interface SSHHostCertificate {
|
|
|
1545
1913
|
/** URI of the SSH Host Certificate API resource */
|
|
1546
1914
|
uri: string;
|
|
1547
1915
|
/** timestamp when the SSH Host Certificate API resource was created, RFC 3339 format */
|
|
1548
|
-
createdAt:
|
|
1916
|
+
createdAt: Date;
|
|
1549
1917
|
/** human-readable description of this SSH Host Certificate. optional, max 255 bytes. */
|
|
1550
|
-
description
|
|
1918
|
+
description?: string;
|
|
1551
1919
|
/** arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes. */
|
|
1552
|
-
metadata
|
|
1920
|
+
metadata?: string;
|
|
1553
1921
|
/** a public key in OpenSSH Authorized Keys format that this certificate signs */
|
|
1554
1922
|
publicKey: string;
|
|
1555
1923
|
/** the key type of the `public_key`, one of `rsa`, `ecdsa` or `ed25519` */
|
|
@@ -1559,9 +1927,9 @@ export interface SSHHostCertificate {
|
|
|
1559
1927
|
/** the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts. */
|
|
1560
1928
|
principals: Array<string>;
|
|
1561
1929
|
/** the time when the ssh host certificate becomes valid, in RFC 3339 format. */
|
|
1562
|
-
validAfter:
|
|
1930
|
+
validAfter: Date;
|
|
1563
1931
|
/** the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this `valid_before`. */
|
|
1564
|
-
validUntil:
|
|
1932
|
+
validUntil: Date;
|
|
1565
1933
|
/** the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a `-cert.pub` certificate file on disk that should be referenced in your `sshd_config` configuration file with a `HostCertificate` directive */
|
|
1566
1934
|
certificate: string;
|
|
1567
1935
|
}
|
|
@@ -1585,13 +1953,13 @@ export interface SSHUserCertificateCreate {
|
|
|
1585
1953
|
/** A map of extensions included in the certificate. Extensions are additional metadata that can be interpreted by the SSH server for any purpose. These can be used to permit or deny the ability to open a terminal, do port forwarding, x11 forwarding, and more. If unspecified, the certificate will include limited permissions with the following extension map: `{"permit-pty": "", "permit-user-rc": ""}` OpenSSH understands a number of predefined extensions. See [the OpenSSH certificate protocol spec](https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys) for additional details. */
|
|
1586
1954
|
extensions: Map<string, string>;
|
|
1587
1955
|
/** The time when the user certificate becomes valid, in RFC 3339 format. Defaults to the current time if unspecified. */
|
|
1588
|
-
validAfter:
|
|
1956
|
+
validAfter: Date;
|
|
1589
1957
|
/** The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of 24 hours will be used. The OpenSSH certificates RFC calls this `valid_before`. */
|
|
1590
|
-
validUntil:
|
|
1958
|
+
validUntil: Date;
|
|
1591
1959
|
/** human-readable description of this SSH User Certificate. optional, max 255 bytes. */
|
|
1592
|
-
description
|
|
1960
|
+
description?: string;
|
|
1593
1961
|
/** arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes. */
|
|
1594
|
-
metadata
|
|
1962
|
+
metadata?: string;
|
|
1595
1963
|
}
|
|
1596
1964
|
export interface SSHUserCertificateUpdate {
|
|
1597
1965
|
id: string;
|
|
@@ -1606,11 +1974,11 @@ export interface SSHUserCertificate {
|
|
|
1606
1974
|
/** URI of the SSH User Certificate API resource */
|
|
1607
1975
|
uri: string;
|
|
1608
1976
|
/** timestamp when the SSH User Certificate API resource was created, RFC 3339 format */
|
|
1609
|
-
createdAt:
|
|
1977
|
+
createdAt: Date;
|
|
1610
1978
|
/** human-readable description of this SSH User Certificate. optional, max 255 bytes. */
|
|
1611
|
-
description
|
|
1979
|
+
description?: string;
|
|
1612
1980
|
/** arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes. */
|
|
1613
|
-
metadata
|
|
1981
|
+
metadata?: string;
|
|
1614
1982
|
/** a public key in OpenSSH Authorized Keys format that this certificate signs */
|
|
1615
1983
|
publicKey: string;
|
|
1616
1984
|
/** the key type of the `public_key`, one of `rsa`, `ecdsa` or `ed25519` */
|
|
@@ -1624,9 +1992,9 @@ export interface SSHUserCertificate {
|
|
|
1624
1992
|
/** A map of extensions included in the certificate. Extensions are additional metadata that can be interpreted by the SSH server for any purpose. These can be used to permit or deny the ability to open a terminal, do port forwarding, x11 forwarding, and more. If unspecified, the certificate will include limited permissions with the following extension map: `{"permit-pty": "", "permit-user-rc": ""}` OpenSSH understands a number of predefined extensions. See [the OpenSSH certificate protocol spec](https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys) for additional details. */
|
|
1625
1993
|
extensions: Map<string, string>;
|
|
1626
1994
|
/** the time when the ssh host certificate becomes valid, in RFC 3339 format. */
|
|
1627
|
-
validAfter:
|
|
1995
|
+
validAfter: Date;
|
|
1628
1996
|
/** the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this `valid_before`. */
|
|
1629
|
-
validUntil:
|
|
1997
|
+
validUntil: Date;
|
|
1630
1998
|
/** the signed SSH certificate in OpenSSH Authorized Keys Format. this value should be placed in a `-cert.pub` certificate file on disk that should be referenced in your `sshd_config` configuration file with a `HostCertificate` directive */
|
|
1631
1999
|
certificate: string;
|
|
1632
2000
|
}
|
|
@@ -1640,12 +2008,12 @@ export interface SSHUserCertificateList {
|
|
|
1640
2008
|
}
|
|
1641
2009
|
export interface TLSCertificateCreate {
|
|
1642
2010
|
/** human-readable description of this TLS certificate. optional, max 255 bytes. */
|
|
1643
|
-
description
|
|
2011
|
+
description?: string;
|
|
1644
2012
|
/** arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes. */
|
|
1645
|
-
metadata
|
|
1646
|
-
/** chain of PEM-encoded certificates, leaf first. See [Certificate Bundles](https://ngrok.com/docs/
|
|
2013
|
+
metadata?: string;
|
|
2014
|
+
/** chain of PEM-encoded certificates, leaf first. See [Certificate Bundles](https://ngrok.com/docs/cloud-edge/endpoints#certificate-chains). */
|
|
1647
2015
|
certificatePem: string;
|
|
1648
|
-
/** private key for the TLS certificate, PEM-encoded. See [Private Keys](https://ngrok.com/docs/
|
|
2016
|
+
/** private key for the TLS certificate, PEM-encoded. See [Private Keys](https://ngrok.com/docs/cloud-edge/endpoints#private-keys). */
|
|
1649
2017
|
privateKeyPem: string;
|
|
1650
2018
|
}
|
|
1651
2019
|
export interface TLSCertificateUpdate {
|
|
@@ -1661,23 +2029,23 @@ export interface TLSCertificate {
|
|
|
1661
2029
|
/** URI of the TLS certificate API resource */
|
|
1662
2030
|
uri: string;
|
|
1663
2031
|
/** timestamp when the TLS certificate was created, RFC 3339 format */
|
|
1664
|
-
createdAt:
|
|
2032
|
+
createdAt: Date;
|
|
1665
2033
|
/** human-readable description of this TLS certificate. optional, max 255 bytes. */
|
|
1666
|
-
description
|
|
2034
|
+
description?: string;
|
|
1667
2035
|
/** arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes. */
|
|
1668
|
-
metadata
|
|
1669
|
-
/** chain of PEM-encoded certificates, leaf first. See [Certificate Bundles](https://ngrok.com/docs/
|
|
2036
|
+
metadata?: string;
|
|
2037
|
+
/** chain of PEM-encoded certificates, leaf first. See [Certificate Bundles](https://ngrok.com/docs/cloud-edge/endpoints#certificate-chains). */
|
|
1670
2038
|
certificatePem: string;
|
|
1671
2039
|
/** subject common name from the leaf of this TLS certificate */
|
|
1672
2040
|
subjectCommonName: string;
|
|
1673
2041
|
/** subject alternative names (SANs) from the leaf of this TLS certificate */
|
|
1674
2042
|
subjectAlternativeNames: TLSCertificateSANs;
|
|
1675
2043
|
/** timestamp (in RFC 3339 format) when this TLS certificate was issued automatically, or null if this certificate was user-uploaded */
|
|
1676
|
-
issuedAt?:
|
|
2044
|
+
issuedAt?: Date;
|
|
1677
2045
|
/** timestamp when this TLS certificate becomes valid, RFC 3339 format */
|
|
1678
|
-
notBefore:
|
|
2046
|
+
notBefore: Date;
|
|
1679
2047
|
/** timestamp when this TLS certificate becomes invalid, RFC 3339 format */
|
|
1680
|
-
notAfter:
|
|
2048
|
+
notAfter: Date;
|
|
1681
2049
|
/** set of actions the private key of this TLS certificate can be used for */
|
|
1682
2050
|
keyUsages: Array<string>;
|
|
1683
2051
|
/** extended set of actions the private key of this TLS certificate can be used for */
|
|
@@ -1713,50 +2081,17 @@ export interface TLSCertificateSANs {
|
|
|
1713
2081
|
/** set of IP addresses this TLS certificate is also valid for */
|
|
1714
2082
|
ips: Array<string>;
|
|
1715
2083
|
}
|
|
1716
|
-
export interface TunnelSession {
|
|
1717
|
-
/** version of the ngrok agent that started this ngrok tunnel session */
|
|
1718
|
-
agentVersion: string;
|
|
1719
|
-
/** reference to the tunnel credential or ssh credential used by the ngrok agent to start this tunnel session */
|
|
1720
|
-
credential: Ref;
|
|
1721
|
-
/** unique tunnel session resource identifier */
|
|
1722
|
-
id: string;
|
|
1723
|
-
/** source ip address of the tunnel session */
|
|
1724
|
-
ip: string;
|
|
1725
|
-
/** arbitrary user-defined data specified in the metadata property in the ngrok configuration file. See the metadata configuration option */
|
|
1726
|
-
metadata: string;
|
|
1727
|
-
/** operating system of the host the ngrok agent is running on */
|
|
1728
|
-
os: string;
|
|
1729
|
-
/** the ngrok region identifier in which this tunnel session was started */
|
|
1730
|
-
region: string;
|
|
1731
|
-
/** time when the tunnel session first connected to the ngrok servers */
|
|
1732
|
-
startedAt: string;
|
|
1733
|
-
/** the transport protocol used to start the tunnel session. Either `ngrok/v2` or `ssh` */
|
|
1734
|
-
transport: string;
|
|
1735
|
-
/** URI to the API resource of the tunnel session */
|
|
1736
|
-
uri: string;
|
|
1737
|
-
}
|
|
1738
|
-
export interface TunnelSessionList {
|
|
1739
|
-
/** list of all tunnel sessions on this account */
|
|
1740
|
-
tunnelSessions: Array<TunnelSession>;
|
|
1741
|
-
/** URI to the API resource of the tunnel session list */
|
|
1742
|
-
uri: string;
|
|
1743
|
-
/** URI of the next page, or null if there is no next page */
|
|
1744
|
-
nextPageUri?: string;
|
|
1745
|
-
}
|
|
1746
|
-
export interface TunnelSessionsUpdate {
|
|
1747
|
-
id: string;
|
|
1748
|
-
}
|
|
1749
2084
|
export interface Tunnel {
|
|
1750
2085
|
/** unique tunnel resource identifier */
|
|
1751
2086
|
id: string;
|
|
1752
2087
|
/** URL of the ephemeral tunnel's public endpoint */
|
|
1753
|
-
publicUrl
|
|
2088
|
+
publicUrl?: string;
|
|
1754
2089
|
/** timestamp when the tunnel was initiated in RFC 3339 format */
|
|
1755
|
-
startedAt:
|
|
1756
|
-
/** user-supplied metadata for the tunnel defined in the ngrok configuration file. See the tunnel [metadata configuration option](https://ngrok.com/docs#tunnel-
|
|
1757
|
-
metadata
|
|
2090
|
+
startedAt: Date;
|
|
2091
|
+
/** user-supplied metadata for the tunnel defined in the ngrok configuration file. See the tunnel [metadata configuration option](https://ngrok.com/docs/secure-tunnels/ngrok-agent/reference/config#common-tunnel-configuration-properties) In API version 0, this value was instead pulled from the top-level [metadata configuration option](https://ngrok.com/docs/secure-tunnels/ngrok-agent/reference/config#metadata). */
|
|
2092
|
+
metadata?: string;
|
|
1758
2093
|
/** tunnel protocol for ephemeral tunnels. one of `http`, `https`, `tcp` or `tls` */
|
|
1759
|
-
proto
|
|
2094
|
+
proto?: string;
|
|
1760
2095
|
/** identifier of tune region where the tunnel is running */
|
|
1761
2096
|
region: string;
|
|
1762
2097
|
/** reference object pointing to the tunnel session on which this tunnel was started */
|
|
@@ -1764,7 +2099,7 @@ export interface Tunnel {
|
|
|
1764
2099
|
/** the ephemeral endpoint this tunnel is associated with, if this is an agent-initiated tunnel */
|
|
1765
2100
|
endpoint?: Ref;
|
|
1766
2101
|
/** the labels the tunnel group backends will match against, if this is a backend tunnel */
|
|
1767
|
-
labels
|
|
2102
|
+
labels?: Map<string, string>;
|
|
1768
2103
|
/** tunnel group backends served by this backend tunnel */
|
|
1769
2104
|
backends?: Array<Ref>;
|
|
1770
2105
|
/** upstream address the ngrok agent forwards traffic over this tunnel to. this may be expressed as a URL or a network address. */
|