@ngrok/ngrok-api 0.0.9 → 0.3.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/.eslintrc.js +4 -1
- package/CHANGELOG.md +34 -0
- package/README.md +148 -2
- package/docs/CNAME +1 -0
- package/docs/assets/css/main.css +2660 -0
- package/docs/assets/images/icons.png +0 -0
- package/docs/assets/images/icons@2x.png +0 -0
- package/docs/assets/images/widgets.png +0 -0
- package/docs/assets/images/widgets@2x.png +0 -0
- package/docs/assets/js/main.js +248 -0
- package/docs/assets/js/search.js +1 -0
- package/docs/classes/client.Ngrok.html +681 -0
- package/docs/classes/services.APIKeys.html +453 -0
- package/docs/classes/services.AbuseReports.html +360 -0
- package/docs/classes/services.AgentIngresses.html +442 -0
- package/docs/classes/services.CertificateAuthorities.html +453 -0
- package/docs/classes/services.Credentials.html +452 -0
- package/docs/classes/services.EndpointCircuitBreakerModule.html +369 -0
- package/docs/classes/services.EndpointCompressionModule.html +369 -0
- package/docs/classes/services.EndpointConfigurations.html +451 -0
- package/docs/classes/services.EndpointIPPolicyModule.html +369 -0
- package/docs/classes/services.EndpointLoggingModule.html +369 -0
- package/docs/classes/services.EndpointMutualTLSModule.html +369 -0
- package/docs/classes/services.EndpointOAuthModule.html +369 -0
- package/docs/classes/services.EndpointOIDCModule.html +369 -0
- package/docs/classes/services.EndpointRequestHeadersModule.html +369 -0
- package/docs/classes/services.EndpointResponseHeadersModule.html +369 -0
- package/docs/classes/services.EndpointSAMLModule.html +369 -0
- package/docs/classes/services.EndpointTLSTerminationModule.html +369 -0
- package/docs/classes/services.EndpointWebhookValidationModule.html +369 -0
- package/docs/classes/services.EventDestinations.html +442 -0
- package/docs/classes/services.EventSources.html +448 -0
- package/docs/classes/services.EventStreams.html +442 -0
- package/docs/classes/services.EventSubscriptions.html +442 -0
- package/docs/classes/services.IPPolicies.html +452 -0
- package/docs/classes/services.IPPolicyRules.html +450 -0
- package/docs/classes/services.IPRestrictions.html +454 -0
- package/docs/classes/services.ReservedAddrs.html +483 -0
- package/docs/classes/services.ReservedDomains.html +580 -0
- package/docs/classes/services.SSHCertificateAuthorities.html +450 -0
- package/docs/classes/services.SSHCredentials.html +450 -0
- package/docs/classes/services.SSHHostCertificates.html +451 -0
- package/docs/classes/services.SSHUserCertificates.html +451 -0
- package/docs/classes/services.TLSCertificates.html +453 -0
- package/docs/classes/services.TunnelSessions.html +451 -0
- package/docs/classes/services.Tunnels.html +322 -0
- package/docs/index.html +239 -0
- package/docs/interfaces/client.NgrokConfig.html +179 -0
- package/docs/interfaces/datatypes.APIKey.html +262 -0
- package/docs/interfaces/datatypes.APIKeyCreate.html +186 -0
- package/docs/interfaces/datatypes.APIKeyList.html +205 -0
- package/docs/interfaces/datatypes.APIKeyUpdate.html +200 -0
- package/docs/interfaces/datatypes.AWSAuth.html +186 -0
- package/docs/interfaces/datatypes.AWSCredentials.html +186 -0
- package/docs/interfaces/datatypes.AWSRole.html +167 -0
- package/docs/interfaces/datatypes.AbuseReport.html +281 -0
- package/docs/interfaces/datatypes.AbuseReportCreate.html +186 -0
- package/docs/interfaces/datatypes.AbuseReportHostname.html +186 -0
- package/docs/interfaces/datatypes.AgentIngress.html +300 -0
- package/docs/interfaces/datatypes.AgentIngressCreate.html +205 -0
- package/docs/interfaces/datatypes.AgentIngressList.html +205 -0
- package/docs/interfaces/datatypes.AgentIngressUpdate.html +200 -0
- package/docs/interfaces/datatypes.CertificateAuthority.html +357 -0
- package/docs/interfaces/datatypes.CertificateAuthorityCreate.html +205 -0
- package/docs/interfaces/datatypes.CertificateAuthorityList.html +205 -0
- package/docs/interfaces/datatypes.CertificateAuthorityUpdate.html +200 -0
- package/docs/interfaces/datatypes.Credential.html +281 -0
- package/docs/interfaces/datatypes.CredentialCreate.html +205 -0
- package/docs/interfaces/datatypes.CredentialList.html +205 -0
- package/docs/interfaces/datatypes.CredentialUpdate.html +219 -0
- package/docs/interfaces/datatypes.Empty.html +130 -0
- package/docs/interfaces/datatypes.EndpointCircuitBreaker.html +262 -0
- package/docs/interfaces/datatypes.EndpointCircuitBreakerReplace.html +176 -0
- package/docs/interfaces/datatypes.EndpointCompression.html +167 -0
- package/docs/interfaces/datatypes.EndpointCompressionReplace.html +176 -0
- package/docs/interfaces/datatypes.EndpointConfiguration.html +490 -0
- package/docs/interfaces/datatypes.EndpointConfigurationCreate.html +433 -0
- package/docs/interfaces/datatypes.EndpointConfigurationList.html +205 -0
- package/docs/interfaces/datatypes.EndpointConfigurationUpdate.html +433 -0
- package/docs/interfaces/datatypes.EndpointIPPolicy.html +181 -0
- package/docs/interfaces/datatypes.EndpointIPPolicyMutate.html +186 -0
- package/docs/interfaces/datatypes.EndpointIPPolicyReplace.html +176 -0
- package/docs/interfaces/datatypes.EndpointLogging.html +186 -0
- package/docs/interfaces/datatypes.EndpointLoggingMutate.html +186 -0
- package/docs/interfaces/datatypes.EndpointLoggingReplace.html +176 -0
- package/docs/interfaces/datatypes.EndpointMutualTLS.html +186 -0
- package/docs/interfaces/datatypes.EndpointMutualTLSMutate.html +186 -0
- package/docs/interfaces/datatypes.EndpointMutualTLSReplace.html +176 -0
- package/docs/interfaces/datatypes.EndpointOAuth.html +281 -0
- package/docs/interfaces/datatypes.EndpointOAuthFacebook.html +243 -0
- package/docs/interfaces/datatypes.EndpointOAuthGitHub.html +281 -0
- package/docs/interfaces/datatypes.EndpointOAuthGoogle.html +243 -0
- package/docs/interfaces/datatypes.EndpointOAuthMicrosoft.html +243 -0
- package/docs/interfaces/datatypes.EndpointOAuthProvider.html +224 -0
- package/docs/interfaces/datatypes.EndpointOAuthReplace.html +176 -0
- package/docs/interfaces/datatypes.EndpointOIDC.html +319 -0
- package/docs/interfaces/datatypes.EndpointOIDCReplace.html +176 -0
- package/docs/interfaces/datatypes.EndpointRequestHeaders.html +205 -0
- package/docs/interfaces/datatypes.EndpointRequestHeadersReplace.html +176 -0
- package/docs/interfaces/datatypes.EndpointResponseHeaders.html +205 -0
- package/docs/interfaces/datatypes.EndpointResponseHeadersReplace.html +176 -0
- package/docs/interfaces/datatypes.EndpointSAML.html +433 -0
- package/docs/interfaces/datatypes.EndpointSAMLMutate.html +338 -0
- package/docs/interfaces/datatypes.EndpointSAMLReplace.html +176 -0
- package/docs/interfaces/datatypes.EndpointTLSTermination.html +205 -0
- package/docs/interfaces/datatypes.EndpointTLSTerminationReplace.html +176 -0
- package/docs/interfaces/datatypes.EndpointWebhookValidation.html +205 -0
- package/docs/interfaces/datatypes.EndpointWebhookValidationReplace.html +176 -0
- package/docs/interfaces/datatypes.Error.html +204 -0
- package/docs/interfaces/datatypes.EventDestination.html +281 -0
- package/docs/interfaces/datatypes.EventDestinationCreate.html +224 -0
- package/docs/interfaces/datatypes.EventDestinationList.html +205 -0
- package/docs/interfaces/datatypes.EventDestinationUpdate.html +243 -0
- package/docs/interfaces/datatypes.EventSource.html +186 -0
- package/docs/interfaces/datatypes.EventSourceCreate.html +186 -0
- package/docs/interfaces/datatypes.EventSourceItem.html +193 -0
- package/docs/interfaces/datatypes.EventSourceList.html +186 -0
- package/docs/interfaces/datatypes.EventSourcePaging.html +174 -0
- package/docs/interfaces/datatypes.EventSourceReplace.html +167 -0
- package/docs/interfaces/datatypes.EventSourceUpdate.html +186 -0
- package/docs/interfaces/datatypes.EventStream.html +319 -0
- package/docs/interfaces/datatypes.EventStreamCreate.html +262 -0
- package/docs/interfaces/datatypes.EventStreamList.html +205 -0
- package/docs/interfaces/datatypes.EventStreamUpdate.html +262 -0
- package/docs/interfaces/datatypes.EventSubscription.html +281 -0
- package/docs/interfaces/datatypes.EventSubscriptionCreate.html +224 -0
- package/docs/interfaces/datatypes.EventSubscriptionList.html +205 -0
- package/docs/interfaces/datatypes.EventSubscriptionUpdate.html +243 -0
- package/docs/interfaces/datatypes.EventTarget.html +205 -0
- package/docs/interfaces/datatypes.EventTargetCloudwatchLogs.html +186 -0
- package/docs/interfaces/datatypes.EventTargetFirehose.html +186 -0
- package/docs/interfaces/datatypes.EventTargetKinesis.html +186 -0
- package/docs/interfaces/datatypes.IPPolicy.html +262 -0
- package/docs/interfaces/datatypes.IPPolicyCreate.html +205 -0
- package/docs/interfaces/datatypes.IPPolicyList.html +205 -0
- package/docs/interfaces/datatypes.IPPolicyRule.html +281 -0
- package/docs/interfaces/datatypes.IPPolicyRuleCreate.html +224 -0
- package/docs/interfaces/datatypes.IPPolicyRuleList.html +205 -0
- package/docs/interfaces/datatypes.IPPolicyRuleUpdate.html +219 -0
- package/docs/interfaces/datatypes.IPPolicyUpdate.html +200 -0
- package/docs/interfaces/datatypes.IPRestriction.html +300 -0
- package/docs/interfaces/datatypes.IPRestrictionCreate.html +243 -0
- package/docs/interfaces/datatypes.IPRestrictionList.html +205 -0
- package/docs/interfaces/datatypes.IPRestrictionUpdate.html +238 -0
- package/docs/interfaces/datatypes.Item.html +167 -0
- package/docs/interfaces/datatypes.Paging.html +176 -0
- package/docs/interfaces/datatypes.Ref.html +186 -0
- package/docs/interfaces/datatypes.ReservedAddr.html +300 -0
- package/docs/interfaces/datatypes.ReservedAddrCreate.html +224 -0
- package/docs/interfaces/datatypes.ReservedAddrList.html +205 -0
- package/docs/interfaces/datatypes.ReservedAddrUpdate.html +219 -0
- package/docs/interfaces/datatypes.ReservedDomain.html +414 -0
- package/docs/interfaces/datatypes.ReservedDomainCertJob.html +224 -0
- package/docs/interfaces/datatypes.ReservedDomainCertPolicy.html +186 -0
- package/docs/interfaces/datatypes.ReservedDomainCertStatus.html +186 -0
- package/docs/interfaces/datatypes.ReservedDomainCreate.html +300 -0
- package/docs/interfaces/datatypes.ReservedDomainList.html +205 -0
- package/docs/interfaces/datatypes.ReservedDomainUpdate.html +276 -0
- package/docs/interfaces/datatypes.SSHCertificateAuthority.html +281 -0
- package/docs/interfaces/datatypes.SSHCertificateAuthorityCreate.html +243 -0
- package/docs/interfaces/datatypes.SSHCertificateAuthorityList.html +205 -0
- package/docs/interfaces/datatypes.SSHCertificateAuthorityUpdate.html +200 -0
- package/docs/interfaces/datatypes.SSHCredential.html +281 -0
- package/docs/interfaces/datatypes.SSHCredentialCreate.html +224 -0
- package/docs/interfaces/datatypes.SSHCredentialList.html +205 -0
- package/docs/interfaces/datatypes.SSHCredentialUpdate.html +219 -0
- package/docs/interfaces/datatypes.SSHHostCertificate.html +376 -0
- package/docs/interfaces/datatypes.SSHHostCertificateCreate.html +281 -0
- package/docs/interfaces/datatypes.SSHHostCertificateList.html +205 -0
- package/docs/interfaces/datatypes.SSHHostCertificateUpdate.html +200 -0
- package/docs/interfaces/datatypes.SSHUserCertificate.html +414 -0
- package/docs/interfaces/datatypes.SSHUserCertificateCreate.html +319 -0
- package/docs/interfaces/datatypes.SSHUserCertificateList.html +205 -0
- package/docs/interfaces/datatypes.SSHUserCertificateUpdate.html +200 -0
- package/docs/interfaces/datatypes.TLSCertificate.html +547 -0
- package/docs/interfaces/datatypes.TLSCertificateCreate.html +224 -0
- package/docs/interfaces/datatypes.TLSCertificateList.html +205 -0
- package/docs/interfaces/datatypes.TLSCertificateSANs.html +186 -0
- package/docs/interfaces/datatypes.TLSCertificateUpdate.html +200 -0
- package/docs/interfaces/datatypes.Tunnel.html +281 -0
- package/docs/interfaces/datatypes.TunnelList.html +205 -0
- package/docs/interfaces/datatypes.TunnelSession.html +338 -0
- package/docs/interfaces/datatypes.TunnelSessionList.html +205 -0
- package/docs/interfaces/datatypes.TunnelSessionsUpdate.html +162 -0
- package/docs/modules/client.html +137 -0
- package/docs/modules/datatypes.html +668 -0
- package/docs/modules/services.html +260 -0
- package/docs/modules.html +119 -0
- package/lib/client.d.ts +145 -0
- package/lib/client.d.ts.map +1 -0
- package/lib/client.js +102 -0
- package/lib/client.js.map +1 -0
- package/lib/{types.d.ts → datatypes.d.ts} +620 -816
- package/lib/datatypes.d.ts.map +1 -0
- package/lib/{types.js → datatypes.js} +1 -1
- package/lib/datatypes.js.map +1 -0
- package/lib/index.d.ts +3 -314
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +25 -887
- package/lib/index.js.map +1 -1
- package/lib/services.d.ts +773 -0
- package/lib/services.d.ts.map +1 -0
- package/lib/services.js +2761 -0
- package/lib/services.js.map +1 -0
- package/lib/util.d.ts +5 -0
- package/lib/util.d.ts.map +1 -0
- package/lib/util.js +53 -0
- package/lib/util.js.map +1 -0
- package/package.json +12 -3
- package/src/client.ts +265 -0
- package/src/{types.ts → datatypes.ts} +648 -869
- package/src/index.ts +2 -616
- package/src/services.ts +2560 -0
- package/src/util.ts +48 -0
- package/test/apikey.test.js +44 -30
- package/test/endpointConfigurations.test.js +38 -34
- package/tsconfig.json +17 -7
- package/lib/types.js.map +0 -1
|
@@ -6,13 +6,13 @@ export interface Item {
|
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
export interface Paging {
|
|
9
|
-
|
|
9
|
+
beforeId?: string;
|
|
10
10
|
limit?: string;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export interface Error {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
errorCode: string;
|
|
15
|
+
statusCode: number;
|
|
16
16
|
msg: string;
|
|
17
17
|
details: Map<string, string>;
|
|
18
18
|
}
|
|
@@ -30,12 +30,12 @@ export interface AbuseReport {
|
|
|
30
30
|
/** URI of the abuse report API resource */
|
|
31
31
|
uri: string;
|
|
32
32
|
/** timestamp that the abuse report record was created in RFC 3339 format */
|
|
33
|
-
|
|
33
|
+
createdAt: string;
|
|
34
34
|
/** a list of URLs containing suspected abusive content */
|
|
35
35
|
urls: Array<string>;
|
|
36
36
|
/** arbitrary user-defined data about this abuse report. Optional, max 4096 bytes. */
|
|
37
37
|
metadata: string;
|
|
38
|
-
/** Indicates whether ngrok has processed the abuse report. one of PENDING
|
|
38
|
+
/** Indicates whether ngrok has processed the abuse report. one of `PENDING`, `PROCESSED`, or `PARTIALLY_PROCESSED` */
|
|
39
39
|
status: string;
|
|
40
40
|
/** an array of hostname statuses related to the report */
|
|
41
41
|
hostnames: Array<AbuseReportHostname>;
|
|
@@ -44,7 +44,7 @@ export interface AbuseReport {
|
|
|
44
44
|
export interface AbuseReportHostname {
|
|
45
45
|
/** the hostname ngrok has parsed out of one of the reported URLs in this abuse report */
|
|
46
46
|
hostname: string;
|
|
47
|
-
/** indicates what action ngrok has taken against the hostname. one of PENDING
|
|
47
|
+
/** indicates what action ngrok has taken against the hostname. one of `PENDING`, `BANNED`, `UNBANNED`, or `IGNORE` */
|
|
48
48
|
status: string;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -55,218 +55,88 @@ export interface AbuseReportCreate {
|
|
|
55
55
|
metadata: string;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
export interface
|
|
59
|
-
/** human-readable description of
|
|
58
|
+
export interface AgentIngressCreate {
|
|
59
|
+
/** human-readable description of the use of this Agent Ingress. optional, max 255 bytes. */
|
|
60
60
|
description: string;
|
|
61
|
-
/** arbitrary user-defined data of this
|
|
61
|
+
/** arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes */
|
|
62
62
|
metadata: string;
|
|
63
|
+
/** the domain that you own to be used as the base domain name to generate regional agent ingress domains. */
|
|
64
|
+
domain: string;
|
|
63
65
|
}
|
|
64
66
|
|
|
65
|
-
export interface
|
|
67
|
+
export interface AgentIngressUpdate {
|
|
66
68
|
id: string;
|
|
67
|
-
/** human-readable description of
|
|
69
|
+
/** human-readable description of the use of this Agent Ingress. optional, max 255 bytes. */
|
|
68
70
|
description?: string;
|
|
69
|
-
/** arbitrary user-defined data of this
|
|
71
|
+
/** arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes */
|
|
70
72
|
metadata?: string;
|
|
71
73
|
}
|
|
72
74
|
|
|
73
|
-
export interface
|
|
74
|
-
/** unique
|
|
75
|
+
export interface AgentIngress {
|
|
76
|
+
/** unique Agent Ingress resource identifier */
|
|
75
77
|
id: string;
|
|
76
|
-
/** URI to the API resource of this
|
|
78
|
+
/** URI to the API resource of this Agent ingress */
|
|
77
79
|
uri: string;
|
|
78
|
-
/** human-readable description of
|
|
80
|
+
/** human-readable description of the use of this Agent Ingress. optional, max 255 bytes. */
|
|
79
81
|
description: string;
|
|
80
|
-
/** arbitrary user-defined data of this
|
|
82
|
+
/** arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes */
|
|
81
83
|
metadata: string;
|
|
82
|
-
/**
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
export interface PriorityBackend {
|
|
98
|
-
/** unique identifier for this Priority backend */
|
|
99
|
-
id: string;
|
|
100
|
-
/** timestamp when the backend was created, RFC 3339 format */
|
|
101
|
-
created_at: string;
|
|
102
|
-
/** human-readable description of this backend. Optional */
|
|
103
|
-
description: string;
|
|
104
|
-
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
105
|
-
metadata: string;
|
|
106
|
-
/** the ids of the child backends in order */
|
|
107
|
-
backends: Array<string>;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export interface PriorityBackendCreate {
|
|
111
|
-
/** human-readable description of this backend. Optional */
|
|
112
|
-
description: string;
|
|
113
|
-
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
114
|
-
metadata: string;
|
|
115
|
-
/** the ids of the child backends in order */
|
|
116
|
-
backends: Array<string>;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export interface PriorityBackendUpdate {
|
|
120
|
-
id: string;
|
|
121
|
-
/** human-readable description of this backend. Optional */
|
|
122
|
-
description?: string;
|
|
123
|
-
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
124
|
-
metadata?: string;
|
|
125
|
-
/** the ids of the child backends in order */
|
|
126
|
-
backends: Array<string>;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
export interface PriorityBackendList {
|
|
130
|
-
/** the list of all Priority backends on this account */
|
|
131
|
-
backends: Array<PriorityBackend>;
|
|
132
|
-
/** URI of the Priority backends list API resource */
|
|
84
|
+
/** the domain that you own to be used as the base domain name to generate regional agent ingress domains. */
|
|
85
|
+
domain: string;
|
|
86
|
+
/** a list of target values to use as the values of NS records for the domain property these values will delegate control over the domain to ngrok */
|
|
87
|
+
nsTargets: Array<string>;
|
|
88
|
+
/** a list of regional agent ingress domains that are subdomains of the value of domain this value may increase over time as ngrok adds more regions */
|
|
89
|
+
regionDomains: Array<string>;
|
|
90
|
+
/** timestamp when the Agent Ingress was created, RFC 3339 format */
|
|
91
|
+
createdAt: string;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export interface AgentIngressList {
|
|
95
|
+
/** the list of Agent Ingresses owned by this account */
|
|
96
|
+
ingresses: Array<AgentIngress>;
|
|
97
|
+
/** URI of the Agent Ingress list API resource */
|
|
133
98
|
uri: string;
|
|
134
99
|
/** URI of the next page, or null if there is no next page */
|
|
135
|
-
|
|
100
|
+
nextPageUri?: string;
|
|
136
101
|
}
|
|
137
102
|
|
|
138
|
-
export interface
|
|
139
|
-
/**
|
|
140
|
-
id: string;
|
|
141
|
-
/** timestamp when the backend was created, RFC 3339 format */
|
|
142
|
-
created_at: string;
|
|
143
|
-
/** human-readable description of this backend. Optional */
|
|
144
|
-
description: string;
|
|
145
|
-
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
146
|
-
metadata: string;
|
|
147
|
-
/** the address to forward to */
|
|
148
|
-
address: string;
|
|
149
|
-
/** tls configuration to use */
|
|
150
|
-
tls: StaticBackendTLS;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
export interface StaticBackendTLS {
|
|
154
|
-
/** if tls is checked */
|
|
155
|
-
enabled: boolean;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
export interface StaticBackendCreate {
|
|
159
|
-
/** human-readable description of this backend. Optional */
|
|
103
|
+
export interface APIKeyCreate {
|
|
104
|
+
/** human-readable description of what uses the API key to authenticate. optional, max 255 bytes. */
|
|
160
105
|
description: string;
|
|
161
|
-
/** arbitrary user-defined
|
|
106
|
+
/** arbitrary user-defined data of this API key. optional, max 4096 bytes */
|
|
162
107
|
metadata: string;
|
|
163
|
-
/** the address to forward to */
|
|
164
|
-
address: string;
|
|
165
|
-
/** tls configuration to use */
|
|
166
|
-
tls: StaticBackendTLS;
|
|
167
108
|
}
|
|
168
109
|
|
|
169
|
-
export interface
|
|
110
|
+
export interface APIKeyUpdate {
|
|
170
111
|
id: string;
|
|
171
|
-
/** human-readable description of
|
|
112
|
+
/** human-readable description of what uses the API key to authenticate. optional, max 255 bytes. */
|
|
172
113
|
description?: string;
|
|
173
|
-
/** arbitrary user-defined
|
|
114
|
+
/** arbitrary user-defined data of this API key. optional, max 4096 bytes */
|
|
174
115
|
metadata?: string;
|
|
175
|
-
/** the address to forward to */
|
|
176
|
-
address: string;
|
|
177
|
-
/** tls configuration to use */
|
|
178
|
-
tls: StaticBackendTLS;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
export interface StaticBackendList {
|
|
182
|
-
/** the list of all static backends on this account */
|
|
183
|
-
backends: Array<StaticBackend>;
|
|
184
|
-
/** URI of the static backends list API resource */
|
|
185
|
-
uri: string;
|
|
186
|
-
/** URI of the next page, or null if there is no next page */
|
|
187
|
-
next_page_uri?: string;
|
|
188
116
|
}
|
|
189
117
|
|
|
190
|
-
export interface
|
|
191
|
-
/** unique
|
|
192
|
-
id: string;
|
|
193
|
-
/** timestamp when the backend was created, RFC 3339 format */
|
|
194
|
-
created_at: string;
|
|
195
|
-
/** human-readable description of this backend. Optional */
|
|
196
|
-
description: string;
|
|
197
|
-
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
198
|
-
metadata: string;
|
|
199
|
-
/** labels to watch for tunnels on, e.g. app->foo, dc->bar */
|
|
200
|
-
labels: Map<string, string>;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
export interface TunnelGroupBackendCreate {
|
|
204
|
-
/** human-readable description of this backend. Optional */
|
|
205
|
-
description: string;
|
|
206
|
-
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
207
|
-
metadata: string;
|
|
208
|
-
/** labels to watch for tunnels on, e.g. app->foo, dc->bar */
|
|
209
|
-
labels: Map<string, string>;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
export interface TunnelGroupBackendUpdate {
|
|
118
|
+
export interface APIKey {
|
|
119
|
+
/** unique API key resource identifier */
|
|
213
120
|
id: string;
|
|
214
|
-
/**
|
|
215
|
-
description?: string;
|
|
216
|
-
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
217
|
-
metadata?: string;
|
|
218
|
-
/** labels to watch for tunnels on, e.g. app->foo, dc->bar */
|
|
219
|
-
labels: Map<string, string>;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
export interface TunnelGroupBackendList {
|
|
223
|
-
/** the list of all TunnelGroup backends on this account */
|
|
224
|
-
backends: Array<TunnelGroupBackend>;
|
|
225
|
-
/** URI of the TunnelGroup backends list API resource */
|
|
121
|
+
/** URI to the API resource of this API key */
|
|
226
122
|
uri: string;
|
|
227
|
-
/**
|
|
228
|
-
next_page_uri?: string;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
export interface WeightedBackend {
|
|
232
|
-
/** unique identifier for this Weighted backend */
|
|
233
|
-
id: string;
|
|
234
|
-
/** timestamp when the backend was created, RFC 3339 format */
|
|
235
|
-
created_at: string;
|
|
236
|
-
/** human-readable description of this backend. Optional */
|
|
237
|
-
description: string;
|
|
238
|
-
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
239
|
-
metadata: string;
|
|
240
|
-
/** the ids of the child backends to their weights (0-10000) */
|
|
241
|
-
backends: Map<string, number>;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
export interface WeightedBackendCreate {
|
|
245
|
-
/** human-readable description of this backend. Optional */
|
|
123
|
+
/** human-readable description of what uses the API key to authenticate. optional, max 255 bytes. */
|
|
246
124
|
description: string;
|
|
247
|
-
/** arbitrary user-defined
|
|
125
|
+
/** arbitrary user-defined data of this API key. optional, max 4096 bytes */
|
|
248
126
|
metadata: string;
|
|
249
|
-
/**
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
export interface WeightedBackendUpdate {
|
|
254
|
-
id: string;
|
|
255
|
-
/** human-readable description of this backend. Optional */
|
|
256
|
-
description?: string;
|
|
257
|
-
/** arbitrary user-defined machine-readable data of this backend. Optional */
|
|
258
|
-
metadata?: string;
|
|
259
|
-
/** the ids of the child backends to their weights (0-10000) */
|
|
260
|
-
backends: Map<string, number>;
|
|
127
|
+
/** timestamp when the api key was created, RFC 3339 format */
|
|
128
|
+
createdAt: string;
|
|
129
|
+
/** 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.** */
|
|
130
|
+
token?: string;
|
|
261
131
|
}
|
|
262
132
|
|
|
263
|
-
export interface
|
|
264
|
-
/** the list of
|
|
265
|
-
|
|
266
|
-
/** URI of the
|
|
133
|
+
export interface APIKeyList {
|
|
134
|
+
/** the list of API keys for this account */
|
|
135
|
+
keys: Array<APIKey>;
|
|
136
|
+
/** URI of the API keys list API resource */
|
|
267
137
|
uri: string;
|
|
268
138
|
/** URI of the next page, or null if there is no next page */
|
|
269
|
-
|
|
139
|
+
nextPageUri?: string;
|
|
270
140
|
}
|
|
271
141
|
|
|
272
142
|
export interface CertificateAuthorityCreate {
|
|
@@ -275,7 +145,7 @@ export interface CertificateAuthorityCreate {
|
|
|
275
145
|
/** arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes. */
|
|
276
146
|
metadata: string;
|
|
277
147
|
/** raw PEM of the Certificate Authority */
|
|
278
|
-
|
|
148
|
+
caPem: string;
|
|
279
149
|
}
|
|
280
150
|
|
|
281
151
|
export interface CertificateAuthorityUpdate {
|
|
@@ -292,32 +162,32 @@ export interface CertificateAuthority {
|
|
|
292
162
|
/** URI of the Certificate Authority API resource */
|
|
293
163
|
uri: string;
|
|
294
164
|
/** timestamp when the Certificate Authority was created, RFC 3339 format */
|
|
295
|
-
|
|
165
|
+
createdAt: string;
|
|
296
166
|
/** human-readable description of this Certificate Authority. optional, max 255 bytes. */
|
|
297
167
|
description: string;
|
|
298
168
|
/** arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes. */
|
|
299
169
|
metadata: string;
|
|
300
170
|
/** raw PEM of the Certificate Authority */
|
|
301
|
-
|
|
171
|
+
caPem: string;
|
|
302
172
|
/** subject common name of the Certificate Authority */
|
|
303
|
-
|
|
173
|
+
subjectCommonName: string;
|
|
304
174
|
/** timestamp when this Certificate Authority becomes valid, RFC 3339 format */
|
|
305
|
-
|
|
175
|
+
notBefore: string;
|
|
306
176
|
/** timestamp when this Certificate Authority becomes invalid, RFC 3339 format */
|
|
307
|
-
|
|
177
|
+
notAfter: string;
|
|
308
178
|
/** set of actions the private key of this Certificate Authority can be used for */
|
|
309
|
-
|
|
179
|
+
keyUsages: Array<string>;
|
|
310
180
|
/** extended set of actions the private key of this Certificate Authority can be used for */
|
|
311
|
-
|
|
181
|
+
extendedKeyUsages: Array<string>;
|
|
312
182
|
}
|
|
313
183
|
|
|
314
184
|
export interface CertificateAuthorityList {
|
|
315
185
|
/** the list of all certificate authorities on this account */
|
|
316
|
-
|
|
186
|
+
certificateAuthorities: Array<CertificateAuthority>;
|
|
317
187
|
/** URI of the certificates authorities list API resource */
|
|
318
188
|
uri: string;
|
|
319
189
|
/** URI of the next page, or null if there is no next page */
|
|
320
|
-
|
|
190
|
+
nextPageUri?: string;
|
|
321
191
|
}
|
|
322
192
|
|
|
323
193
|
export interface CredentialCreate {
|
|
@@ -325,7 +195,7 @@ export interface CredentialCreate {
|
|
|
325
195
|
description: string;
|
|
326
196
|
/** arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. */
|
|
327
197
|
metadata: string;
|
|
328
|
-
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io
|
|
198
|
+
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. */
|
|
329
199
|
acl: Array<string>;
|
|
330
200
|
}
|
|
331
201
|
|
|
@@ -335,7 +205,7 @@ export interface CredentialUpdate {
|
|
|
335
205
|
description?: string;
|
|
336
206
|
/** arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. */
|
|
337
207
|
metadata?: string;
|
|
338
|
-
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io
|
|
208
|
+
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. */
|
|
339
209
|
acl?: Array<string>;
|
|
340
210
|
}
|
|
341
211
|
|
|
@@ -345,14 +215,14 @@ export interface Credential {
|
|
|
345
215
|
/** URI of the tunnel credential API resource */
|
|
346
216
|
uri: string;
|
|
347
217
|
/** timestamp when the tunnel credential was created, RFC 3339 format */
|
|
348
|
-
|
|
218
|
+
createdAt: string;
|
|
349
219
|
/** human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes. */
|
|
350
220
|
description: string;
|
|
351
221
|
/** arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. */
|
|
352
222
|
metadata: string;
|
|
353
|
-
/** the credential's authtoken that can be used to authenticate an ngrok client. This value is only available one time, on the API response from credential creation, otherwise it is null
|
|
223
|
+
/** the credential's authtoken that can be used to authenticate an ngrok client. **This value is only available one time, on the API response from credential creation, otherwise it is null.** */
|
|
354
224
|
token?: string;
|
|
355
|
-
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io
|
|
225
|
+
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. */
|
|
356
226
|
acl: Array<string>;
|
|
357
227
|
}
|
|
358
228
|
|
|
@@ -362,7 +232,379 @@ export interface CredentialList {
|
|
|
362
232
|
/** URI of the tunnel credential list API resource */
|
|
363
233
|
uri: string;
|
|
364
234
|
/** URI of the next page, or null if there is no next page */
|
|
365
|
-
|
|
235
|
+
nextPageUri?: string;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export interface EndpointConfiguration {
|
|
239
|
+
/** unique identifier of this endpoint configuration */
|
|
240
|
+
id: string;
|
|
241
|
+
/** they type of traffic this endpoint configuration can be applied to. one of: `http`, `https`, `tcp` */
|
|
242
|
+
type: string;
|
|
243
|
+
/** human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
|
|
244
|
+
description: string;
|
|
245
|
+
/** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
|
|
246
|
+
metadata: string;
|
|
247
|
+
/** timestamp when the endpoint configuration was created, RFC 3339 format */
|
|
248
|
+
createdAt: string;
|
|
249
|
+
/** URI of the endpoint configuration API resource */
|
|
250
|
+
uri: string;
|
|
251
|
+
/** circuit breaker module configuration or `null` */
|
|
252
|
+
circuitBreaker?: EndpointCircuitBreaker;
|
|
253
|
+
/** compression module configuration or `null` */
|
|
254
|
+
compression?: EndpointCompression;
|
|
255
|
+
/** request headers module configuration or `null` */
|
|
256
|
+
requestHeaders?: EndpointRequestHeaders;
|
|
257
|
+
/** response headers module configuration or `null` */
|
|
258
|
+
responseHeaders?: EndpointResponseHeaders;
|
|
259
|
+
/** ip policy module configuration or `null` */
|
|
260
|
+
ipPolicy?: EndpointIPPolicy;
|
|
261
|
+
/** mutual TLS module configuration or `null` */
|
|
262
|
+
mutualTls?: EndpointMutualTLS;
|
|
263
|
+
/** TLS termination module configuration or `null` */
|
|
264
|
+
tlsTermination?: EndpointTLSTermination;
|
|
265
|
+
/** webhook validation module configuration or `null` */
|
|
266
|
+
webhookValidation?: EndpointWebhookValidation;
|
|
267
|
+
/** oauth module configuration or `null` */
|
|
268
|
+
oauth?: EndpointOAuth;
|
|
269
|
+
/** logging module configuration or `null` */
|
|
270
|
+
logging?: EndpointLogging;
|
|
271
|
+
/** saml module configuration or `null` */
|
|
272
|
+
saml?: EndpointSAML;
|
|
273
|
+
/** oidc module configuration or `null` */
|
|
274
|
+
oidc?: EndpointOIDC;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
export interface EndpointConfigurationList {
|
|
278
|
+
/** the list of all endpoint configurations on this account */
|
|
279
|
+
endpointConfigurations: Array<EndpointConfiguration>;
|
|
280
|
+
/** URI of the endpoint configurations list API resource */
|
|
281
|
+
uri: string;
|
|
282
|
+
/** URI of the next page, or null if there is no next page */
|
|
283
|
+
nextPageUri?: string;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
export interface EndpointConfigurationUpdate {
|
|
287
|
+
/** unique identifier of this endpoint configuration */
|
|
288
|
+
id: string;
|
|
289
|
+
/** human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
|
|
290
|
+
description?: string;
|
|
291
|
+
/** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
|
|
292
|
+
metadata?: string;
|
|
293
|
+
/** circuit breaker module configuration or `null` */
|
|
294
|
+
circuitBreaker?: EndpointCircuitBreaker;
|
|
295
|
+
/** compression module configuration or `null` */
|
|
296
|
+
compression?: EndpointCompression;
|
|
297
|
+
/** request headers module configuration or `null` */
|
|
298
|
+
requestHeaders?: EndpointRequestHeaders;
|
|
299
|
+
/** response headers module configuration or `null` */
|
|
300
|
+
responseHeaders?: EndpointResponseHeaders;
|
|
301
|
+
/** ip policy module configuration or `null` */
|
|
302
|
+
ipPolicy?: EndpointIPPolicyMutate;
|
|
303
|
+
/** mutual TLS module configuration or `null` */
|
|
304
|
+
mutualTls?: EndpointMutualTLSMutate;
|
|
305
|
+
/** TLS termination module configuration or `null` */
|
|
306
|
+
tlsTermination?: EndpointTLSTermination;
|
|
307
|
+
/** webhook validation module configuration or `null` */
|
|
308
|
+
webhookValidation?: EndpointWebhookValidation;
|
|
309
|
+
/** oauth module configuration or `null` */
|
|
310
|
+
oauth?: EndpointOAuth;
|
|
311
|
+
/** logging module configuration or `null` */
|
|
312
|
+
logging?: EndpointLoggingMutate;
|
|
313
|
+
/** saml module configuration or `null` */
|
|
314
|
+
saml?: EndpointSAMLMutate;
|
|
315
|
+
/** oidc module configuration or `null` */
|
|
316
|
+
oidc?: EndpointOIDC;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
export interface EndpointConfigurationCreate {
|
|
320
|
+
/** they type of traffic this endpoint configuration can be applied to. one of: `http`, `https`, `tcp` */
|
|
321
|
+
type: string;
|
|
322
|
+
/** human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
|
|
323
|
+
description: string;
|
|
324
|
+
/** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
|
|
325
|
+
metadata: string;
|
|
326
|
+
/** circuit breaker module configuration or `null` */
|
|
327
|
+
circuitBreaker?: EndpointCircuitBreaker;
|
|
328
|
+
/** compression module configuration or `null` */
|
|
329
|
+
compression?: EndpointCompression;
|
|
330
|
+
/** request headers module configuration or `null` */
|
|
331
|
+
requestHeaders?: EndpointRequestHeaders;
|
|
332
|
+
/** response headers module configuration or `null` */
|
|
333
|
+
responseHeaders?: EndpointResponseHeaders;
|
|
334
|
+
/** ip policy module configuration or `null` */
|
|
335
|
+
ipPolicy?: EndpointIPPolicyMutate;
|
|
336
|
+
/** mutual TLS module configuration or `null` */
|
|
337
|
+
mutualTls?: EndpointMutualTLSMutate;
|
|
338
|
+
/** TLS termination module configuration or `null` */
|
|
339
|
+
tlsTermination?: EndpointTLSTermination;
|
|
340
|
+
/** webhook validation module configuration or `null` */
|
|
341
|
+
webhookValidation?: EndpointWebhookValidation;
|
|
342
|
+
/** oauth module configuration or `null` */
|
|
343
|
+
oauth?: EndpointOAuth;
|
|
344
|
+
/** logging module configuration or `null` */
|
|
345
|
+
logging?: EndpointLoggingMutate;
|
|
346
|
+
/** saml module configuration or `null` */
|
|
347
|
+
saml?: EndpointSAMLMutate;
|
|
348
|
+
/** oidc module configuration or `null` */
|
|
349
|
+
oidc?: EndpointOIDC;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
export interface EndpointWebhookValidation {
|
|
353
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
354
|
+
enabled?: boolean;
|
|
355
|
+
/** a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers: `SLACK`, `SNS`, `STRIPE`, `GITHUB`, `TWILIO`, `SHOPIFY`, `GITLAB`, `INTERCOM`, `SENDGRID`, `XERO`. */
|
|
356
|
+
provider: string;
|
|
357
|
+
/** a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret */
|
|
358
|
+
secret: string;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
export interface EndpointCompression {
|
|
362
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
363
|
+
enabled?: boolean;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
export interface EndpointMutualTLS {
|
|
367
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
368
|
+
enabled?: boolean;
|
|
369
|
+
/** PEM-encoded CA certificates that will be used to validate. Multiple CAs may be provided by concatenating them together. */
|
|
370
|
+
certificateAuthorities: Array<Ref>;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
export interface EndpointMutualTLSMutate {
|
|
374
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
375
|
+
enabled?: boolean;
|
|
376
|
+
/** list of certificate authorities that will be used to validate the TLS client certificate presnted by the initiatiator of the TLS connection */
|
|
377
|
+
certificateAuthorityIds: Array<string>;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
export interface EndpointTLSTermination {
|
|
381
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
382
|
+
enabled?: boolean;
|
|
383
|
+
/** `edge` if the ngrok edge should terminate TLS traffic, `upstream` if TLS traffic should be passed through to the upstream ngrok agent / application server for termination. if `upstream` is chosen, most other modules will be disallowed because they rely on the ngrok edge being able to access the underlying traffic. */
|
|
384
|
+
terminateAt: string;
|
|
385
|
+
/** The minimum TLS version used for termination and advertised to the client during the TLS handshake. if unspecified, ngrok will choose an industry-safe default. This value must be null if `terminate_at` is set to `upstream`. */
|
|
386
|
+
minVersion?: string;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
export interface EndpointLogging {
|
|
390
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
391
|
+
enabled?: boolean;
|
|
392
|
+
/** list of all EventStreams that will be used to configure and export this endpoint's logs */
|
|
393
|
+
eventStreams: Array<Ref>;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
export interface EndpointLoggingMutate {
|
|
397
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
398
|
+
enabled?: boolean;
|
|
399
|
+
/** list of all EventStreams that will be used to configure and export this endpoint's logs */
|
|
400
|
+
eventStreamIds: Array<string>;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
export interface EndpointRequestHeaders {
|
|
404
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
405
|
+
enabled?: boolean;
|
|
406
|
+
/** a map of header key to header value that will be injected into the HTTP Request before being sent to the upstream application server */
|
|
407
|
+
add: Map<string, string>;
|
|
408
|
+
/** a list of header names that will be removed from the HTTP Request before being sent to the upstream application server */
|
|
409
|
+
remove: Array<string>;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
export interface EndpointResponseHeaders {
|
|
413
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
414
|
+
enabled?: boolean;
|
|
415
|
+
/** a map of header key to header value that will be injected into the HTTP Response returned to the HTTP client */
|
|
416
|
+
add: Map<string, string>;
|
|
417
|
+
/** a list of header names that will be removed from the HTTP Response returned to the HTTP client */
|
|
418
|
+
remove: Array<string>;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
export interface EndpointIPPolicy {
|
|
422
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
423
|
+
enabled?: boolean;
|
|
424
|
+
ipPolicies: Array<Ref>;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
export interface EndpointIPPolicyMutate {
|
|
428
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
429
|
+
enabled?: boolean;
|
|
430
|
+
/** list of all IP policies that will be used to check if a source IP is allowed access to the endpoint */
|
|
431
|
+
ipPolicyIds: Array<string>;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
export interface EndpointCircuitBreaker {
|
|
435
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
436
|
+
enabled?: boolean;
|
|
437
|
+
/** Integer number of seconds after which the circuit is tripped to wait before re-evaluating upstream health */
|
|
438
|
+
trippedDuration: number;
|
|
439
|
+
/** Integer number of seconds in the statistical rolling window that metrics are retained for. */
|
|
440
|
+
rollingWindow: number;
|
|
441
|
+
/** Integer number of buckets into which metrics are retained. Max 128. */
|
|
442
|
+
numBuckets: number;
|
|
443
|
+
/** Integer number of requests in a rolling window that will trip the circuit. Helpful if traffic volume is low. */
|
|
444
|
+
volumeThreshold: number;
|
|
445
|
+
/** Error threshold percentage should be between 0 - 1.0, not 0-100.0 */
|
|
446
|
+
errorThresholdPercentage: number;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
export interface EndpointOAuth {
|
|
450
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
451
|
+
enabled?: boolean;
|
|
452
|
+
/** an object which defines the identity provider to use for authentication and configuration for who may access the endpoint */
|
|
453
|
+
provider: EndpointOAuthProvider;
|
|
454
|
+
/** Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. */
|
|
455
|
+
optionsPassthrough: boolean;
|
|
456
|
+
/** the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' */
|
|
457
|
+
cookiePrefix: string;
|
|
458
|
+
/** Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. */
|
|
459
|
+
inactivityTimeout: number;
|
|
460
|
+
/** Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. */
|
|
461
|
+
maximumDuration: number;
|
|
462
|
+
/** Integer number of seconds after which ngrok guarantees it will refresh user state from the identity provider and recheck whether the user is still authorized to access the endpoint. This is the preferred tunable to use to enforce a minimum amount of time after which a revoked user will no longer be able to access the resource. */
|
|
463
|
+
authCheckInterval: number;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
export interface EndpointOAuthProvider {
|
|
467
|
+
/** configuration for using github as the identity provider */
|
|
468
|
+
github?: EndpointOAuthGitHub;
|
|
469
|
+
/** configuration for using facebook as the identity provider */
|
|
470
|
+
facebook?: EndpointOAuthFacebook;
|
|
471
|
+
/** configuration for using microsoft as the identity provider */
|
|
472
|
+
microsoft?: EndpointOAuthMicrosoft;
|
|
473
|
+
/** configuration for using google as the identity provider */
|
|
474
|
+
google?: EndpointOAuthGoogle;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
export interface EndpointOAuthGitHub {
|
|
478
|
+
/** 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. */
|
|
479
|
+
clientId?: string;
|
|
480
|
+
/** 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`. */
|
|
481
|
+
clientSecret?: string;
|
|
482
|
+
/** 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) */
|
|
483
|
+
scopes: Array<string>;
|
|
484
|
+
/** a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint */
|
|
485
|
+
emailAddresses: Array<string>;
|
|
486
|
+
/** a list of email domains of users authenticated by identity provider who are allowed access to the endpoint */
|
|
487
|
+
emailDomains: Array<string>;
|
|
488
|
+
/** 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` */
|
|
489
|
+
teams: Array<string>;
|
|
490
|
+
/** 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' */
|
|
491
|
+
organizations: Array<string>;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
export interface EndpointOAuthFacebook {
|
|
495
|
+
/** 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. */
|
|
496
|
+
clientId?: string;
|
|
497
|
+
/** 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`. */
|
|
498
|
+
clientSecret?: string;
|
|
499
|
+
/** 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) */
|
|
500
|
+
scopes: Array<string>;
|
|
501
|
+
/** a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint */
|
|
502
|
+
emailAddresses: Array<string>;
|
|
503
|
+
/** a list of email domains of users authenticated by identity provider who are allowed access to the endpoint */
|
|
504
|
+
emailDomains: Array<string>;
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
export interface EndpointOAuthMicrosoft {
|
|
508
|
+
/** 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. */
|
|
509
|
+
clientId?: string;
|
|
510
|
+
/** 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`. */
|
|
511
|
+
clientSecret?: string;
|
|
512
|
+
/** 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) */
|
|
513
|
+
scopes: Array<string>;
|
|
514
|
+
/** a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint */
|
|
515
|
+
emailAddresses: Array<string>;
|
|
516
|
+
/** a list of email domains of users authenticated by identity provider who are allowed access to the endpoint */
|
|
517
|
+
emailDomains: Array<string>;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
export interface EndpointOAuthGoogle {
|
|
521
|
+
/** 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. */
|
|
522
|
+
clientId?: string;
|
|
523
|
+
/** 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`. */
|
|
524
|
+
clientSecret?: string;
|
|
525
|
+
/** 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) */
|
|
526
|
+
scopes: Array<string>;
|
|
527
|
+
/** a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint */
|
|
528
|
+
emailAddresses: Array<string>;
|
|
529
|
+
/** a list of email domains of users authenticated by identity provider who are allowed access to the endpoint */
|
|
530
|
+
emailDomains: Array<string>;
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
export interface EndpointSAML {
|
|
534
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
535
|
+
enabled?: boolean;
|
|
536
|
+
/** Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. */
|
|
537
|
+
optionsPassthrough: boolean;
|
|
538
|
+
/** the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' */
|
|
539
|
+
cookiePrefix: string;
|
|
540
|
+
/** Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. */
|
|
541
|
+
inactivityTimeout: number;
|
|
542
|
+
/** Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. */
|
|
543
|
+
maximumDuration: number;
|
|
544
|
+
/** The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL. */
|
|
545
|
+
idpMetadata: string;
|
|
546
|
+
/** If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP. */
|
|
547
|
+
forceAuthn: boolean;
|
|
548
|
+
/** If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the `RelayState` parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed. */
|
|
549
|
+
allowIdpInitiated?: boolean;
|
|
550
|
+
/** If present, only users who are a member of one of the listed groups may access the target endpoint. */
|
|
551
|
+
authorizedGroups: Array<string>;
|
|
552
|
+
/** The SP Entity's unique ID. This always takes the form of a URL. In ngrok's implementation, this URL is the same as the metadata URL. This will need to be specified to the IdP as configuration. */
|
|
553
|
+
entityId: string;
|
|
554
|
+
/** The public URL of the SP's Assertion Consumer Service. This is where the IdP will redirect to during an authentication flow. This will need to be specified to the IdP as configuration. */
|
|
555
|
+
assertionConsumerServiceUrl: string;
|
|
556
|
+
/** The public URL of the SP's Single Logout Service. This is where the IdP will redirect to during a single logout flow. This will optionally need to be specified to the IdP as configuration. */
|
|
557
|
+
singleLogoutUrl: string;
|
|
558
|
+
/** PEM-encoded x.509 certificate of the key pair that is used to sign all SAML requests that the ngrok SP makes to the IdP. Many IdPs do not support request signing verification, but we highly recommend specifying this in the IdP's configuration if it is supported. */
|
|
559
|
+
requestSigningCertificatePem: string;
|
|
560
|
+
/** A public URL where the SP's metadata is hosted. If an IdP supports dynamic configuration, this is the URL it can use to retrieve the SP metadata. */
|
|
561
|
+
metadataUrl: string;
|
|
562
|
+
/** Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent` will be used. A subset of the allowed values enumerated by the SAML specification are supported. */
|
|
563
|
+
nameidFormat: string;
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
export interface EndpointSAMLMutate {
|
|
567
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
568
|
+
enabled?: boolean;
|
|
569
|
+
/** Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. */
|
|
570
|
+
optionsPassthrough: boolean;
|
|
571
|
+
/** the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' */
|
|
572
|
+
cookiePrefix: string;
|
|
573
|
+
/** Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. */
|
|
574
|
+
inactivityTimeout: number;
|
|
575
|
+
/** Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. */
|
|
576
|
+
maximumDuration: number;
|
|
577
|
+
/** The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL. */
|
|
578
|
+
idpMetadata: string;
|
|
579
|
+
/** If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP. */
|
|
580
|
+
forceAuthn: boolean;
|
|
581
|
+
/** If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the `RelayState` parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed. */
|
|
582
|
+
allowIdpInitiated?: boolean;
|
|
583
|
+
/** If present, only users who are a member of one of the listed groups may access the target endpoint. */
|
|
584
|
+
authorizedGroups: Array<string>;
|
|
585
|
+
/** Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent` will be used. A subset of the allowed values enumerated by the SAML specification are supported. */
|
|
586
|
+
nameidFormat: string;
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
export interface EndpointOIDC {
|
|
590
|
+
/** `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified */
|
|
591
|
+
enabled?: boolean;
|
|
592
|
+
/** Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. */
|
|
593
|
+
optionsPassthrough: boolean;
|
|
594
|
+
/** the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' */
|
|
595
|
+
cookiePrefix: string;
|
|
596
|
+
/** Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. */
|
|
597
|
+
inactivityTimeout: number;
|
|
598
|
+
/** Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. */
|
|
599
|
+
maximumDuration: number;
|
|
600
|
+
/** URL of the OIDC "OpenID provider". This is the base URL used for discovery. */
|
|
601
|
+
issuer: string;
|
|
602
|
+
/** The OIDC app's client ID and OIDC audience. */
|
|
603
|
+
clientId: string;
|
|
604
|
+
/** The OIDC app's client secret. */
|
|
605
|
+
clientSecret: string;
|
|
606
|
+
/** The set of scopes to request from the OIDC identity provider. */
|
|
607
|
+
scopes: Array<string>;
|
|
366
608
|
}
|
|
367
609
|
|
|
368
610
|
export interface EventStreamCreate {
|
|
@@ -372,12 +614,12 @@ export interface EventStreamCreate {
|
|
|
372
614
|
description: string;
|
|
373
615
|
/** A list of protocol-specific fields you want to collect on each event. */
|
|
374
616
|
fields: Array<string>;
|
|
375
|
-
/** The protocol that determines which events will be collected. Supported values are tcp_connection_closed and http_request_complete
|
|
376
|
-
|
|
617
|
+
/** The protocol that determines which events will be collected. Supported values are `tcp_connection_closed` and `http_request_complete`. */
|
|
618
|
+
eventType: string;
|
|
377
619
|
/** A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. */
|
|
378
|
-
|
|
620
|
+
destinationIds: Array<string>;
|
|
379
621
|
/** The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events. */
|
|
380
|
-
|
|
622
|
+
samplingRate: number;
|
|
381
623
|
}
|
|
382
624
|
|
|
383
625
|
export interface EventStreamUpdate {
|
|
@@ -390,18 +632,18 @@ export interface EventStreamUpdate {
|
|
|
390
632
|
/** A list of protocol-specific fields you want to collect on each event. */
|
|
391
633
|
fields?: Array<string>;
|
|
392
634
|
/** A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. */
|
|
393
|
-
|
|
635
|
+
destinationIds?: Array<string>;
|
|
394
636
|
/** The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events. */
|
|
395
|
-
|
|
637
|
+
samplingRate?: number;
|
|
396
638
|
}
|
|
397
639
|
|
|
398
640
|
export interface EventStreamList {
|
|
399
641
|
/** The list of all Event Streams on this account. */
|
|
400
|
-
|
|
642
|
+
eventStreams: Array<EventStream>;
|
|
401
643
|
/** URI of the Event Stream list API resource. */
|
|
402
644
|
uri: string;
|
|
403
645
|
/** URI of the next page, or null if there is no next page. */
|
|
404
|
-
|
|
646
|
+
nextPageUri?: string;
|
|
405
647
|
}
|
|
406
648
|
|
|
407
649
|
export interface EventStream {
|
|
@@ -410,19 +652,19 @@ export interface EventStream {
|
|
|
410
652
|
/** URI of the Event Stream API resource. */
|
|
411
653
|
uri: string;
|
|
412
654
|
/** Timestamp when the Event Stream was created, RFC 3339 format. */
|
|
413
|
-
|
|
655
|
+
createdAt: string;
|
|
414
656
|
/** Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes. */
|
|
415
657
|
metadata: string;
|
|
416
658
|
/** Human-readable description of the Event Stream. Optional, max 255 bytes. */
|
|
417
659
|
description: string;
|
|
418
660
|
/** A list of protocol-specific fields you want to collect on each event. */
|
|
419
661
|
fields: Array<string>;
|
|
420
|
-
/** The protocol that determines which events will be collected. Supported values are tcp_connection_closed and http_request_complete
|
|
421
|
-
|
|
662
|
+
/** The protocol that determines which events will be collected. Supported values are `tcp_connection_closed` and `http_request_complete`. */
|
|
663
|
+
eventType: string;
|
|
422
664
|
/** A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. */
|
|
423
|
-
|
|
665
|
+
destinationIds: Array<string>;
|
|
424
666
|
/** The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events. */
|
|
425
|
-
|
|
667
|
+
samplingRate: number;
|
|
426
668
|
}
|
|
427
669
|
|
|
428
670
|
export interface EventDestinationCreate {
|
|
@@ -430,9 +672,9 @@ export interface EventDestinationCreate {
|
|
|
430
672
|
metadata: string;
|
|
431
673
|
/** Human-readable description of the Event Destination. Optional, max 255 bytes. */
|
|
432
674
|
description: string;
|
|
433
|
-
/** The output format you would like to serialize events into when sending to their target. Currently the only accepted value is JSON
|
|
675
|
+
/** The output format you would like to serialize events into when sending to their target. Currently the only accepted value is `JSON`. */
|
|
434
676
|
format: string;
|
|
435
|
-
/** 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
|
|
677
|
+
/** 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`. */
|
|
436
678
|
target: EventTarget;
|
|
437
679
|
}
|
|
438
680
|
|
|
@@ -443,9 +685,9 @@ export interface EventDestinationUpdate {
|
|
|
443
685
|
metadata?: string;
|
|
444
686
|
/** Human-readable description of the Event Destination. Optional, max 255 bytes. */
|
|
445
687
|
description?: string;
|
|
446
|
-
/** The output format you would like to serialize events into when sending to their target. Currently the only accepted value is JSON
|
|
688
|
+
/** The output format you would like to serialize events into when sending to their target. Currently the only accepted value is `JSON`. */
|
|
447
689
|
format?: string;
|
|
448
|
-
/** 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
|
|
690
|
+
/** 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`. */
|
|
449
691
|
target?: EventTarget;
|
|
450
692
|
}
|
|
451
693
|
|
|
@@ -455,12 +697,12 @@ export interface EventDestination {
|
|
|
455
697
|
/** Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes. */
|
|
456
698
|
metadata: string;
|
|
457
699
|
/** Timestamp when the Event Destination was created, RFC 3339 format. */
|
|
458
|
-
|
|
700
|
+
createdAt: string;
|
|
459
701
|
/** Human-readable description of the Event Destination. Optional, max 255 bytes. */
|
|
460
702
|
description: string;
|
|
461
|
-
/** The output format you would like to serialize events into when sending to their target. Currently the only accepted value is JSON
|
|
703
|
+
/** The output format you would like to serialize events into when sending to their target. Currently the only accepted value is `JSON`. */
|
|
462
704
|
format: string;
|
|
463
|
-
/** 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
|
|
705
|
+
/** 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`. */
|
|
464
706
|
target: EventTarget;
|
|
465
707
|
/** URI of the Event Destination API resource. */
|
|
466
708
|
uri: string;
|
|
@@ -468,11 +710,11 @@ export interface EventDestination {
|
|
|
468
710
|
|
|
469
711
|
export interface EventDestinationList {
|
|
470
712
|
/** The list of all Event Destinations on this account. */
|
|
471
|
-
|
|
713
|
+
eventDestinations: Array<EventDestination>;
|
|
472
714
|
/** URI of the Event Destinations list API resource. */
|
|
473
715
|
uri: string;
|
|
474
716
|
/** URI of the next page, or null if there is no next page. */
|
|
475
|
-
|
|
717
|
+
nextPageUri?: string;
|
|
476
718
|
}
|
|
477
719
|
|
|
478
720
|
export interface EventTarget {
|
|
@@ -481,47 +723,30 @@ export interface EventTarget {
|
|
|
481
723
|
/** Configuration used to send events to Amazon Kinesis. */
|
|
482
724
|
kinesis?: EventTargetKinesis;
|
|
483
725
|
/** Configuration used to send events to Amazon CloudWatch Logs. */
|
|
484
|
-
|
|
726
|
+
cloudwatchLogs?: EventTargetCloudwatchLogs;
|
|
485
727
|
}
|
|
486
728
|
|
|
487
729
|
export interface EventTargetFirehose {
|
|
488
|
-
/** Configuration for how to authenticate into your AWS account. Exactly one of role or creds should be configured. */
|
|
730
|
+
/** Configuration for how to authenticate into your AWS account. Exactly one of `role` or `creds` should be configured. */
|
|
489
731
|
auth: AWSAuth;
|
|
490
732
|
/** An Amazon Resource Name specifying the Firehose delivery stream to deposit events into. */
|
|
491
|
-
|
|
733
|
+
deliveryStreamArn: string;
|
|
492
734
|
}
|
|
493
735
|
|
|
494
736
|
export interface EventTargetKinesis {
|
|
495
|
-
/** Configuration for how to authenticate into your AWS account. Exactly one of role or creds should be configured. */
|
|
737
|
+
/** Configuration for how to authenticate into your AWS account. Exactly one of `role` or `creds` should be configured. */
|
|
496
738
|
auth: AWSAuth;
|
|
497
739
|
/** An Amazon Resource Name specifying the Kinesis stream to deposit events into. */
|
|
498
|
-
|
|
740
|
+
streamArn: string;
|
|
499
741
|
}
|
|
500
742
|
|
|
501
743
|
export interface EventTargetCloudwatchLogs {
|
|
502
|
-
/** Configuration for how to authenticate into your AWS account. Exactly one of role or creds should be configured. */
|
|
744
|
+
/** Configuration for how to authenticate into your AWS account. Exactly one of `role` or `creds` should be configured. */
|
|
503
745
|
auth: AWSAuth;
|
|
504
746
|
/** An Amazon Resource Name specifying the CloudWatch Logs group to deposit events into. */
|
|
505
|
-
|
|
506
|
-
}
|
|
507
|
-
|
|
508
|
-
export interface EventTargetS3 {
|
|
509
|
-
/** Configuration for how to authenticate into your AWS account. Exactly one of role or creds should be configured. */
|
|
510
|
-
auth: AWSAuth;
|
|
511
|
-
/** An Amazon Resource Name specifying the S3 bucket to deposit events into. */
|
|
512
|
-
bucket_arn: string;
|
|
513
|
-
/** An optional prefix to prepend to S3 object keys. */
|
|
514
|
-
object_prefix: string;
|
|
515
|
-
/** Whether or not to compress files with gzip. */
|
|
516
|
-
compression: boolean;
|
|
517
|
-
/** How many bytes we should accumulate into a single file before sending to S3. */
|
|
518
|
-
max_file_size: number;
|
|
519
|
-
/** How many seconds we should batch up events before sending them to S3. */
|
|
520
|
-
max_file_age: number;
|
|
747
|
+
logGroupArn: string;
|
|
521
748
|
}
|
|
522
749
|
|
|
523
|
-
export interface EventTargetDebug {}
|
|
524
|
-
|
|
525
750
|
export interface AWSAuth {
|
|
526
751
|
/** A role for ngrok to assume on your behalf to deposit events into your AWS account. */
|
|
527
752
|
role?: AWSRole;
|
|
@@ -531,18 +756,14 @@ export interface AWSAuth {
|
|
|
531
756
|
|
|
532
757
|
export interface AWSRole {
|
|
533
758
|
/** An ARN that specifies the role that ngrok should use to deliver to the configured target. */
|
|
534
|
-
|
|
759
|
+
roleArn: string;
|
|
535
760
|
}
|
|
536
761
|
|
|
537
762
|
export interface AWSCredentials {
|
|
538
763
|
/** The ID portion of an AWS access key. */
|
|
539
|
-
|
|
764
|
+
awsAccessKeyId: string;
|
|
540
765
|
/** The secret portion of an AWS access key. */
|
|
541
|
-
|
|
542
|
-
}
|
|
543
|
-
|
|
544
|
-
export interface SentEvent {
|
|
545
|
-
event_id: string;
|
|
766
|
+
awsSecretAccessKey?: string;
|
|
546
767
|
}
|
|
547
768
|
|
|
548
769
|
export interface EventSubscriptionCreate {
|
|
@@ -550,10 +771,10 @@ export interface EventSubscriptionCreate {
|
|
|
550
771
|
metadata: string;
|
|
551
772
|
/** Arbitrary customer supplied information intended to be human readable. Optional, max 255 chars. */
|
|
552
773
|
description: string;
|
|
553
|
-
/**
|
|
774
|
+
/** Sources containing the types for which this event subscription will trigger */
|
|
554
775
|
sources: Array<EventSourceReplace>;
|
|
555
|
-
/**
|
|
556
|
-
|
|
776
|
+
/** A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. */
|
|
777
|
+
destinationIds: Array<string>;
|
|
557
778
|
}
|
|
558
779
|
|
|
559
780
|
export interface EventSubscriptionUpdate {
|
|
@@ -563,19 +784,19 @@ export interface EventSubscriptionUpdate {
|
|
|
563
784
|
metadata?: string;
|
|
564
785
|
/** Arbitrary customer supplied information intended to be human readable. Optional, max 255 chars. */
|
|
565
786
|
description?: string;
|
|
566
|
-
/**
|
|
787
|
+
/** Sources containing the types for which this event subscription will trigger */
|
|
567
788
|
sources?: Array<EventSourceReplace>;
|
|
568
|
-
/**
|
|
569
|
-
|
|
789
|
+
/** A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination. */
|
|
790
|
+
destinationIds?: Array<string>;
|
|
570
791
|
}
|
|
571
792
|
|
|
572
793
|
export interface EventSubscriptionList {
|
|
573
794
|
/** The list of all Event Subscriptions on this account. */
|
|
574
|
-
|
|
795
|
+
eventSubscriptions: Array<EventSubscription>;
|
|
575
796
|
/** URI of the Event Subscriptions list API resource. */
|
|
576
797
|
uri: string;
|
|
577
798
|
/** URI of next page, or null if there is no next page. */
|
|
578
|
-
|
|
799
|
+
nextPageUri?: string;
|
|
579
800
|
}
|
|
580
801
|
|
|
581
802
|
export interface EventSubscription {
|
|
@@ -584,62 +805,62 @@ export interface EventSubscription {
|
|
|
584
805
|
/** URI of the Event Subscription API resource. */
|
|
585
806
|
uri: string;
|
|
586
807
|
/** When the Event Subscription was created (RFC 3339 format). */
|
|
587
|
-
|
|
808
|
+
createdAt: string;
|
|
588
809
|
/** Arbitrary customer supplied information intended to be machine readable. Optional, max 4096 chars. */
|
|
589
810
|
metadata: string;
|
|
590
811
|
/** Arbitrary customer supplied information intended to be human readable. Optional, max 255 chars. */
|
|
591
812
|
description: string;
|
|
592
|
-
/**
|
|
813
|
+
/** Sources containing the types for which this event subscription will trigger */
|
|
593
814
|
sources: Array<EventSource>;
|
|
594
|
-
/**
|
|
815
|
+
/** Destinations to which these events will be sent */
|
|
595
816
|
destinations: Array<Ref>;
|
|
596
817
|
}
|
|
597
818
|
|
|
598
819
|
export interface EventSourceReplace {
|
|
599
|
-
/**
|
|
820
|
+
/** Type of event for which an event subscription will trigger */
|
|
600
821
|
type: string;
|
|
601
822
|
}
|
|
602
823
|
|
|
603
824
|
export interface EventSource {
|
|
604
|
-
/**
|
|
825
|
+
/** Type of event for which an event subscription will trigger */
|
|
605
826
|
type: string;
|
|
606
|
-
/**
|
|
827
|
+
/** URI of the Event Source API resource. */
|
|
607
828
|
uri: string;
|
|
608
829
|
}
|
|
609
830
|
|
|
610
831
|
export interface EventSourceList {
|
|
611
|
-
/**
|
|
832
|
+
/** The list of all Event Sources for an Event Subscription */
|
|
612
833
|
sources: Array<EventSource>;
|
|
613
|
-
/**
|
|
834
|
+
/** URI of the next page, or null if there is no next page. */
|
|
614
835
|
uri: string;
|
|
615
836
|
}
|
|
616
837
|
|
|
617
838
|
export interface EventSourceCreate {
|
|
618
|
-
/**
|
|
619
|
-
|
|
620
|
-
/**
|
|
839
|
+
/** The unique identifier for the Event Subscription that this Event Source is attached to. */
|
|
840
|
+
subscriptionId: string;
|
|
841
|
+
/** Type of event for which an event subscription will trigger */
|
|
621
842
|
type: string;
|
|
622
843
|
}
|
|
623
844
|
|
|
624
845
|
export interface EventSourceUpdate {
|
|
625
|
-
/**
|
|
626
|
-
|
|
627
|
-
/**
|
|
846
|
+
/** The unique identifier for the Event Subscription that this Event Source is attached to. */
|
|
847
|
+
subscriptionId: string;
|
|
848
|
+
/** Type of event for which an event subscription will trigger */
|
|
628
849
|
type: string;
|
|
629
850
|
}
|
|
630
851
|
|
|
631
852
|
/** This is needed instead of Item because the parameters are different. */
|
|
632
853
|
export interface EventSourceItem {
|
|
633
|
-
/**
|
|
634
|
-
|
|
635
|
-
/**
|
|
854
|
+
/** The unique identifier for the Event Subscription that this Event Source is attached to. */
|
|
855
|
+
subscriptionId: string;
|
|
856
|
+
/** Type of event for which an event subscription will trigger */
|
|
636
857
|
type: string;
|
|
637
858
|
}
|
|
638
859
|
|
|
639
860
|
/** This is needed instead of Paging because the parameters are different. We also don't need the typical pagination params because pagination of this isn't necessary or supported. */
|
|
640
861
|
export interface EventSourcePaging {
|
|
641
|
-
/**
|
|
642
|
-
|
|
862
|
+
/** The unique identifier for the Event Subscription that this Event Source is attached to. */
|
|
863
|
+
subscriptionId: string;
|
|
643
864
|
}
|
|
644
865
|
|
|
645
866
|
export interface IPPolicyCreate {
|
|
@@ -647,7 +868,7 @@ export interface IPPolicyCreate {
|
|
|
647
868
|
description: string;
|
|
648
869
|
/** arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. */
|
|
649
870
|
metadata: string;
|
|
650
|
-
/** the IP policy action. Supported values are allow or deny */
|
|
871
|
+
/** the IP policy action. Supported values are `allow` or `deny` */
|
|
651
872
|
action: string;
|
|
652
873
|
}
|
|
653
874
|
|
|
@@ -665,22 +886,22 @@ export interface IPPolicy {
|
|
|
665
886
|
/** URI of the IP Policy API resource */
|
|
666
887
|
uri: string;
|
|
667
888
|
/** timestamp when the IP policy was created, RFC 3339 format */
|
|
668
|
-
|
|
889
|
+
createdAt: string;
|
|
669
890
|
/** human-readable description of the source IPs of this IP policy. optional, max 255 bytes. */
|
|
670
891
|
description: string;
|
|
671
892
|
/** arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. */
|
|
672
893
|
metadata: string;
|
|
673
|
-
/** the IP policy action. Supported values are allow or deny */
|
|
894
|
+
/** the IP policy action. Supported values are `allow` or `deny` */
|
|
674
895
|
action: string;
|
|
675
896
|
}
|
|
676
897
|
|
|
677
898
|
export interface IPPolicyList {
|
|
678
899
|
/** the list of all IP policies on this account */
|
|
679
|
-
|
|
900
|
+
ipPolicies: Array<IPPolicy>;
|
|
680
901
|
/** URI of the IP policy list API resource */
|
|
681
902
|
uri: string;
|
|
682
903
|
/** URI of the next page, or null if there is no next page */
|
|
683
|
-
|
|
904
|
+
nextPageUri?: string;
|
|
684
905
|
}
|
|
685
906
|
|
|
686
907
|
export interface IPPolicyRuleCreate {
|
|
@@ -691,7 +912,7 @@ export interface IPPolicyRuleCreate {
|
|
|
691
912
|
/** an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported. */
|
|
692
913
|
cidr: string;
|
|
693
914
|
/** ID of the IP policy this IP policy rule will be attached to */
|
|
694
|
-
|
|
915
|
+
ipPolicyId: string;
|
|
695
916
|
}
|
|
696
917
|
|
|
697
918
|
export interface IPPolicyRuleUpdate {
|
|
@@ -710,7 +931,7 @@ export interface IPPolicyRule {
|
|
|
710
931
|
/** URI of the IP policy rule API resource */
|
|
711
932
|
uri: string;
|
|
712
933
|
/** timestamp when the IP policy rule was created, RFC 3339 format */
|
|
713
|
-
|
|
934
|
+
createdAt: string;
|
|
714
935
|
/** human-readable description of the source IPs of this IP rule. optional, max 255 bytes. */
|
|
715
936
|
description: string;
|
|
716
937
|
/** arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes. */
|
|
@@ -718,16 +939,16 @@ export interface IPPolicyRule {
|
|
|
718
939
|
/** an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported. */
|
|
719
940
|
cidr: string;
|
|
720
941
|
/** object describing the IP policy this IP Policy Rule belongs to */
|
|
721
|
-
|
|
942
|
+
ipPolicy: Ref;
|
|
722
943
|
}
|
|
723
944
|
|
|
724
945
|
export interface IPPolicyRuleList {
|
|
725
946
|
/** the list of all IP policy rules on this account */
|
|
726
|
-
|
|
947
|
+
ipPolicyRules: Array<IPPolicyRule>;
|
|
727
948
|
/** URI of the IP policy rule list API resource */
|
|
728
949
|
uri: string;
|
|
729
950
|
/** URI of the next page, or null if there is no next page */
|
|
730
|
-
|
|
951
|
+
nextPageUri?: string;
|
|
731
952
|
}
|
|
732
953
|
|
|
733
954
|
export interface IPRestrictionCreate {
|
|
@@ -735,12 +956,12 @@ export interface IPRestrictionCreate {
|
|
|
735
956
|
description: string;
|
|
736
957
|
/** arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes. */
|
|
737
958
|
metadata: string;
|
|
738
|
-
/** true if the IP restriction will be
|
|
959
|
+
/** true if the IP restriction will be enforced. if false, only warnings will be issued */
|
|
739
960
|
enforced: boolean;
|
|
740
|
-
/** the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: dashboard
|
|
961
|
+
/** 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` */
|
|
741
962
|
type: string;
|
|
742
963
|
/** the set of IP policy identifiers that are used to enforce the restriction */
|
|
743
|
-
|
|
964
|
+
ipPolicyIds: Array<string>;
|
|
744
965
|
}
|
|
745
966
|
|
|
746
967
|
export interface IPRestrictionUpdate {
|
|
@@ -749,10 +970,10 @@ export interface IPRestrictionUpdate {
|
|
|
749
970
|
description?: string;
|
|
750
971
|
/** arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes. */
|
|
751
972
|
metadata?: string;
|
|
752
|
-
/** true if the IP restriction will be
|
|
973
|
+
/** true if the IP restriction will be enforced. if false, only warnings will be issued */
|
|
753
974
|
enforced?: boolean;
|
|
754
975
|
/** the set of IP policy identifiers that are used to enforce the restriction */
|
|
755
|
-
|
|
976
|
+
ipPolicyIds: Array<string>;
|
|
756
977
|
}
|
|
757
978
|
|
|
758
979
|
export interface IPRestriction {
|
|
@@ -761,458 +982,33 @@ export interface IPRestriction {
|
|
|
761
982
|
/** URI of the IP restriction API resource */
|
|
762
983
|
uri: string;
|
|
763
984
|
/** timestamp when the IP restriction was created, RFC 3339 format */
|
|
764
|
-
|
|
985
|
+
createdAt: string;
|
|
765
986
|
/** human-readable description of this IP restriction. optional, max 255 bytes. */
|
|
766
987
|
description: string;
|
|
767
988
|
/** arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes. */
|
|
768
989
|
metadata: string;
|
|
769
|
-
/** true if the IP restriction will be
|
|
990
|
+
/** true if the IP restriction will be enforced. if false, only warnings will be issued */
|
|
770
991
|
enforced: boolean;
|
|
771
|
-
/** the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: dashboard
|
|
992
|
+
/** 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` */
|
|
772
993
|
type: string;
|
|
773
994
|
/** the set of IP policies that are used to enforce the restriction */
|
|
774
|
-
|
|
995
|
+
ipPolicies: Array<Ref>;
|
|
775
996
|
}
|
|
776
997
|
|
|
777
998
|
export interface IPRestrictionList {
|
|
778
999
|
/** the list of all IP restrictions on this account */
|
|
779
|
-
|
|
1000
|
+
ipRestrictions: Array<IPRestriction>;
|
|
780
1001
|
/** URI of the IP resrtrictions list API resource */
|
|
781
1002
|
uri: string;
|
|
782
1003
|
/** URI of the next page, or null if there is no next page */
|
|
783
|
-
|
|
784
|
-
}
|
|
785
|
-
|
|
786
|
-
export interface IPWhitelistEntryCreate {
|
|
787
|
-
/** human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes. */
|
|
788
|
-
description: string;
|
|
789
|
-
/** arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes. */
|
|
790
|
-
metadata: string;
|
|
791
|
-
/** an IP address or IP network range in CIDR notation (e.g. 10.1.1.1 or 10.1.0.0/16) of addresses that will be whitelisted to communicate with your tunnel endpoints */
|
|
792
|
-
ip_net: string;
|
|
793
|
-
}
|
|
794
|
-
|
|
795
|
-
export interface IPWhitelistEntryUpdate {
|
|
796
|
-
id: string;
|
|
797
|
-
/** human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes. */
|
|
798
|
-
description?: string;
|
|
799
|
-
/** arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes. */
|
|
800
|
-
metadata?: string;
|
|
801
|
-
}
|
|
802
|
-
|
|
803
|
-
export interface IPWhitelistEntry {
|
|
804
|
-
/** unique identifier for this IP whitelist entry */
|
|
805
|
-
id: string;
|
|
806
|
-
/** URI of the IP whitelist entry API resource */
|
|
807
|
-
uri: string;
|
|
808
|
-
/** timestamp when the IP whitelist entry was created, RFC 3339 format */
|
|
809
|
-
created_at: string;
|
|
810
|
-
/** human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes. */
|
|
811
|
-
description: string;
|
|
812
|
-
/** arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes. */
|
|
813
|
-
metadata: string;
|
|
814
|
-
/** an IP address or IP network range in CIDR notation (e.g. 10.1.1.1 or 10.1.0.0/16) of addresses that will be whitelisted to communicate with your tunnel endpoints */
|
|
815
|
-
ip_net: string;
|
|
816
|
-
}
|
|
817
|
-
|
|
818
|
-
export interface IPWhitelistEntryList {
|
|
819
|
-
/** the list of all IP whitelist entries on this account */
|
|
820
|
-
whitelist: Array<IPWhitelistEntry>;
|
|
821
|
-
/** URI of the IP whitelist API resource */
|
|
822
|
-
uri: string;
|
|
823
|
-
/** URI of the next page, or null if there is no next page */
|
|
824
|
-
next_page_uri?: string;
|
|
825
|
-
}
|
|
826
|
-
|
|
827
|
-
export interface EndpointConfiguration {
|
|
828
|
-
/** unique identifier of this endpoint configuration */
|
|
829
|
-
id: string;
|
|
830
|
-
/** they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp */
|
|
831
|
-
type: string;
|
|
832
|
-
/** human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
|
|
833
|
-
description: string;
|
|
834
|
-
/** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
|
|
835
|
-
metadata: string;
|
|
836
|
-
/** timestamp when the endpoint configuration was created, RFC 3339 format */
|
|
837
|
-
created_at: string;
|
|
838
|
-
/** URI of the endpoint configuration API resource */
|
|
839
|
-
uri: string;
|
|
840
|
-
/** circuit breaker module configuration or null */
|
|
841
|
-
circuit_breaker?: EndpointCircuitBreaker;
|
|
842
|
-
/** compression module configuration or null */
|
|
843
|
-
compression?: EndpointCompression;
|
|
844
|
-
/** request headers module configuration or null */
|
|
845
|
-
request_headers?: EndpointRequestHeaders;
|
|
846
|
-
/** response headers module configuration or null */
|
|
847
|
-
response_headers?: EndpointResponseHeaders;
|
|
848
|
-
/** ip policy module configuration or null */
|
|
849
|
-
ip_policy?: EndpointIPPolicy;
|
|
850
|
-
/** mutual TLS module configuration or null */
|
|
851
|
-
mutual_tls?: EndpointMutualTLS;
|
|
852
|
-
/** TLS termination module configuration or null */
|
|
853
|
-
tls_termination?: EndpointTLSTermination;
|
|
854
|
-
/** webhook validation module configuration or null */
|
|
855
|
-
webhook_validation?: EndpointWebhookValidation;
|
|
856
|
-
/** oauth module configuration or null */
|
|
857
|
-
oauth?: EndpointOAuth;
|
|
858
|
-
/** logging module configuration or null */
|
|
859
|
-
logging?: EndpointLogging;
|
|
860
|
-
/** saml module configuration or null */
|
|
861
|
-
saml?: EndpointSAML;
|
|
862
|
-
/** oidc module configuration or null */
|
|
863
|
-
oidc?: EndpointOIDC;
|
|
864
|
-
}
|
|
865
|
-
|
|
866
|
-
export interface EndpointConfigurationList {
|
|
867
|
-
/** the list of all endpoint configurations on this account */
|
|
868
|
-
endpoint_configurations: Array<EndpointConfiguration>;
|
|
869
|
-
/** URI of the endpoint configurations list API resource */
|
|
870
|
-
uri: string;
|
|
871
|
-
/** URI of the next page, or null if there is no next page */
|
|
872
|
-
next_page_uri?: string;
|
|
873
|
-
}
|
|
874
|
-
|
|
875
|
-
export interface EndpointConfigurationUpdate {
|
|
876
|
-
/** unique identifier of this endpoint configuration */
|
|
877
|
-
id: string;
|
|
878
|
-
/** human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
|
|
879
|
-
description?: string;
|
|
880
|
-
/** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
|
|
881
|
-
metadata?: string;
|
|
882
|
-
/** circuit breaker module configuration or null */
|
|
883
|
-
circuit_breaker?: EndpointCircuitBreaker;
|
|
884
|
-
/** compression module configuration or null */
|
|
885
|
-
compression?: EndpointCompression;
|
|
886
|
-
/** request headers module configuration or null */
|
|
887
|
-
request_headers?: EndpointRequestHeaders;
|
|
888
|
-
/** response headers module configuration or null */
|
|
889
|
-
response_headers?: EndpointResponseHeaders;
|
|
890
|
-
/** ip policy module configuration or null */
|
|
891
|
-
ip_policy?: EndpointIPPolicyMutate;
|
|
892
|
-
/** mutual TLS module configuration or null */
|
|
893
|
-
mutual_tls?: EndpointMutualTLSMutate;
|
|
894
|
-
/** TLS termination module configuration or null */
|
|
895
|
-
tls_termination?: EndpointTLSTermination;
|
|
896
|
-
/** webhook validation module configuration or null */
|
|
897
|
-
webhook_validation?: EndpointWebhookValidation;
|
|
898
|
-
/** oauth module configuration or null */
|
|
899
|
-
oauth?: EndpointOAuth;
|
|
900
|
-
/** logging module configuration or null */
|
|
901
|
-
logging?: EndpointLoggingMutate;
|
|
902
|
-
/** saml module configuration or null */
|
|
903
|
-
saml?: EndpointSAMLMutate;
|
|
904
|
-
/** oidc module configuration or null */
|
|
905
|
-
oidc?: EndpointOIDC;
|
|
906
|
-
}
|
|
907
|
-
|
|
908
|
-
export interface EndpointConfigurationCreate {
|
|
909
|
-
/** they type of traffic this endpoint configuration can be applied to. one of: http, https, tcp */
|
|
910
|
-
type: string;
|
|
911
|
-
/** human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes */
|
|
912
|
-
description: string;
|
|
913
|
-
/** arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes. */
|
|
914
|
-
metadata: string;
|
|
915
|
-
/** circuit breaker module configuration or null */
|
|
916
|
-
circuit_breaker?: EndpointCircuitBreaker;
|
|
917
|
-
/** compression module configuration or null */
|
|
918
|
-
compression?: EndpointCompression;
|
|
919
|
-
/** request headers module configuration or null */
|
|
920
|
-
request_headers?: EndpointRequestHeaders;
|
|
921
|
-
/** response headers module configuration or null */
|
|
922
|
-
response_headers?: EndpointResponseHeaders;
|
|
923
|
-
/** ip policy module configuration or null */
|
|
924
|
-
ip_policy?: EndpointIPPolicyMutate;
|
|
925
|
-
/** mutual TLS module configuration or null */
|
|
926
|
-
mutual_tls?: EndpointMutualTLSMutate;
|
|
927
|
-
/** TLS termination module configuration or null */
|
|
928
|
-
tls_termination?: EndpointTLSTermination;
|
|
929
|
-
/** webhook validation module configuration or null */
|
|
930
|
-
webhook_validation?: EndpointWebhookValidation;
|
|
931
|
-
/** oauth module configuration or null */
|
|
932
|
-
oauth?: EndpointOAuth;
|
|
933
|
-
/** logging module configuration or null */
|
|
934
|
-
logging?: EndpointLoggingMutate;
|
|
935
|
-
/** saml module configuration or null */
|
|
936
|
-
saml?: EndpointSAMLMutate;
|
|
937
|
-
/** oidc module configuration or null */
|
|
938
|
-
oidc?: EndpointOIDC;
|
|
939
|
-
}
|
|
940
|
-
|
|
941
|
-
export interface EndpointWebhookValidation {
|
|
942
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
943
|
-
enabled?: boolean;
|
|
944
|
-
/** a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers: SLACK, SNS, STRIPE, GITHUB, TWILIO, SHOPIFY, GITLAB, INTERCOM. */
|
|
945
|
-
provider: string;
|
|
946
|
-
/** a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret */
|
|
947
|
-
secret: string;
|
|
948
|
-
}
|
|
949
|
-
|
|
950
|
-
export interface EndpointCompression {
|
|
951
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
952
|
-
enabled?: boolean;
|
|
953
|
-
}
|
|
954
|
-
|
|
955
|
-
export interface EndpointMutualTLS {
|
|
956
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
957
|
-
enabled?: boolean;
|
|
958
|
-
/** PEM-encoded CA certificates that will be used to validate. Multiple CAs may be provided by concatenating them together. */
|
|
959
|
-
certificate_authorities: Array<Ref>;
|
|
960
|
-
}
|
|
961
|
-
|
|
962
|
-
export interface EndpointMutualTLSMutate {
|
|
963
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
964
|
-
enabled?: boolean;
|
|
965
|
-
/** list of certificate authorities that will be used to validate the TLS client certificate presnted by the initiatiator of the TLS connection */
|
|
966
|
-
certificate_authority_ids: Array<string>;
|
|
967
|
-
}
|
|
968
|
-
|
|
969
|
-
export interface EndpointTLSTermination {
|
|
970
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
971
|
-
enabled?: boolean;
|
|
972
|
-
/** edge if the ngrok edge should terminate TLS traffic, upstream if TLS traffic should be passed through to the upstream ngrok agent / application server for termination. if upstream is chosen, most other modules will be disallowed because they rely on the ngrok edge being able to access the underlying traffic. */
|
|
973
|
-
terminate_at: string;
|
|
974
|
-
/** The minimum TLS version used for termination and advertised to the client during the TLS handshake. if unspecified, ngrok will choose an industry-safe default. This value must be null if terminate_at is set to upstream. */
|
|
975
|
-
min_version?: string;
|
|
976
|
-
}
|
|
977
|
-
|
|
978
|
-
export interface EndpointBasicAuth {}
|
|
979
|
-
|
|
980
|
-
export interface EndpointLogging {
|
|
981
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
982
|
-
enabled?: boolean;
|
|
983
|
-
/** list of all EventStreams that will be used to configure and export this endpoint's logs */
|
|
984
|
-
event_streams: Array<Ref>;
|
|
985
|
-
}
|
|
986
|
-
|
|
987
|
-
export interface EndpointLoggingMutate {
|
|
988
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
989
|
-
enabled?: boolean;
|
|
990
|
-
/** list of all EventStreams that will be used to configure and export this endpoint's logs */
|
|
991
|
-
event_stream_ids: Array<string>;
|
|
992
|
-
}
|
|
993
|
-
|
|
994
|
-
export interface EndpointRequestHeaders {
|
|
995
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
996
|
-
enabled?: boolean;
|
|
997
|
-
/** a map of header key to header value that will be injected into the HTTP Request before being sent to the upstream application server */
|
|
998
|
-
add: Map<string, string>;
|
|
999
|
-
/** a list of header names that will be removed from the HTTP Request before being sent to the upstream application server */
|
|
1000
|
-
remove: Array<string>;
|
|
1001
|
-
}
|
|
1002
|
-
|
|
1003
|
-
export interface EndpointResponseHeaders {
|
|
1004
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
1005
|
-
enabled?: boolean;
|
|
1006
|
-
/** a map of header key to header value that will be injected into the HTTP Response returned to the HTTP client */
|
|
1007
|
-
add: Map<string, string>;
|
|
1008
|
-
/** a list of header names that will be removed from the HTTP Response returned to the HTTP client */
|
|
1009
|
-
remove: Array<string>;
|
|
1010
|
-
}
|
|
1011
|
-
|
|
1012
|
-
export interface EndpointIPPolicy {
|
|
1013
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
1014
|
-
enabled?: boolean;
|
|
1015
|
-
ip_policies: Array<Ref>;
|
|
1016
|
-
}
|
|
1017
|
-
|
|
1018
|
-
export interface EndpointIPPolicyMutate {
|
|
1019
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
1020
|
-
enabled?: boolean;
|
|
1021
|
-
/** list of all IP policies that will be used to check if a source IP is allowed access to the endpoint */
|
|
1022
|
-
ip_policy_ids: Array<string>;
|
|
1023
|
-
}
|
|
1024
|
-
|
|
1025
|
-
export interface EndpointCircuitBreaker {
|
|
1026
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
1027
|
-
enabled?: boolean;
|
|
1028
|
-
/** Integer number of seconds after which the circuit is tripped to wait before re-evaluating upstream health */
|
|
1029
|
-
tripped_duration: number;
|
|
1030
|
-
/** Integer number of seconds in the statistical rolling window that metrics are retained for. */
|
|
1031
|
-
rolling_window: number;
|
|
1032
|
-
/** Integer number of buckets into which metrics are retained. Max 128. */
|
|
1033
|
-
num_buckets: number;
|
|
1034
|
-
/** Integer number of requests in a rolling window that will trip the circuit. Helpful if traffic volume is low. */
|
|
1035
|
-
volume_threshold: number;
|
|
1036
|
-
/** Error threshold percentage should be between 0 - 1.0, not 0-100.0 */
|
|
1037
|
-
error_threshold_percentage: number;
|
|
1038
|
-
}
|
|
1039
|
-
|
|
1040
|
-
export interface EndpointOAuth {
|
|
1041
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
1042
|
-
enabled?: boolean;
|
|
1043
|
-
/** an object which defines the identity provider to use for authentication and configuration for who may access the endpoint */
|
|
1044
|
-
provider: EndpointOAuthProvider;
|
|
1045
|
-
/** Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. */
|
|
1046
|
-
options_passthrough: boolean;
|
|
1047
|
-
/** the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' */
|
|
1048
|
-
cookie_prefix: string;
|
|
1049
|
-
/** Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. */
|
|
1050
|
-
inactivity_timeout: number;
|
|
1051
|
-
/** Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. */
|
|
1052
|
-
maximum_duration: number;
|
|
1053
|
-
/** Integer number of seconds after which ngrok guarantees it will refresh user state from the identity provider and recheck whether the user is still authorized to access the endpoint. This is the preferred tunable to use to enforce a minimum amount of time after which a revoked user will no longer be able to access the resource. */
|
|
1054
|
-
auth_check_interval: number;
|
|
1055
|
-
}
|
|
1056
|
-
|
|
1057
|
-
export interface EndpointOAuthProvider {
|
|
1058
|
-
/** configuration for using github as the identity provider */
|
|
1059
|
-
github?: EndpointOAuthGitHub;
|
|
1060
|
-
/** configuration for using facebook as the identity provider */
|
|
1061
|
-
facebook?: EndpointOAuthFacebook;
|
|
1062
|
-
/** configuration for using microsoft as the identity provider */
|
|
1063
|
-
microsoft?: EndpointOAuthMicrosoft;
|
|
1064
|
-
/** configuration for using google as the identity provider */
|
|
1065
|
-
google?: EndpointOAuthGoogle;
|
|
1066
|
-
}
|
|
1067
|
-
|
|
1068
|
-
export interface EndpointOAuthGitHub {
|
|
1069
|
-
/** 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. */
|
|
1070
|
-
client_id?: string;
|
|
1071
|
-
/** 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. */
|
|
1072
|
-
client_secret?: string;
|
|
1073
|
-
/** 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) */
|
|
1074
|
-
scopes: Array<string>;
|
|
1075
|
-
/** a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint */
|
|
1076
|
-
email_addresses: Array<string>;
|
|
1077
|
-
/** a list of email domains of users authenticated by identity provider who are allowed access to the endpoint */
|
|
1078
|
-
email_domains: Array<string>;
|
|
1079
|
-
/** 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 */
|
|
1080
|
-
teams: Array<string>;
|
|
1081
|
-
/** 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' */
|
|
1082
|
-
organizations: Array<string>;
|
|
1083
|
-
}
|
|
1084
|
-
|
|
1085
|
-
export interface EndpointOAuthFacebook {
|
|
1086
|
-
/** 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. */
|
|
1087
|
-
client_id?: string;
|
|
1088
|
-
/** 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. */
|
|
1089
|
-
client_secret?: string;
|
|
1090
|
-
/** 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) */
|
|
1091
|
-
scopes: Array<string>;
|
|
1092
|
-
/** a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint */
|
|
1093
|
-
email_addresses: Array<string>;
|
|
1094
|
-
/** a list of email domains of users authenticated by identity provider who are allowed access to the endpoint */
|
|
1095
|
-
email_domains: Array<string>;
|
|
1096
|
-
}
|
|
1097
|
-
|
|
1098
|
-
export interface EndpointOAuthMicrosoft {
|
|
1099
|
-
/** 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. */
|
|
1100
|
-
client_id?: string;
|
|
1101
|
-
/** 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. */
|
|
1102
|
-
client_secret?: string;
|
|
1103
|
-
/** 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) */
|
|
1104
|
-
scopes: Array<string>;
|
|
1105
|
-
/** a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint */
|
|
1106
|
-
email_addresses: Array<string>;
|
|
1107
|
-
/** a list of email domains of users authenticated by identity provider who are allowed access to the endpoint */
|
|
1108
|
-
email_domains: Array<string>;
|
|
1109
|
-
}
|
|
1110
|
-
|
|
1111
|
-
export interface EndpointOAuthGoogle {
|
|
1112
|
-
/** 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. */
|
|
1113
|
-
client_id?: string;
|
|
1114
|
-
/** 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. */
|
|
1115
|
-
client_secret?: string;
|
|
1116
|
-
/** 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) */
|
|
1117
|
-
scopes: Array<string>;
|
|
1118
|
-
/** a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint */
|
|
1119
|
-
email_addresses: Array<string>;
|
|
1120
|
-
/** a list of email domains of users authenticated by identity provider who are allowed access to the endpoint */
|
|
1121
|
-
email_domains: Array<string>;
|
|
1122
|
-
}
|
|
1123
|
-
|
|
1124
|
-
export interface EndpointSAML {
|
|
1125
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
1126
|
-
enabled?: boolean;
|
|
1127
|
-
/** Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. */
|
|
1128
|
-
options_passthrough: boolean;
|
|
1129
|
-
/** the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' */
|
|
1130
|
-
cookie_prefix: string;
|
|
1131
|
-
/** Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. */
|
|
1132
|
-
inactivity_timeout: number;
|
|
1133
|
-
/** Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. */
|
|
1134
|
-
maximum_duration: number;
|
|
1135
|
-
/** The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL. */
|
|
1136
|
-
idp_metadata: string;
|
|
1137
|
-
/** If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP. */
|
|
1138
|
-
force_authn: boolean;
|
|
1139
|
-
/** If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the RelayState parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed. */
|
|
1140
|
-
allow_idp_initiated?: boolean;
|
|
1141
|
-
/** If present, only users who are a member of one of the listed groups may access the target endpoint. */
|
|
1142
|
-
authorized_groups: Array<string>;
|
|
1143
|
-
/** The SP Entity's unique ID. This always takes the form of a URL. In ngrok's implementation, this URL is the same as the metadata URL. This will need to be specified to the IdP as configuration. */
|
|
1144
|
-
entity_id: string;
|
|
1145
|
-
/** The public URL of the SP's Assertion Consumer Service. This is where the IdP will redirect to during an authentication flow. This will need to be specified to the IdP as configuration. */
|
|
1146
|
-
assertion_consumer_service_url: string;
|
|
1147
|
-
/** The public URL of the SP's Single Logout Service. This is where the IdP will redirect to during a single logout flow. This will optionally need to be specified to the IdP as configuration. */
|
|
1148
|
-
single_logout_url: string;
|
|
1149
|
-
/** PEM-encoded x.509 certificate of the key pair that is used to sign all SAML requests that the ngrok SP makes to the IdP. Many IdPs do not support request signing verification, but we highly recommend specifying this in the IdP's configuration if it is supported. */
|
|
1150
|
-
request_signing_certificate_pem: string;
|
|
1151
|
-
/** A public URL where the SP's metadata is hosted. If an IdP supports dynamic configuration, this is the URL it can use to retrieve the SP metadata. */
|
|
1152
|
-
metadata_url: string;
|
|
1153
|
-
}
|
|
1154
|
-
|
|
1155
|
-
export interface EndpointSAMLMutate {
|
|
1156
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
1157
|
-
enabled?: boolean;
|
|
1158
|
-
/** Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. */
|
|
1159
|
-
options_passthrough: boolean;
|
|
1160
|
-
/** the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' */
|
|
1161
|
-
cookie_prefix: string;
|
|
1162
|
-
/** Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. */
|
|
1163
|
-
inactivity_timeout: number;
|
|
1164
|
-
/** Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. */
|
|
1165
|
-
maximum_duration: number;
|
|
1166
|
-
/** The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL. */
|
|
1167
|
-
idp_metadata: string;
|
|
1168
|
-
/** If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP. */
|
|
1169
|
-
force_authn: boolean;
|
|
1170
|
-
/** If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the RelayState parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed. */
|
|
1171
|
-
allow_idp_initiated?: boolean;
|
|
1172
|
-
/** If present, only users who are a member of one of the listed groups may access the target endpoint. */
|
|
1173
|
-
authorized_groups: Array<string>;
|
|
1174
|
-
}
|
|
1175
|
-
|
|
1176
|
-
export interface EndpointOIDC {
|
|
1177
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
1178
|
-
enabled?: boolean;
|
|
1179
|
-
/** Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. */
|
|
1180
|
-
options_passthrough: boolean;
|
|
1181
|
-
/** the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' */
|
|
1182
|
-
cookie_prefix: string;
|
|
1183
|
-
/** Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. */
|
|
1184
|
-
inactivity_timeout: number;
|
|
1185
|
-
/** Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. */
|
|
1186
|
-
maximum_duration: number;
|
|
1187
|
-
/** URL of the OIDC "OpenID provider". This is the base URL used for discovery. */
|
|
1188
|
-
issuer: string;
|
|
1189
|
-
/** The OIDC app's client ID and OIDC audience. */
|
|
1190
|
-
client_id: string;
|
|
1191
|
-
/** The OIDC app's client secret. */
|
|
1192
|
-
client_secret: string;
|
|
1193
|
-
/** The set of scopes to request from the OIDC identity provider. */
|
|
1194
|
-
scopes: Array<string>;
|
|
1195
|
-
}
|
|
1196
|
-
|
|
1197
|
-
export interface EndpointBackend {
|
|
1198
|
-
/** true if the module will be applied to traffic, false to disable. default true if unspecified */
|
|
1199
|
-
enabled?: boolean;
|
|
1200
|
-
/** backend to be used to back this endpoint */
|
|
1201
|
-
backend: Ref;
|
|
1004
|
+
nextPageUri?: string;
|
|
1202
1005
|
}
|
|
1203
1006
|
|
|
1204
|
-
export interface EndpointBackendMutate {}
|
|
1205
|
-
|
|
1206
1007
|
export interface EndpointLoggingReplace {
|
|
1207
1008
|
id: string;
|
|
1208
1009
|
module: EndpointLoggingMutate;
|
|
1209
1010
|
}
|
|
1210
1011
|
|
|
1211
|
-
export interface EndpointBasicAuthReplace {
|
|
1212
|
-
id: string;
|
|
1213
|
-
module: EndpointBasicAuth;
|
|
1214
|
-
}
|
|
1215
|
-
|
|
1216
1012
|
export interface EndpointCircuitBreakerReplace {
|
|
1217
1013
|
id: string;
|
|
1218
1014
|
module: EndpointCircuitBreaker;
|
|
@@ -1268,11 +1064,6 @@ export interface EndpointOIDCReplace {
|
|
|
1268
1064
|
module: EndpointOIDC;
|
|
1269
1065
|
}
|
|
1270
1066
|
|
|
1271
|
-
export interface EndpointBackendReplace {
|
|
1272
|
-
id: string;
|
|
1273
|
-
module: EndpointBackendMutate;
|
|
1274
|
-
}
|
|
1275
|
-
|
|
1276
1067
|
export interface ReservedAddrCreate {
|
|
1277
1068
|
/** human-readable description of what this reserved address will be used for */
|
|
1278
1069
|
description: string;
|
|
@@ -1281,7 +1072,7 @@ export interface ReservedAddrCreate {
|
|
|
1281
1072
|
/** reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) */
|
|
1282
1073
|
region: string;
|
|
1283
1074
|
/** ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address */
|
|
1284
|
-
|
|
1075
|
+
endpointConfigurationId?: string;
|
|
1285
1076
|
}
|
|
1286
1077
|
|
|
1287
1078
|
export interface ReservedAddrUpdate {
|
|
@@ -1291,7 +1082,7 @@ export interface ReservedAddrUpdate {
|
|
|
1291
1082
|
/** arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. */
|
|
1292
1083
|
metadata?: string;
|
|
1293
1084
|
/** ID of an endpoint configuration of type tcp that will be used to handle inbound traffic to this address */
|
|
1294
|
-
|
|
1085
|
+
endpointConfigurationId?: string;
|
|
1295
1086
|
}
|
|
1296
1087
|
|
|
1297
1088
|
export interface ReservedAddr {
|
|
@@ -1300,7 +1091,7 @@ export interface ReservedAddr {
|
|
|
1300
1091
|
/** URI of the reserved address API resource */
|
|
1301
1092
|
uri: string;
|
|
1302
1093
|
/** timestamp when the reserved address was created, RFC 3339 format */
|
|
1303
|
-
|
|
1094
|
+
createdAt: string;
|
|
1304
1095
|
/** human-readable description of what this reserved address will be used for */
|
|
1305
1096
|
description: string;
|
|
1306
1097
|
/** arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. */
|
|
@@ -1310,16 +1101,16 @@ export interface ReservedAddr {
|
|
|
1310
1101
|
/** reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) */
|
|
1311
1102
|
region: string;
|
|
1312
1103
|
/** object reference to the endpoint configuration that will be applied to traffic to this address */
|
|
1313
|
-
|
|
1104
|
+
endpointConfiguration?: Ref;
|
|
1314
1105
|
}
|
|
1315
1106
|
|
|
1316
1107
|
export interface ReservedAddrList {
|
|
1317
1108
|
/** the list of all reserved addresses on this account */
|
|
1318
|
-
|
|
1109
|
+
reservedAddrs: Array<ReservedAddr>;
|
|
1319
1110
|
/** URI of the reserved address list API resource */
|
|
1320
1111
|
uri: string;
|
|
1321
1112
|
/** URI of the next page, or null if there is no next page */
|
|
1322
|
-
|
|
1113
|
+
nextPageUri?: string;
|
|
1323
1114
|
}
|
|
1324
1115
|
|
|
1325
1116
|
export interface ReservedDomainCreate {
|
|
@@ -1332,13 +1123,13 @@ export interface ReservedDomainCreate {
|
|
|
1332
1123
|
/** arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. */
|
|
1333
1124
|
metadata: string;
|
|
1334
1125
|
/** ID of an endpoint configuration of type http that will be used to handle inbound http traffic to this domain */
|
|
1335
|
-
|
|
1126
|
+
httpEndpointConfigurationId?: string;
|
|
1336
1127
|
/** ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain */
|
|
1337
|
-
|
|
1338
|
-
/** ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with certificate_management_policy
|
|
1339
|
-
|
|
1340
|
-
/** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with certificate_id
|
|
1341
|
-
|
|
1128
|
+
httpsEndpointConfigurationId?: string;
|
|
1129
|
+
/** ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with `certificate_management_policy`. */
|
|
1130
|
+
certificateId?: string;
|
|
1131
|
+
/** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with `certificate_id`. */
|
|
1132
|
+
certificateManagementPolicy?: ReservedDomainCertPolicy;
|
|
1342
1133
|
}
|
|
1343
1134
|
|
|
1344
1135
|
export interface ReservedDomainUpdate {
|
|
@@ -1348,13 +1139,13 @@ export interface ReservedDomainUpdate {
|
|
|
1348
1139
|
/** arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. */
|
|
1349
1140
|
metadata?: string;
|
|
1350
1141
|
/** ID of an endpoint configuration of type http that will be used to handle inbound http traffic to this domain */
|
|
1351
|
-
|
|
1142
|
+
httpEndpointConfigurationId?: string;
|
|
1352
1143
|
/** ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain */
|
|
1353
|
-
|
|
1354
|
-
/** ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with certificate_management_policy
|
|
1355
|
-
|
|
1356
|
-
/** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with certificate_id
|
|
1357
|
-
|
|
1144
|
+
httpsEndpointConfigurationId?: string;
|
|
1145
|
+
/** ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with `certificate_management_policy`. */
|
|
1146
|
+
certificateId?: string;
|
|
1147
|
+
/** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with `certificate_id`. */
|
|
1148
|
+
certificateManagementPolicy?: ReservedDomainCertPolicy;
|
|
1358
1149
|
}
|
|
1359
1150
|
|
|
1360
1151
|
export interface ReservedDomain {
|
|
@@ -1363,7 +1154,7 @@ export interface ReservedDomain {
|
|
|
1363
1154
|
/** URI of the reserved domain API resource */
|
|
1364
1155
|
uri: string;
|
|
1365
1156
|
/** timestamp when the reserved domain was created, RFC 3339 format */
|
|
1366
|
-
|
|
1157
|
+
createdAt: string;
|
|
1367
1158
|
/** human-readable description of what this reserved domain will be used for */
|
|
1368
1159
|
description: string;
|
|
1369
1160
|
/** arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. */
|
|
@@ -1373,65 +1164,53 @@ export interface ReservedDomain {
|
|
|
1373
1164
|
/** reserve the domain in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) */
|
|
1374
1165
|
region: string;
|
|
1375
1166
|
/** DNS CNAME target for a custom hostname, or null if the reserved domain is a subdomain of *.ngrok.io */
|
|
1376
|
-
|
|
1167
|
+
cnameTarget?: string;
|
|
1377
1168
|
/** object referencing the endpoint configuration applied to http traffic on this domain */
|
|
1378
|
-
|
|
1169
|
+
httpEndpointConfiguration?: Ref;
|
|
1379
1170
|
/** object referencing the endpoint configuration applied to https traffic on this domain */
|
|
1380
|
-
|
|
1171
|
+
httpsEndpointConfiguration?: Ref;
|
|
1381
1172
|
/** 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. */
|
|
1382
1173
|
certificate?: Ref;
|
|
1383
1174
|
/** configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled */
|
|
1384
|
-
|
|
1175
|
+
certificateManagementPolicy?: ReservedDomainCertPolicy;
|
|
1385
1176
|
/** status of the automatic certificate management for this domain, or null if automatic management is disabled */
|
|
1386
|
-
|
|
1177
|
+
certificateManagementStatus?: ReservedDomainCertStatus;
|
|
1178
|
+
/** DNS CNAME target for the host _acme-challenge.example.com, where example.com is your reserved domain name. This is required to issue certificates for wildcard, non-ngrok reserved domains. Must be null for non-wildcard domains and ngrok subdomains. */
|
|
1179
|
+
acmeChallengeCnameTarget?: string;
|
|
1387
1180
|
}
|
|
1388
1181
|
|
|
1389
1182
|
export interface ReservedDomainList {
|
|
1390
1183
|
/** the list of all reserved domains on this account */
|
|
1391
|
-
|
|
1184
|
+
reservedDomains: Array<ReservedDomain>;
|
|
1392
1185
|
/** URI of the reserved domain list API resource */
|
|
1393
1186
|
uri: string;
|
|
1394
1187
|
/** URI of the next page, or null if there is no next page */
|
|
1395
|
-
|
|
1188
|
+
nextPageUri?: string;
|
|
1396
1189
|
}
|
|
1397
1190
|
|
|
1398
1191
|
export interface ReservedDomainCertPolicy {
|
|
1399
1192
|
/** certificate authority to request certificates from. The only supported value is letsencrypt. */
|
|
1400
1193
|
authority: string;
|
|
1401
1194
|
/** type of private key to use when requesting certificates. Defaults to rsa, can be either rsa or ecdsa. */
|
|
1402
|
-
|
|
1195
|
+
privateKeyType: string;
|
|
1403
1196
|
}
|
|
1404
1197
|
|
|
1405
1198
|
export interface ReservedDomainCertStatus {
|
|
1406
1199
|
/** timestamp when the next renewal will be requested, RFC 3339 format */
|
|
1407
|
-
|
|
1200
|
+
renewsAt?: string;
|
|
1408
1201
|
/** status of the certificate provisioning job, or null if the certificiate isn't being provisioned or renewed */
|
|
1409
|
-
|
|
1410
|
-
}
|
|
1411
|
-
|
|
1412
|
-
export interface ReservedDomainCertNSTarget {
|
|
1413
|
-
/** the zone that the nameservers need to be applied to */
|
|
1414
|
-
zone: string;
|
|
1415
|
-
/** the nameservers the user must add */
|
|
1416
|
-
nameservers: Array<string>;
|
|
1202
|
+
provisioningJob?: ReservedDomainCertJob;
|
|
1417
1203
|
}
|
|
1418
1204
|
|
|
1419
1205
|
export interface ReservedDomainCertJob {
|
|
1420
1206
|
/** 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). */
|
|
1421
|
-
|
|
1207
|
+
errorCode?: string;
|
|
1422
1208
|
/** a message describing the current status or error */
|
|
1423
1209
|
msg: string;
|
|
1424
1210
|
/** timestamp when the provisioning job started, RFC 3339 format */
|
|
1425
|
-
|
|
1211
|
+
startedAt: string;
|
|
1426
1212
|
/** timestamp when the provisioning job will be retried */
|
|
1427
|
-
|
|
1428
|
-
/** if present, indicates the dns nameservers that the user must configure to complete the provisioning process of a wildcard certificate */
|
|
1429
|
-
ns_targets: Array<ReservedDomainCertNSTarget>;
|
|
1430
|
-
}
|
|
1431
|
-
|
|
1432
|
-
export interface RootResponse {
|
|
1433
|
-
uri: string;
|
|
1434
|
-
subresource_uris: Map<string, string>;
|
|
1213
|
+
retriesAt?: string;
|
|
1435
1214
|
}
|
|
1436
1215
|
|
|
1437
1216
|
export interface SSHCertificateAuthorityCreate {
|
|
@@ -1439,12 +1218,12 @@ export interface SSHCertificateAuthorityCreate {
|
|
|
1439
1218
|
description: string;
|
|
1440
1219
|
/** arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes. */
|
|
1441
1220
|
metadata: string;
|
|
1442
|
-
/** the type of private key to generate. one of rsa
|
|
1443
|
-
|
|
1221
|
+
/** the type of private key to generate. one of `rsa`, `ecdsa`, `ed25519` */
|
|
1222
|
+
privateKeyType: string;
|
|
1444
1223
|
/** the type of elliptic curve to use when creating an ECDSA key */
|
|
1445
|
-
|
|
1446
|
-
/** the key size to use when creating an RSA key. one of 2048 or 4096 */
|
|
1447
|
-
|
|
1224
|
+
ellipticCurve: string;
|
|
1225
|
+
/** the key size to use when creating an RSA key. one of `2048` or `4096` */
|
|
1226
|
+
keySize: number;
|
|
1448
1227
|
}
|
|
1449
1228
|
|
|
1450
1229
|
export interface SSHCertificateAuthorityUpdate {
|
|
@@ -1461,24 +1240,24 @@ export interface SSHCertificateAuthority {
|
|
|
1461
1240
|
/** URI of the SSH Certificate Authority API resource */
|
|
1462
1241
|
uri: string;
|
|
1463
1242
|
/** timestamp when the SSH Certificate Authority API resource was created, RFC 3339 format */
|
|
1464
|
-
|
|
1243
|
+
createdAt: string;
|
|
1465
1244
|
/** human-readable description of this SSH Certificate Authority. optional, max 255 bytes. */
|
|
1466
1245
|
description: string;
|
|
1467
1246
|
/** arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes. */
|
|
1468
1247
|
metadata: string;
|
|
1469
1248
|
/** raw public key for this SSH Certificate Authority */
|
|
1470
|
-
|
|
1249
|
+
publicKey: string;
|
|
1471
1250
|
/** the type of private key for this SSH Certificate Authority */
|
|
1472
|
-
|
|
1251
|
+
keyType: string;
|
|
1473
1252
|
}
|
|
1474
1253
|
|
|
1475
1254
|
export interface SSHCertificateAuthorityList {
|
|
1476
1255
|
/** the list of all certificate authorities on this account */
|
|
1477
|
-
|
|
1256
|
+
sshCertificateAuthorities: Array<SSHCertificateAuthority>;
|
|
1478
1257
|
/** URI of the certificates authorities list API resource */
|
|
1479
1258
|
uri: string;
|
|
1480
1259
|
/** URI of the next page, or null if there is no next page */
|
|
1481
|
-
|
|
1260
|
+
nextPageUri?: string;
|
|
1482
1261
|
}
|
|
1483
1262
|
|
|
1484
1263
|
export interface SSHCredentialCreate {
|
|
@@ -1486,10 +1265,10 @@ export interface SSHCredentialCreate {
|
|
|
1486
1265
|
description: string;
|
|
1487
1266
|
/** arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. */
|
|
1488
1267
|
metadata: string;
|
|
1489
|
-
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io
|
|
1268
|
+
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. */
|
|
1490
1269
|
acl: Array<string>;
|
|
1491
1270
|
/** the PEM-encoded public key of the SSH keypair that will be used to authenticate */
|
|
1492
|
-
|
|
1271
|
+
publicKey: string;
|
|
1493
1272
|
}
|
|
1494
1273
|
|
|
1495
1274
|
export interface SSHCredentialUpdate {
|
|
@@ -1498,7 +1277,7 @@ export interface SSHCredentialUpdate {
|
|
|
1498
1277
|
description?: string;
|
|
1499
1278
|
/** arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. */
|
|
1500
1279
|
metadata?: string;
|
|
1501
|
-
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io
|
|
1280
|
+
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. */
|
|
1502
1281
|
acl?: Array<string>;
|
|
1503
1282
|
}
|
|
1504
1283
|
|
|
@@ -1508,37 +1287,37 @@ export interface SSHCredential {
|
|
|
1508
1287
|
/** URI of the ssh credential API resource */
|
|
1509
1288
|
uri: string;
|
|
1510
1289
|
/** timestamp when the ssh credential was created, RFC 3339 format */
|
|
1511
|
-
|
|
1290
|
+
createdAt: string;
|
|
1512
1291
|
/** human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes. */
|
|
1513
1292
|
description: string;
|
|
1514
1293
|
/** arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. */
|
|
1515
1294
|
metadata: string;
|
|
1516
1295
|
/** the PEM-encoded public key of the SSH keypair that will be used to authenticate */
|
|
1517
|
-
|
|
1518
|
-
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the bind rule. The bind rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule bind:example.ngrok.io
|
|
1296
|
+
publicKey: string;
|
|
1297
|
+
/** optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. */
|
|
1519
1298
|
acl: Array<string>;
|
|
1520
1299
|
}
|
|
1521
1300
|
|
|
1522
1301
|
export interface SSHCredentialList {
|
|
1523
1302
|
/** the list of all ssh credentials on this account */
|
|
1524
|
-
|
|
1303
|
+
sshCredentials: Array<SSHCredential>;
|
|
1525
1304
|
/** URI of the ssh credential list API resource */
|
|
1526
1305
|
uri: string;
|
|
1527
1306
|
/** URI of the next page, or null if there is no next page */
|
|
1528
|
-
|
|
1307
|
+
nextPageUri?: string;
|
|
1529
1308
|
}
|
|
1530
1309
|
|
|
1531
1310
|
export interface SSHHostCertificateCreate {
|
|
1532
1311
|
/** the ssh certificate authority that is used to sign this ssh host certificate */
|
|
1533
|
-
|
|
1312
|
+
sshCertificateAuthorityId: string;
|
|
1534
1313
|
/** a public key in OpenSSH Authorized Keys format that this certificate signs */
|
|
1535
|
-
|
|
1314
|
+
publicKey: string;
|
|
1536
1315
|
/** 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. */
|
|
1537
1316
|
principals: Array<string>;
|
|
1538
1317
|
/** The time when the host certificate becomes valid, in RFC 3339 format. Defaults to the current time if unspecified. */
|
|
1539
|
-
|
|
1540
|
-
/** 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
|
|
1541
|
-
|
|
1318
|
+
validAfter: string;
|
|
1319
|
+
/** 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`. */
|
|
1320
|
+
validUntil: string;
|
|
1542
1321
|
/** human-readable description of this SSH Host Certificate. optional, max 255 bytes. */
|
|
1543
1322
|
description: string;
|
|
1544
1323
|
/** arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes. */
|
|
@@ -1559,51 +1338,51 @@ export interface SSHHostCertificate {
|
|
|
1559
1338
|
/** URI of the SSH Host Certificate API resource */
|
|
1560
1339
|
uri: string;
|
|
1561
1340
|
/** timestamp when the SSH Host Certificate API resource was created, RFC 3339 format */
|
|
1562
|
-
|
|
1341
|
+
createdAt: string;
|
|
1563
1342
|
/** human-readable description of this SSH Host Certificate. optional, max 255 bytes. */
|
|
1564
1343
|
description: string;
|
|
1565
1344
|
/** arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes. */
|
|
1566
1345
|
metadata: string;
|
|
1567
1346
|
/** a public key in OpenSSH Authorized Keys format that this certificate signs */
|
|
1568
|
-
|
|
1569
|
-
/** the key type of the public_key
|
|
1570
|
-
|
|
1347
|
+
publicKey: string;
|
|
1348
|
+
/** the key type of the `public_key`, one of `rsa`, `ecdsa` or `ed25519` */
|
|
1349
|
+
keyType: string;
|
|
1571
1350
|
/** the ssh certificate authority that is used to sign this ssh host certificate */
|
|
1572
|
-
|
|
1351
|
+
sshCertificateAuthorityId: string;
|
|
1573
1352
|
/** 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. */
|
|
1574
1353
|
principals: Array<string>;
|
|
1575
1354
|
/** the time when the ssh host certificate becomes valid, in RFC 3339 format. */
|
|
1576
|
-
|
|
1577
|
-
/** the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this valid_before
|
|
1578
|
-
|
|
1579
|
-
/** the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a
|
|
1355
|
+
validAfter: string;
|
|
1356
|
+
/** the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this `valid_before`. */
|
|
1357
|
+
validUntil: string;
|
|
1358
|
+
/** 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 */
|
|
1580
1359
|
certificate: string;
|
|
1581
1360
|
}
|
|
1582
1361
|
|
|
1583
1362
|
export interface SSHHostCertificateList {
|
|
1584
1363
|
/** the list of all ssh host certificates on this account */
|
|
1585
|
-
|
|
1364
|
+
sshHostCertificates: Array<SSHHostCertificate>;
|
|
1586
1365
|
/** URI of the ssh host certificates list API resource */
|
|
1587
1366
|
uri: string;
|
|
1588
1367
|
/** URI of the next page, or null if there is no next page */
|
|
1589
|
-
|
|
1368
|
+
nextPageUri?: string;
|
|
1590
1369
|
}
|
|
1591
1370
|
|
|
1592
1371
|
export interface SSHUserCertificateCreate {
|
|
1593
1372
|
/** the ssh certificate authority that is used to sign this ssh user certificate */
|
|
1594
|
-
|
|
1373
|
+
sshCertificateAuthorityId: string;
|
|
1595
1374
|
/** a public key in OpenSSH Authorized Keys format that this certificate signs */
|
|
1596
|
-
|
|
1375
|
+
publicKey: string;
|
|
1597
1376
|
/** the list of principals included in the ssh user certificate. This is the list of usernames that the certificate holder may sign in as on a machine authorizinig the signing certificate authority. Dangerously, if no principals are specified, this certificate may be used to log in as any user. */
|
|
1598
1377
|
principals: Array<string>;
|
|
1599
|
-
/** A map of critical options included in the certificate. Only two critical options are currently defined by OpenSSH: force-command and source-address
|
|
1600
|
-
|
|
1601
|
-
/** 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
|
|
1378
|
+
/** A map of critical options included in the certificate. Only two critical options are currently defined by OpenSSH: `force-command` and `source-address`. See [the OpenSSH certificate protocol spec](https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys) for additional details. */
|
|
1379
|
+
criticalOptions: Map<string, string>;
|
|
1380
|
+
/** 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. */
|
|
1602
1381
|
extensions: Map<string, string>;
|
|
1603
1382
|
/** The time when the user certificate becomes valid, in RFC 3339 format. Defaults to the current time if unspecified. */
|
|
1604
|
-
|
|
1605
|
-
/** 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
|
|
1606
|
-
|
|
1383
|
+
validAfter: string;
|
|
1384
|
+
/** 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`. */
|
|
1385
|
+
validUntil: string;
|
|
1607
1386
|
/** human-readable description of this SSH User Certificate. optional, max 255 bytes. */
|
|
1608
1387
|
description: string;
|
|
1609
1388
|
/** arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes. */
|
|
@@ -1624,38 +1403,38 @@ export interface SSHUserCertificate {
|
|
|
1624
1403
|
/** URI of the SSH User Certificate API resource */
|
|
1625
1404
|
uri: string;
|
|
1626
1405
|
/** timestamp when the SSH User Certificate API resource was created, RFC 3339 format */
|
|
1627
|
-
|
|
1406
|
+
createdAt: string;
|
|
1628
1407
|
/** human-readable description of this SSH User Certificate. optional, max 255 bytes. */
|
|
1629
1408
|
description: string;
|
|
1630
1409
|
/** arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes. */
|
|
1631
1410
|
metadata: string;
|
|
1632
1411
|
/** a public key in OpenSSH Authorized Keys format that this certificate signs */
|
|
1633
|
-
|
|
1634
|
-
/** the key type of the public_key
|
|
1635
|
-
|
|
1412
|
+
publicKey: string;
|
|
1413
|
+
/** the key type of the `public_key`, one of `rsa`, `ecdsa` or `ed25519` */
|
|
1414
|
+
keyType: string;
|
|
1636
1415
|
/** the ssh certificate authority that is used to sign this ssh user certificate */
|
|
1637
|
-
|
|
1416
|
+
sshCertificateAuthorityId: string;
|
|
1638
1417
|
/** the list of principals included in the ssh user certificate. This is the list of usernames that the certificate holder may sign in as on a machine authorizinig the signing certificate authority. Dangerously, if no principals are specified, this certificate may be used to log in as any user. */
|
|
1639
1418
|
principals: Array<string>;
|
|
1640
|
-
/** A map of critical options included in the certificate. Only two critical options are currently defined by OpenSSH: force-command and source-address
|
|
1641
|
-
|
|
1642
|
-
/** 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
|
|
1419
|
+
/** A map of critical options included in the certificate. Only two critical options are currently defined by OpenSSH: `force-command` and `source-address`. See [the OpenSSH certificate protocol spec](https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys) for additional details. */
|
|
1420
|
+
criticalOptions: Map<string, string>;
|
|
1421
|
+
/** 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. */
|
|
1643
1422
|
extensions: Map<string, string>;
|
|
1644
1423
|
/** the time when the ssh host certificate becomes valid, in RFC 3339 format. */
|
|
1645
|
-
|
|
1646
|
-
/** the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this valid_before
|
|
1647
|
-
|
|
1648
|
-
/** the signed SSH certificate in OpenSSH Authorized Keys Format. this value should be placed in a
|
|
1424
|
+
validAfter: string;
|
|
1425
|
+
/** the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this `valid_before`. */
|
|
1426
|
+
validUntil: string;
|
|
1427
|
+
/** 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 */
|
|
1649
1428
|
certificate: string;
|
|
1650
1429
|
}
|
|
1651
1430
|
|
|
1652
1431
|
export interface SSHUserCertificateList {
|
|
1653
1432
|
/** the list of all ssh user certificates on this account */
|
|
1654
|
-
|
|
1433
|
+
sshUserCertificates: Array<SSHUserCertificate>;
|
|
1655
1434
|
/** URI of the ssh user certificates list API resource */
|
|
1656
1435
|
uri: string;
|
|
1657
1436
|
/** URI of the next page, or null if there is no next page */
|
|
1658
|
-
|
|
1437
|
+
nextPageUri?: string;
|
|
1659
1438
|
}
|
|
1660
1439
|
|
|
1661
1440
|
export interface TLSCertificateCreate {
|
|
@@ -1663,10 +1442,10 @@ export interface TLSCertificateCreate {
|
|
|
1663
1442
|
description: string;
|
|
1664
1443
|
/** arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes. */
|
|
1665
1444
|
metadata: string;
|
|
1666
|
-
/** chain of PEM-encoded certificates, leaf first. See
|
|
1667
|
-
|
|
1668
|
-
/** private key for the TLS certificate, PEM-encoded. See
|
|
1669
|
-
|
|
1445
|
+
/** chain of PEM-encoded certificates, leaf first. See [Certificate Bundles](https://ngrok.com/docs/api#tls-certificates-pem). */
|
|
1446
|
+
certificatePem: string;
|
|
1447
|
+
/** private key for the TLS certificate, PEM-encoded. See [Private Keys](https://ngrok.com/docs/ngrok-link#tls-certificates-key). */
|
|
1448
|
+
privateKeyPem: string;
|
|
1670
1449
|
}
|
|
1671
1450
|
|
|
1672
1451
|
export interface TLSCertificateUpdate {
|
|
@@ -1683,64 +1462,64 @@ export interface TLSCertificate {
|
|
|
1683
1462
|
/** URI of the TLS certificate API resource */
|
|
1684
1463
|
uri: string;
|
|
1685
1464
|
/** timestamp when the TLS certificate was created, RFC 3339 format */
|
|
1686
|
-
|
|
1465
|
+
createdAt: string;
|
|
1687
1466
|
/** human-readable description of this TLS certificate. optional, max 255 bytes. */
|
|
1688
1467
|
description: string;
|
|
1689
1468
|
/** arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes. */
|
|
1690
1469
|
metadata: string;
|
|
1691
|
-
/** chain of PEM-encoded certificates, leaf first. See
|
|
1692
|
-
|
|
1470
|
+
/** chain of PEM-encoded certificates, leaf first. See [Certificate Bundles](https://ngrok.com/docs/api#tls-certificates-pem). */
|
|
1471
|
+
certificatePem: string;
|
|
1693
1472
|
/** subject common name from the leaf of this TLS certificate */
|
|
1694
|
-
|
|
1473
|
+
subjectCommonName: string;
|
|
1695
1474
|
/** subject alternative names (SANs) from the leaf of this TLS certificate */
|
|
1696
|
-
|
|
1475
|
+
subjectAlternativeNames: TLSCertificateSANs;
|
|
1697
1476
|
/** timestamp (in RFC 3339 format) when this TLS certificate was issued automatically, or null if this certificate was user-uploaded */
|
|
1698
|
-
|
|
1477
|
+
issuedAt?: string;
|
|
1699
1478
|
/** timestamp when this TLS certificate becomes valid, RFC 3339 format */
|
|
1700
|
-
|
|
1479
|
+
notBefore: string;
|
|
1701
1480
|
/** timestamp when this TLS certificate becomes invalid, RFC 3339 format */
|
|
1702
|
-
|
|
1481
|
+
notAfter: string;
|
|
1703
1482
|
/** set of actions the private key of this TLS certificate can be used for */
|
|
1704
|
-
|
|
1483
|
+
keyUsages: Array<string>;
|
|
1705
1484
|
/** extended set of actions the private key of this TLS certificate can be used for */
|
|
1706
|
-
|
|
1485
|
+
extendedKeyUsages: Array<string>;
|
|
1707
1486
|
/** type of the private key of this TLS certificate. One of rsa, ecdsa, or ed25519. */
|
|
1708
|
-
|
|
1487
|
+
privateKeyType: string;
|
|
1709
1488
|
/** issuer common name from the leaf of this TLS certificate */
|
|
1710
|
-
|
|
1489
|
+
issuerCommonName: string;
|
|
1711
1490
|
/** serial number of the leaf of this TLS certificate */
|
|
1712
|
-
|
|
1491
|
+
serialNumber: string;
|
|
1713
1492
|
/** subject organization from the leaf of this TLS certificate */
|
|
1714
|
-
|
|
1493
|
+
subjectOrganization: string;
|
|
1715
1494
|
/** subject organizational unit from the leaf of this TLS certificate */
|
|
1716
|
-
|
|
1495
|
+
subjectOrganizationalUnit: string;
|
|
1717
1496
|
/** subject locality from the leaf of this TLS certificate */
|
|
1718
|
-
|
|
1497
|
+
subjectLocality: string;
|
|
1719
1498
|
/** subject province from the leaf of this TLS certificate */
|
|
1720
|
-
|
|
1499
|
+
subjectProvince: string;
|
|
1721
1500
|
/** subject country from the leaf of this TLS certificate */
|
|
1722
|
-
|
|
1501
|
+
subjectCountry: string;
|
|
1723
1502
|
}
|
|
1724
1503
|
|
|
1725
1504
|
export interface TLSCertificateList {
|
|
1726
1505
|
/** the list of all TLS certificates on this account */
|
|
1727
|
-
|
|
1506
|
+
tlsCertificates: Array<TLSCertificate>;
|
|
1728
1507
|
/** URI of the TLS certificates list API resource */
|
|
1729
1508
|
uri: string;
|
|
1730
1509
|
/** URI of the next page, or null if there is no next page */
|
|
1731
|
-
|
|
1510
|
+
nextPageUri?: string;
|
|
1732
1511
|
}
|
|
1733
1512
|
|
|
1734
1513
|
export interface TLSCertificateSANs {
|
|
1735
1514
|
/** set of additional domains (including wildcards) this TLS certificate is valid for */
|
|
1736
|
-
|
|
1515
|
+
dnsNames: Array<string>;
|
|
1737
1516
|
/** set of IP addresses this TLS certificate is also valid for */
|
|
1738
1517
|
ips: Array<string>;
|
|
1739
1518
|
}
|
|
1740
1519
|
|
|
1741
1520
|
export interface TunnelSession {
|
|
1742
1521
|
/** version of the ngrok agent that started this ngrok tunnel session */
|
|
1743
|
-
|
|
1522
|
+
agentVersion: string;
|
|
1744
1523
|
/** reference to the tunnel credential or ssh credential used by the ngrok agent to start this tunnel session */
|
|
1745
1524
|
credential: Ref;
|
|
1746
1525
|
/** unique tunnel session resource identifier */
|
|
@@ -1754,8 +1533,8 @@ export interface TunnelSession {
|
|
|
1754
1533
|
/** the ngrok region identifier in which this tunnel session was started */
|
|
1755
1534
|
region: string;
|
|
1756
1535
|
/** time when the tunnel session first connected to the ngrok servers */
|
|
1757
|
-
|
|
1758
|
-
/** the transport protocol used to start the tunnel session. Either ngrok/v2 or ssh */
|
|
1536
|
+
startedAt: string;
|
|
1537
|
+
/** the transport protocol used to start the tunnel session. Either `ngrok/v2` or `ssh` */
|
|
1759
1538
|
transport: string;
|
|
1760
1539
|
/** URI to the API resource of the tunnel session */
|
|
1761
1540
|
uri: string;
|
|
@@ -1763,11 +1542,11 @@ export interface TunnelSession {
|
|
|
1763
1542
|
|
|
1764
1543
|
export interface TunnelSessionList {
|
|
1765
1544
|
/** list of all tunnel sessions on this account */
|
|
1766
|
-
|
|
1545
|
+
tunnelSessions: Array<TunnelSession>;
|
|
1767
1546
|
/** URI to the API resource of the tunnel session list */
|
|
1768
1547
|
uri: string;
|
|
1769
1548
|
/** URI of the next page, or null if there is no next page */
|
|
1770
|
-
|
|
1549
|
+
nextPageUri?: string;
|
|
1771
1550
|
}
|
|
1772
1551
|
|
|
1773
1552
|
export interface TunnelSessionsUpdate {
|
|
@@ -1778,17 +1557,17 @@ export interface Tunnel {
|
|
|
1778
1557
|
/** unique tunnel resource identifier */
|
|
1779
1558
|
id: string;
|
|
1780
1559
|
/** URL of the tunnel's public endpoint */
|
|
1781
|
-
|
|
1560
|
+
publicUrl: string;
|
|
1782
1561
|
/** timestamp when the tunnel was initiated in RFC 3339 format */
|
|
1783
|
-
|
|
1784
|
-
/** user-supplied metadata for the tunnel defined in the ngrok configuration file. See the tunnel
|
|
1562
|
+
startedAt: string;
|
|
1563
|
+
/** user-supplied metadata for the tunnel defined in the ngrok configuration file. See the tunnel [metadata configuration option](https://ngrok.com/docs#tunnel-definitions-metadata) In API version 0, this value was instead pulled from the top-level [metadata configuration option](https://ngrok.com/docs#config_metadata). */
|
|
1785
1564
|
metadata: string;
|
|
1786
|
-
/** tunnel protocol. one of http
|
|
1565
|
+
/** tunnel protocol. one of `http`, `https`, `tcp` or `tls` */
|
|
1787
1566
|
proto: string;
|
|
1788
1567
|
/** identifier of tune region where the tunnel is running */
|
|
1789
1568
|
region: string;
|
|
1790
1569
|
/** reference object pointing to the tunnel session on which this tunnel was started */
|
|
1791
|
-
|
|
1570
|
+
tunnelSession: Ref;
|
|
1792
1571
|
}
|
|
1793
1572
|
|
|
1794
1573
|
export interface TunnelList {
|
|
@@ -1797,5 +1576,5 @@ export interface TunnelList {
|
|
|
1797
1576
|
/** URI of the tunnels list API resource */
|
|
1798
1577
|
uri: string;
|
|
1799
1578
|
/** URI of the next page, or null if there is no next page */
|
|
1800
|
-
|
|
1579
|
+
nextPageUri?: string;
|
|
1801
1580
|
}
|