package definitions
- Alphabetic
- By Inheritance
- definitions
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final case class AbuseReport(id: String, uri: URI, createdAt: OffsetDateTime, urls: List[URI], metadata: String, status: String, hostnames: List[AbuseReportHostname]) extends Product with Serializable
A class encapsulating the AbuseReport resource.
A class encapsulating the AbuseReport resource.
- id
ID of the abuse report
- uri
URI of the abuse report API resource
- createdAt
timestamp that the abuse report record was created in RFC 3339 format
- urls
a list of URLs containing suspected abusive content
- metadata
arbitrary user-defined data about this abuse report. Optional, max 4096 bytes.
- status
Indicates whether ngrok has processed the abuse report. one of
PENDING,PROCESSED, orPARTIALLY_PROCESSED- hostnames
an array of hostname statuses related to the report
- final case class AbuseReportHostname(hostname: String, status: String) extends Product with Serializable
A class encapsulating the AbuseReportHostname resource.
A class encapsulating the AbuseReportHostname resource.
- hostname
the hostname ngrok has parsed out of one of the reported URLs in this abuse report
- status
indicates what action ngrok has taken against the hostname. one of
PENDING,BANNED,UNBANNED, orIGNORE
- final case class AgentIngress(id: String, uri: URI, description: String, metadata: String, domain: String, nsTargets: List[String], regionDomains: List[String], createdAt: OffsetDateTime) extends Product with Serializable
A class encapsulating the AgentIngress resource.
A class encapsulating the AgentIngress resource.
- id
unique Agent Ingress resource identifier
- uri
URI to the API resource of this Agent ingress
- description
human-readable description of the use of this Agent Ingress. optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes
- domain
the domain that you own to be used as the base domain name to generate regional agent ingress domains.
- nsTargets
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
- regionDomains
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
- createdAt
timestamp when the Agent Ingress was created, RFC 3339 format
- final case class AgentIngressList(ingresses: List[AgentIngress], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the AgentIngressList resource.
A class encapsulating the AgentIngressList resource.
- ingresses
the list of Agent Ingresses owned by this account
- uri
URI of the Agent Ingress list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class ApiKey(id: String, uri: URI, description: String, metadata: String, createdAt: OffsetDateTime, token: Option[String] = None) extends Product with Serializable
A class encapsulating the ApiKey resource.
A class encapsulating the ApiKey resource.
- id
unique API key resource identifier
- uri
URI to the API resource of this API key
- description
human-readable description of what uses the API key to authenticate. optional, max 255 bytes.
- metadata
arbitrary user-defined data of this API key. optional, max 4096 bytes
- createdAt
timestamp when the api key was created, RFC 3339 format
- token
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.
- final case class ApiKeyList(keys: List[ApiKey], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the ApiKeyList resource.
A class encapsulating the ApiKeyList resource.
- keys
the list of API keys for this account
- uri
URI of the API keys list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class AwsAuth(role: Option[AwsRole] = None, creds: Option[AwsCredentials] = None) extends Product with Serializable
A class encapsulating the AwsAuth resource.
A class encapsulating the AwsAuth resource.
- role
A role for ngrok to assume on your behalf to deposit events into your AWS account.
- creds
Credentials to your AWS account if you prefer ngrok to sign in with long-term access keys.
- final case class AwsCredentials(awsAccessKeyId: String, awsSecretAccessKey: Option[String] = None) extends Product with Serializable
A class encapsulating the AwsCredentials resource.
A class encapsulating the AwsCredentials resource.
- awsAccessKeyId
The ID portion of an AWS access key.
- awsSecretAccessKey
The secret portion of an AWS access key.
- final case class AwsRole(roleArn: String) extends Product with Serializable
A class encapsulating the AwsRole resource.
A class encapsulating the AwsRole resource.
- roleArn
An ARN that specifies the role that ngrok should use to deliver to the configured target.
- final case class CertificateAuthority(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, caPem: String, subjectCommonName: String, notBefore: OffsetDateTime, notAfter: OffsetDateTime, keyUsages: List[String], extendedKeyUsages: List[String]) extends Product with Serializable
A class encapsulating the CertificateAuthority resource.
A class encapsulating the CertificateAuthority resource.
- id
unique identifier for this Certificate Authority
- uri
URI of the Certificate Authority API resource
- createdAt
timestamp when the Certificate Authority was created, RFC 3339 format
- description
human-readable description of this Certificate Authority. optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes.
- caPem
raw PEM of the Certificate Authority
- subjectCommonName
subject common name of the Certificate Authority
- notBefore
timestamp when this Certificate Authority becomes valid, RFC 3339 format
- notAfter
timestamp when this Certificate Authority becomes invalid, RFC 3339 format
- keyUsages
set of actions the private key of this Certificate Authority can be used for
- extendedKeyUsages
extended set of actions the private key of this Certificate Authority can be used for
- final case class CertificateAuthorityList(certificateAuthorities: List[CertificateAuthority], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the CertificateAuthorityList resource.
A class encapsulating the CertificateAuthorityList resource.
- certificateAuthorities
the list of all certificate authorities on this account
- uri
URI of the certificates authorities list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class Credential(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, token: Option[String] = None, acl: List[String]) extends Product with Serializable
A class encapsulating the Credential resource.
A class encapsulating the Credential resource.
- id
unique tunnel credential resource identifier
- uri
URI of the tunnel credential API resource
- createdAt
timestamp when the tunnel credential was created, RFC 3339 format
- description
human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes.
- token
the credential's authtoken that can be used to authenticate an ngrok agent. This value is only available one time, on the API response from credential creation, otherwise it is null.
- acl
optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the
bindrule. Thebindrule 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 rulebind: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 ofbind:*.example.comwhich will allowx.example.com,y.example.com,*.example.com, etc. A rule of'*'is equivalent to no acl at all and will explicitly permit all actions.
- final case class CredentialList(credentials: List[Credential], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the CredentialList resource.
A class encapsulating the CredentialList resource.
- credentials
the list of all tunnel credentials on this account
- uri
URI of the tunnel credential list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class Endpoint(id: String, region: String, createdAt: OffsetDateTime, updatedAt: OffsetDateTime, publicUrl: URI, proto: String, hostport: String, type: String, metadata: String, domain: Option[Ref] = None, tcpAddr: Option[Ref] = None, tunnel: Option[Ref] = None, edge: Option[Ref] = None) extends Product with Serializable
A class encapsulating the Endpoint resource.
A class encapsulating the Endpoint resource.
- id
unique endpoint resource identifier
- region
identifier of the region this endpoint belongs to
- createdAt
timestamp when the endpoint was created in RFC 3339 format
- updatedAt
timestamp when the endpoint was updated in RFC 3339 format
- publicUrl
URL of the hostport served by this endpoint
- proto
protocol served by this endpoint. one of
http,https,tcp, ortls- hostport
hostport served by this endpoint (hostname:port)
- metadata
user-supplied metadata of the associated tunnel or edge object
- domain
the domain reserved for this endpoint
- tcpAddr
the address reserved for this endpoint
- tunnel
the tunnel serving requests to this endpoint, if this is an ephemeral endpoint
- edge
the edge serving requests to this endpoint, if this is an edge endpoint
- final case class EndpointBackend(enabled: Option[Boolean] = None, backend: Ref) extends Product with Serializable
A class encapsulating the EndpointBackend resource.
A class encapsulating the EndpointBackend resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- backend
backend to be used to back this endpoint
- final case class EndpointBackendMutate(enabled: Option[Boolean] = None, backendId: String) extends Product with Serializable
A class encapsulating the EndpointBackendMutate resource.
A class encapsulating the EndpointBackendMutate resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- backendId
backend to be used to back this endpoint
- final case class EndpointCircuitBreaker(enabled: Option[Boolean] = None, trippedDuration: Duration, rollingWindow: Long, numBuckets: Long, volumeThreshold: Long, errorThresholdPercentage: Double) extends Product with Serializable
A class encapsulating the EndpointCircuitBreaker resource.
A class encapsulating the EndpointCircuitBreaker resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- trippedDuration
Integer number of seconds after which the circuit is tripped to wait before re-evaluating upstream health
- rollingWindow
Integer number of seconds in the statistical rolling window that metrics are retained for.
- numBuckets
Integer number of buckets into which metrics are retained. Max 128.
- volumeThreshold
Integer number of requests in a rolling window that will trip the circuit. Helpful if traffic volume is low.
- errorThresholdPercentage
Error threshold percentage should be between 0 - 1.0, not 0-100.0
- final case class EndpointCompression(enabled: Option[Boolean] = None) extends Product with Serializable
A class encapsulating the EndpointCompression resource.
A class encapsulating the EndpointCompression resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified
- final case class EndpointIpPolicy(enabled: Option[Boolean] = None, ipPolicies: List[Ref]) extends Product with Serializable
A class encapsulating the EndpointIpPolicy resource.
A class encapsulating the EndpointIpPolicy resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- ipPolicies
the value of the
ip_policiesparameter as a scala.List of Ref
- final case class EndpointIpPolicyMutate(enabled: Option[Boolean] = None, ipPolicyIds: List[String]) extends Product with Serializable
A class encapsulating the EndpointIpPolicyMutate resource.
A class encapsulating the EndpointIpPolicyMutate resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- ipPolicyIds
list of all IP policies that will be used to check if a source IP is allowed access to the endpoint
- final case class EndpointList(endpoints: List[Endpoint], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the EndpointList resource.
A class encapsulating the EndpointList resource.
- endpoints
the list of all active endpoints on this account
- uri
URI of the endpoints list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class EndpointMutualTls(enabled: Option[Boolean] = None, certificateAuthorities: List[Ref]) extends Product with Serializable
A class encapsulating the EndpointMutualTls resource.
A class encapsulating the EndpointMutualTls resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- certificateAuthorities
PEM-encoded CA certificates that will be used to validate. Multiple CAs may be provided by concatenating them together.
- final case class EndpointMutualTlsMutate(enabled: Option[Boolean] = None, certificateAuthorityIds: List[String]) extends Product with Serializable
A class encapsulating the EndpointMutualTlsMutate resource.
A class encapsulating the EndpointMutualTlsMutate resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- certificateAuthorityIds
list of certificate authorities that will be used to validate the TLS client certificate presented by the initiator of the TLS connection
- final case class EndpointOAuth(enabled: Option[Boolean] = None, provider: EndpointOAuthProvider, optionsPassthrough: Boolean, cookiePrefix: String, inactivityTimeout: Long, maximumDuration: Duration, authCheckInterval: Long) extends Product with Serializable
A class encapsulating the EndpointOAuth resource.
A class encapsulating the EndpointOAuth resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- provider
an object which defines the identity provider to use for authentication and configuration for who may access the endpoint
- optionsPassthrough
Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
- cookiePrefix
the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
- inactivityTimeout
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.
- maximumDuration
Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
- authCheckInterval
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.
- final case class EndpointOAuthFacebook(clientId: Option[String] = None, clientSecret: Option[String] = None, scopes: List[String], emailAddresses: List[String], emailDomains: List[String]) extends Product with Serializable
A class encapsulating the EndpointOAuthFacebook resource.
A class encapsulating the EndpointOAuthFacebook resource.
- clientId
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.
- clientSecret
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.- scopes
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_idandclient_secretto set scopes)- emailAddresses
a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint
- emailDomains
a list of email domains of users authenticated by identity provider who are allowed access to the endpoint
- final case class EndpointOAuthGitHub(clientId: Option[String] = None, clientSecret: Option[String] = None, scopes: List[String], emailAddresses: List[String], emailDomains: List[String], teams: List[String], organizations: List[String]) extends Product with Serializable
A class encapsulating the EndpointOAuthGitHub resource.
A class encapsulating the EndpointOAuthGitHub resource.
- clientId
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.
- clientSecret
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.- scopes
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_idandclient_secretto set scopes)- emailAddresses
a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint
- emailDomains
a list of email domains of users authenticated by identity provider who are allowed access to the endpoint
- teams
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- organizations
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'
- final case class EndpointOAuthGoogle(clientId: Option[String] = None, clientSecret: Option[String] = None, scopes: List[String], emailAddresses: List[String], emailDomains: List[String]) extends Product with Serializable
A class encapsulating the EndpointOAuthGoogle resource.
A class encapsulating the EndpointOAuthGoogle resource.
- clientId
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.
- clientSecret
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.- scopes
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_idandclient_secretto set scopes)- emailAddresses
a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint
- emailDomains
a list of email domains of users authenticated by identity provider who are allowed access to the endpoint
- final case class EndpointOAuthMicrosoft(clientId: Option[String] = None, clientSecret: Option[String] = None, scopes: List[String], emailAddresses: List[String], emailDomains: List[String]) extends Product with Serializable
A class encapsulating the EndpointOAuthMicrosoft resource.
A class encapsulating the EndpointOAuthMicrosoft resource.
- clientId
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.
- clientSecret
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.- scopes
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_idandclient_secretto set scopes)- emailAddresses
a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint
- emailDomains
a list of email domains of users authenticated by identity provider who are allowed access to the endpoint
- final case class EndpointOAuthProvider(github: Option[EndpointOAuthGitHub] = None, facebook: Option[EndpointOAuthFacebook] = None, microsoft: Option[EndpointOAuthMicrosoft] = None, google: Option[EndpointOAuthGoogle] = None) extends Product with Serializable
A class encapsulating the EndpointOAuthProvider resource.
A class encapsulating the EndpointOAuthProvider resource.
- github
configuration for using github as the identity provider
configuration for using facebook as the identity provider
- microsoft
configuration for using microsoft as the identity provider
configuration for using google as the identity provider
- final case class EndpointOidc(enabled: Option[Boolean] = None, optionsPassthrough: Boolean, cookiePrefix: String, inactivityTimeout: Long, maximumDuration: Duration, issuer: String, clientId: String, clientSecret: String, scopes: List[String]) extends Product with Serializable
A class encapsulating the EndpointOidc resource.
A class encapsulating the EndpointOidc resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- optionsPassthrough
Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
- cookiePrefix
the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
- inactivityTimeout
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.
- maximumDuration
Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
- issuer
URL of the OIDC "OpenID provider". This is the base URL used for discovery.
- clientId
The OIDC app's client ID and OIDC audience.
- clientSecret
The OIDC app's client secret.
- scopes
The set of scopes to request from the OIDC identity provider.
- final case class EndpointRequestHeaders(enabled: Option[Boolean] = None, add: Map[String, String], remove: List[String]) extends Product with Serializable
A class encapsulating the EndpointRequestHeaders resource.
A class encapsulating the EndpointRequestHeaders resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- add
a map of header key to header value that will be injected into the HTTP Request before being sent to the upstream application server
- remove
a list of header names that will be removed from the HTTP Request before being sent to the upstream application server
- final case class EndpointResponseHeaders(enabled: Option[Boolean] = None, add: Map[String, String], remove: List[String]) extends Product with Serializable
A class encapsulating the EndpointResponseHeaders resource.
A class encapsulating the EndpointResponseHeaders resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- add
a map of header key to header value that will be injected into the HTTP Response returned to the HTTP client
- remove
a list of header names that will be removed from the HTTP Response returned to the HTTP client
- final case class EndpointSaml(enabled: Option[Boolean] = None, optionsPassthrough: Boolean, cookiePrefix: String, inactivityTimeout: Long, maximumDuration: Duration, idpMetadata: String, forceAuthn: Boolean, allowIdpInitiated: Option[Boolean] = None, authorizedGroups: List[String], entityId: String, assertionConsumerServiceUrl: URI, singleLogoutUrl: URI, requestSigningCertificatePem: String, metadataUrl: URI, nameidFormat: String) extends Product with Serializable
A class encapsulating the EndpointSaml resource.
A class encapsulating the EndpointSaml resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- optionsPassthrough
Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
- cookiePrefix
the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
- inactivityTimeout
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.
- maximumDuration
Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
- idpMetadata
The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL.
- forceAuthn
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.
- allowIdpInitiated
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
RelayStateparameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed.- authorizedGroups
If present, only users who are a member of one of the listed groups may access the target endpoint.
- entityId
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.
- assertionConsumerServiceUrl
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.
- singleLogoutUrl
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.
- requestSigningCertificatePem
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.
- metadataUrl
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.
- nameidFormat
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:persistentwill be used. A subset of the allowed values enumerated by the SAML specification are supported.
- final case class EndpointSamlMutate(enabled: Option[Boolean] = None, optionsPassthrough: Boolean, cookiePrefix: String, inactivityTimeout: Long, maximumDuration: Duration, idpMetadata: String, forceAuthn: Boolean, allowIdpInitiated: Option[Boolean] = None, authorizedGroups: List[String], nameidFormat: String) extends Product with Serializable
A class encapsulating the EndpointSamlMutate resource.
A class encapsulating the EndpointSamlMutate resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- optionsPassthrough
Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS.
- cookiePrefix
the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.'
- inactivityTimeout
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.
- maximumDuration
Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate.
- idpMetadata
The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL.
- forceAuthn
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.
- allowIdpInitiated
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
RelayStateparameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed.- authorizedGroups
If present, only users who are a member of one of the listed groups may access the target endpoint.
- nameidFormat
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:persistentwill be used. A subset of the allowed values enumerated by the SAML specification are supported.
- final case class EndpointTlsTermination(enabled: Option[Boolean] = None, terminateAt: String, minVersion: Option[String] = None) extends Product with Serializable
A class encapsulating the EndpointTlsTermination resource.
A class encapsulating the EndpointTlsTermination resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- terminateAt
edgeif the ngrok edge should terminate TLS traffic,upstreamif TLS traffic should be passed through to the upstream ngrok agent / application server for termination. ifupstreamis chosen, most other modules will be disallowed because they rely on the ngrok edge being able to access the underlying traffic.- minVersion
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_atis set toupstream.
- final case class EndpointTlsTerminationAtEdge(enabled: Option[Boolean] = None, minVersion: Option[String] = None) extends Product with Serializable
A class encapsulating the EndpointTlsTerminationAtEdge resource.
A class encapsulating the EndpointTlsTerminationAtEdge resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- minVersion
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_atis set toupstream.
- final case class EndpointWebhookValidation(enabled: Option[Boolean] = None, provider: String, secret: String) extends Product with Serializable
A class encapsulating the EndpointWebhookValidation resource.
A class encapsulating the EndpointWebhookValidation resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified- provider
a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers:
SLACK,SNS,STRIPE,GITHUB,TWILIO,SHOPIFY,GITLAB,INTERCOM,SENDGRID,XERO,PAGERDUTY.- secret
a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret
- final case class EndpointWebsocketTcpConverter(enabled: Option[Boolean] = None) extends Product with Serializable
A class encapsulating the EndpointWebsocketTcpConverter resource.
A class encapsulating the EndpointWebsocketTcpConverter resource.
- enabled
trueif the module will be applied to traffic,falseto disable. defaulttrueif unspecified
- final case class EventDestination(id: String, metadata: String, createdAt: OffsetDateTime, description: String, format: String, target: EventTarget, uri: URI) extends Product with Serializable
A class encapsulating the EventDestination resource.
A class encapsulating the EventDestination resource.
- id
Unique identifier for this Event Destination.
- metadata
Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes.
- createdAt
Timestamp when the Event Destination was created, RFC 3339 format.
- description
Human-readable description of the Event Destination. Optional, max 255 bytes.
- format
The output format you would like to serialize events into when sending to their target. Currently the only accepted value is
JSON.- target
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, ors3.- uri
URI of the Event Destination API resource.
- final case class EventDestinationList(eventDestinations: List[EventDestination], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the EventDestinationList resource.
A class encapsulating the EventDestinationList resource.
- eventDestinations
The list of all Event Destinations on this account.
- uri
URI of the Event Destinations list API resource.
- nextPageUri
URI of the next page, or null if there is no next page.
- final case class EventSource(type: String, uri: URI) extends Product with Serializable
A class encapsulating the EventSource resource.
A class encapsulating the EventSource resource.
- uri
URI of the Event Source API resource.
- final case class EventSourceList(sources: List[EventSource], uri: URI) extends Product with Serializable
A class encapsulating the EventSourceList resource.
A class encapsulating the EventSourceList resource.
- sources
The list of all Event Sources for an Event Subscription
- uri
URI of the next page, or null if there is no next page.
- final case class EventSourceReplace(type: String) extends Product with Serializable
A class encapsulating the EventSourceReplace resource.
- final case class EventSubscription(id: String, uri: URI, createdAt: OffsetDateTime, metadata: String, description: String, sources: List[EventSource], destinations: List[Ref]) extends Product with Serializable
A class encapsulating the EventSubscription resource.
A class encapsulating the EventSubscription resource.
- id
Unique identifier for this Event Subscription.
- uri
URI of the Event Subscription API resource.
- createdAt
When the Event Subscription was created (RFC 3339 format).
- metadata
Arbitrary customer supplied information intended to be machine readable. Optional, max 4096 chars.
- description
Arbitrary customer supplied information intended to be human readable. Optional, max 255 chars.
- sources
Sources containing the types for which this event subscription will trigger
- destinations
Destinations to which these events will be sent
- final case class EventSubscriptionList(eventSubscriptions: List[EventSubscription], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the EventSubscriptionList resource.
A class encapsulating the EventSubscriptionList resource.
- eventSubscriptions
The list of all Event Subscriptions on this account.
- uri
URI of the Event Subscriptions list API resource.
- nextPageUri
URI of next page, or null if there is no next page.
- final case class EventTarget(firehose: Option[EventTargetFirehose] = None, kinesis: Option[EventTargetKinesis] = None, cloudwatchLogs: Option[EventTargetCloudwatchLogs] = None) extends Product with Serializable
A class encapsulating the EventTarget resource.
A class encapsulating the EventTarget resource.
- firehose
Configuration used to send events to Amazon Kinesis Data Firehose.
- kinesis
Configuration used to send events to Amazon Kinesis.
- cloudwatchLogs
Configuration used to send events to Amazon CloudWatch Logs.
- final case class EventTargetCloudwatchLogs(auth: AwsAuth, logGroupArn: String) extends Product with Serializable
A class encapsulating the EventTargetCloudwatchLogs resource.
A class encapsulating the EventTargetCloudwatchLogs resource.
- auth
Configuration for how to authenticate into your AWS account. Exactly one of
roleorcredsshould be configured.- logGroupArn
An Amazon Resource Name specifying the CloudWatch Logs group to deposit events into.
- final case class EventTargetFirehose(auth: AwsAuth, deliveryStreamArn: String) extends Product with Serializable
A class encapsulating the EventTargetFirehose resource.
A class encapsulating the EventTargetFirehose resource.
- auth
Configuration for how to authenticate into your AWS account. Exactly one of
roleorcredsshould be configured.- deliveryStreamArn
An Amazon Resource Name specifying the Firehose delivery stream to deposit events into.
- final case class EventTargetKinesis(auth: AwsAuth, streamArn: String) extends Product with Serializable
A class encapsulating the EventTargetKinesis resource.
A class encapsulating the EventTargetKinesis resource.
- auth
Configuration for how to authenticate into your AWS account. Exactly one of
roleorcredsshould be configured.- streamArn
An Amazon Resource Name specifying the Kinesis stream to deposit events into.
- final case class FailoverBackend(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, backends: List[String]) extends Product with Serializable
A class encapsulating the FailoverBackend resource.
A class encapsulating the FailoverBackend resource.
- id
unique identifier for this Failover backend
- uri
URI of the FailoverBackend API resource
- createdAt
timestamp when the backend was created, RFC 3339 format
- description
human-readable description of this backend. Optional
- metadata
arbitrary user-defined machine-readable data of this backend. Optional
- backends
the ids of the child backends in order
- final case class FailoverBackendList(backends: List[FailoverBackend], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the FailoverBackendList resource.
A class encapsulating the FailoverBackendList resource.
- backends
the list of all Failover backends on this account
- uri
URI of the Failover backends list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class HttpResponseBackend(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, body: String, headers: Map[String, String], statusCode: Int) extends Product with Serializable
A class encapsulating the HttpResponseBackend resource.
A class encapsulating the HttpResponseBackend resource.
- id
the value of the
idparameter as a scala.Predef.String- uri
URI of the HTTPResponseBackend API resource
- createdAt
timestamp when the backend was created, RFC 3339 format
- description
human-readable description of this backend. Optional
- metadata
arbitrary user-defined machine-readable data of this backend. Optional
- body
body to return as fixed content
- headers
headers to return
- statusCode
status code to return
- final case class HttpResponseBackendList(backends: List[HttpResponseBackend], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the HttpResponseBackendList resource.
A class encapsulating the HttpResponseBackendList resource.
- backends
the value of the
backendsparameter as a scala.List of HttpResponseBackend- uri
the value of the
uriparameter as a java.net.URI- nextPageUri
the value of the
next_page_uriparameter as a java.net.URI
- final case class HttpsEdge(id: String, description: String, metadata: String, createdAt: OffsetDateTime, uri: URI, hostports: Option[List[String]] = None, mutualTls: Option[EndpointMutualTls] = None, tlsTermination: Option[EndpointTlsTermination] = None, routes: List[HttpsEdgeRoute]) extends Product with Serializable
A class encapsulating the HttpsEdge resource.
A class encapsulating the HttpsEdge resource.
- id
unique identifier of this edge
- description
human-readable description of what this edge will be used for; optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this edge; optional, max 4096 bytes.
- createdAt
timestamp when the edge configuration was created, RFC 3339 format
- uri
URI of the edge API resource
- hostports
hostports served by this edge
- mutualTls
edge modules
- tlsTermination
the value of the
tls_terminationparameter as a EndpointTlsTermination- routes
routes
- final case class HttpsEdgeList(httpsEdges: List[HttpsEdge], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the HttpsEdgeList resource.
A class encapsulating the HttpsEdgeList resource.
- httpsEdges
the list of all HTTPS Edges on this account
- uri
URI of the HTTPS Edge list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class HttpsEdgeRoute(edgeId: String, id: String, createdAt: OffsetDateTime, matchType: String, match: String, uri: URI, description: String, metadata: String, backend: Option[EndpointBackend] = None, ipRestriction: Option[EndpointIpPolicy] = None, circuitBreaker: Option[EndpointCircuitBreaker] = None, compression: Option[EndpointCompression] = None, requestHeaders: Option[EndpointRequestHeaders] = None, responseHeaders: Option[EndpointResponseHeaders] = None, webhookVerification: Option[EndpointWebhookValidation] = None, oauth: Option[EndpointOAuth] = None, saml: Option[EndpointSaml] = None, oidc: Option[EndpointOidc] = None, websocketTcpConverter: Option[EndpointWebsocketTcpConverter] = None) extends Product with Serializable
A class encapsulating the HttpsEdgeRoute resource.
A class encapsulating the HttpsEdgeRoute resource.
- edgeId
unique identifier of this edge
- id
unique identifier of this edge route
- createdAt
timestamp when the edge configuration was created, RFC 3339 format
- matchType
Type of match to use for this route. Valid values are "exact_path" and "path_prefix".
- uri
URI of the edge API resource
- description
human-readable description of what this edge will be used for; optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
- backend
backend module configuration or
null- ipRestriction
ip restriction module configuration or
null- circuitBreaker
circuit breaker module configuration or
null- compression
compression module configuration or
null- requestHeaders
request headers module configuration or
null- responseHeaders
response headers module configuration or
null- webhookVerification
webhook verification module configuration or
null- oauth
oauth module configuration or
null- saml
saml module configuration or
null- oidc
oidc module configuration or
null- websocketTcpConverter
websocket to tcp adapter configuration or
null
- final case class IpPolicy(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String) extends Product with Serializable
A class encapsulating the IpPolicy resource.
A class encapsulating the IpPolicy resource.
- id
unique identifier for this IP policy
- uri
URI of the IP Policy API resource
- createdAt
timestamp when the IP policy was created, RFC 3339 format
- description
human-readable description of the source IPs of this IP policy. optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes.
- final case class IpPolicyList(ipPolicies: List[IpPolicy], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the IpPolicyList resource.
A class encapsulating the IpPolicyList resource.
- ipPolicies
the list of all IP policies on this account
- uri
URI of the IP policy list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class IpPolicyRule(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, cidr: String, ipPolicy: Ref, action: String) extends Product with Serializable
A class encapsulating the IpPolicyRule resource.
A class encapsulating the IpPolicyRule resource.
- id
unique identifier for this IP policy rule
- uri
URI of the IP policy rule API resource
- createdAt
timestamp when the IP policy rule was created, RFC 3339 format
- description
human-readable description of the source IPs of this IP rule. optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes.
- cidr
an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported.
- ipPolicy
object describing the IP policy this IP Policy Rule belongs to
- action
the action to apply to the policy rule, either
allowordeny
- final case class IpPolicyRuleList(ipPolicyRules: List[IpPolicyRule], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the IpPolicyRuleList resource.
A class encapsulating the IpPolicyRuleList resource.
- ipPolicyRules
the list of all IP policy rules on this account
- uri
URI of the IP policy rule list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class IpRestriction(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, enforced: Boolean, type: String, ipPolicies: List[Ref]) extends Product with Serializable
A class encapsulating the IpRestriction resource.
A class encapsulating the IpRestriction resource.
- id
unique identifier for this IP restriction
- uri
URI of the IP restriction API resource
- createdAt
timestamp when the IP restriction was created, RFC 3339 format
- description
human-readable description of this IP restriction. optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes.
- enforced
true if the IP restriction will be enforced. if false, only warnings will be issued
- ipPolicies
the set of IP policies that are used to enforce the restriction
- final case class IpRestrictionList(ipRestrictions: List[IpRestriction], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the IpRestrictionList resource.
A class encapsulating the IpRestrictionList resource.
- ipRestrictions
the list of all IP restrictions on this account
- uri
URI of the IP restrictions list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- case class NgrokApiError(message: String, httpStatusCode: Int, errorCode: Option[String], details: Map[String, String], cause: Option[Throwable]) extends Exception with Product with Serializable
Representation of an API error from ngrok.
Representation of an API error from ngrok.
- message
descriptive error message.
- httpStatusCode
HTTP status returned from the server
- errorCode
ngrok-specific error code, if any
- details
key-value map of error details
- cause
exception cause, if any
- class Page[T <: Pageable] extends AnyRef
Wrapper class that holds a single page of a Pageable response.
Wrapper class that holds a single page of a Pageable response.
- T
underlying page type
- trait Pageable extends AnyRef
Trait indicating a resource type that can have more than one page of responses.
- final case class Ref(id: String, uri: URI) extends Product with Serializable
A class encapsulating the Ref resource.
A class encapsulating the Ref resource.
- id
a resource identifier
- uri
a uri for locating a resource
- final case class ReservedAddr(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, addr: String, region: String) extends Product with Serializable
A class encapsulating the ReservedAddr resource.
A class encapsulating the ReservedAddr resource.
- id
unique reserved address resource identifier
- uri
URI of the reserved address API resource
- createdAt
timestamp when the reserved address was created, RFC 3339 format
- description
human-readable description of what this reserved address will be used for
- metadata
arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes.
- addr
hostname:port of the reserved address that was assigned at creation time
- region
reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa)
- final case class ReservedAddrList(reservedAddrs: List[ReservedAddr], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the ReservedAddrList resource.
A class encapsulating the ReservedAddrList resource.
- reservedAddrs
the list of all reserved addresses on this account
- uri
URI of the reserved address list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class ReservedDomain(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, domain: String, region: String, cnameTarget: Option[String] = None, certificate: Option[Ref] = None, certificateManagementPolicy: Option[ReservedDomainCertPolicy] = None, certificateManagementStatus: Option[ReservedDomainCertStatus] = None, acmeChallengeCnameTarget: Option[String] = None) extends Product with Serializable
A class encapsulating the ReservedDomain resource.
A class encapsulating the ReservedDomain resource.
- id
unique reserved domain resource identifier
- uri
URI of the reserved domain API resource
- createdAt
timestamp when the reserved domain was created, RFC 3339 format
- description
human-readable description of what this reserved domain will be used for
- metadata
arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes.
- domain
hostname of the reserved domain
- region
reserve the domain in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa)
- cnameTarget
DNS CNAME target for a custom hostname, or null if the reserved domain is a subdomain of *.ngrok.io
- certificate
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.
- certificateManagementPolicy
configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled
- certificateManagementStatus
status of the automatic certificate management for this domain, or null if automatic management is disabled
- acmeChallengeCnameTarget
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.
- final case class ReservedDomainCertJob(errorCode: Option[String] = None, msg: String, startedAt: OffsetDateTime, retriesAt: Option[OffsetDateTime] = None) extends Product with Serializable
A class encapsulating the ReservedDomainCertJob resource.
A class encapsulating the ReservedDomainCertJob resource.
- errorCode
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).
- msg
a message describing the current status or error
- startedAt
timestamp when the provisioning job started, RFC 3339 format
- retriesAt
timestamp when the provisioning job will be retried
- final case class ReservedDomainCertPolicy(authority: String, privateKeyType: String) extends Product with Serializable
A class encapsulating the ReservedDomainCertPolicy resource.
A class encapsulating the ReservedDomainCertPolicy resource.
- authority
certificate authority to request certificates from. The only supported value is letsencrypt.
- privateKeyType
type of private key to use when requesting certificates. Defaults to rsa, can be either rsa or ecdsa.
- final case class ReservedDomainCertStatus(renewsAt: Option[OffsetDateTime] = None, provisioningJob: Option[ReservedDomainCertJob] = None) extends Product with Serializable
A class encapsulating the ReservedDomainCertStatus resource.
A class encapsulating the ReservedDomainCertStatus resource.
- renewsAt
timestamp when the next renewal will be requested, RFC 3339 format
- provisioningJob
status of the certificate provisioning job, or null if the certificiate isn't being provisioned or renewed
- final case class ReservedDomainList(reservedDomains: List[ReservedDomain], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the ReservedDomainList resource.
A class encapsulating the ReservedDomainList resource.
- reservedDomains
the list of all reserved domains on this account
- uri
URI of the reserved domain list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class SshCertificateAuthority(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, publicKey: String, keyType: String) extends Product with Serializable
A class encapsulating the SshCertificateAuthority resource.
A class encapsulating the SshCertificateAuthority resource.
- id
unique identifier for this SSH Certificate Authority
- uri
URI of the SSH Certificate Authority API resource
- createdAt
timestamp when the SSH Certificate Authority API resource was created, RFC 3339 format
- description
human-readable description of this SSH Certificate Authority. optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes.
- publicKey
raw public key for this SSH Certificate Authority
- keyType
the type of private key for this SSH Certificate Authority
- final case class SshCertificateAuthorityList(sshCertificateAuthorities: List[SshCertificateAuthority], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the SshCertificateAuthorityList resource.
A class encapsulating the SshCertificateAuthorityList resource.
- sshCertificateAuthorities
the list of all certificate authorities on this account
- uri
URI of the certificates authorities list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class SshCredential(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, publicKey: String, acl: List[String]) extends Product with Serializable
A class encapsulating the SshCredential resource.
A class encapsulating the SshCredential resource.
- id
unique ssh credential resource identifier
- uri
URI of the ssh credential API resource
- createdAt
timestamp when the ssh credential was created, RFC 3339 format
- description
human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes.
- publicKey
the PEM-encoded public key of the SSH keypair that will be used to authenticate
- acl
optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the
bindrule. Thebindrule 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 rulebind: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 ofbind:*.example.comwhich will allowx.example.com,y.example.com,*.example.com, etc. A rule of'*'is equivalent to no acl at all and will explicitly permit all actions.
- final case class SshCredentialList(sshCredentials: List[SshCredential], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the SshCredentialList resource.
A class encapsulating the SshCredentialList resource.
- sshCredentials
the list of all ssh credentials on this account
- uri
URI of the ssh credential list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class SshHostCertificate(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, publicKey: String, keyType: String, sshCertificateAuthorityId: String, principals: List[String], validAfter: OffsetDateTime, validUntil: OffsetDateTime, certificate: String) extends Product with Serializable
A class encapsulating the SshHostCertificate resource.
A class encapsulating the SshHostCertificate resource.
- id
unique identifier for this SSH Host Certificate
- uri
URI of the SSH Host Certificate API resource
- createdAt
timestamp when the SSH Host Certificate API resource was created, RFC 3339 format
- description
human-readable description of this SSH Host Certificate. optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes.
- publicKey
a public key in OpenSSH Authorized Keys format that this certificate signs
- keyType
the key type of the
public_key, one ofrsa,ecdsaored25519- sshCertificateAuthorityId
the ssh certificate authority that is used to sign this ssh host certificate
- principals
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.
- validAfter
the time when the ssh host certificate becomes valid, in RFC 3339 format.
- validUntil
the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this
valid_before.- certificate
the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a
-cert.pubcertificate file on disk that should be referenced in yoursshd_configconfiguration file with aHostCertificatedirective
- final case class SshHostCertificateList(sshHostCertificates: List[SshHostCertificate], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the SshHostCertificateList resource.
A class encapsulating the SshHostCertificateList resource.
- sshHostCertificates
the list of all ssh host certificates on this account
- uri
URI of the ssh host certificates list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class SshUserCertificate(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, publicKey: String, keyType: String, sshCertificateAuthorityId: String, principals: List[String], criticalOptions: Map[String, String], extensions: Map[String, String], validAfter: OffsetDateTime, validUntil: OffsetDateTime, certificate: String) extends Product with Serializable
A class encapsulating the SshUserCertificate resource.
A class encapsulating the SshUserCertificate resource.
- id
unique identifier for this SSH User Certificate
- uri
URI of the SSH User Certificate API resource
- createdAt
timestamp when the SSH User Certificate API resource was created, RFC 3339 format
- description
human-readable description of this SSH User Certificate. optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes.
- publicKey
a public key in OpenSSH Authorized Keys format that this certificate signs
- keyType
the key type of the
public_key, one ofrsa,ecdsaored25519- sshCertificateAuthorityId
the ssh certificate authority that is used to sign this ssh user certificate
- principals
the list of principals included in the ssh user certificate. This is the list of usernames that the certificate holder may sign in as on a machine authorizing the signing certificate authority. Dangerously, if no principals are specified, this certificate may be used to log in as any user.
- criticalOptions
A map of critical options included in the certificate. Only two critical options are currently defined by OpenSSH:
force-commandandsource-address. See the OpenSSH certificate protocol spec for additional details.- extensions
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 for additional details.- validAfter
the time when the ssh host certificate becomes valid, in RFC 3339 format.
- validUntil
the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this
valid_before.- certificate
the signed SSH certificate in OpenSSH Authorized Keys Format. this value should be placed in a
-cert.pubcertificate file on disk that should be referenced in yoursshd_configconfiguration file with aHostCertificatedirective
- final case class SshUserCertificateList(sshUserCertificates: List[SshUserCertificate], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the SshUserCertificateList resource.
A class encapsulating the SshUserCertificateList resource.
- sshUserCertificates
the list of all ssh user certificates on this account
- uri
URI of the ssh user certificates list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class TcpEdge(id: String, description: String, metadata: String, createdAt: OffsetDateTime, uri: URI, hostports: Option[List[String]] = None, backend: Option[EndpointBackend] = None, ipRestriction: Option[EndpointIpPolicy] = None) extends Product with Serializable
A class encapsulating the TcpEdge resource.
A class encapsulating the TcpEdge resource.
- id
unique identifier of this edge
- description
human-readable description of what this edge will be used for; optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
- createdAt
timestamp when the edge was created, RFC 3339 format
- uri
URI of the edge API resource
- hostports
hostports served by this edge
- backend
edge modules
- ipRestriction
the value of the
ip_restrictionparameter as a EndpointIpPolicy
- final case class TcpEdgeList(tcpEdges: List[TcpEdge], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the TcpEdgeList resource.
A class encapsulating the TcpEdgeList resource.
- tcpEdges
the list of all TCP Edges on this account
- uri
URI of the TCP Edge list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class TlsCertificate(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, certificatePem: String, subjectCommonName: String, subjectAlternativeNames: TlsCertificateSaNs, issuedAt: Option[OffsetDateTime] = None, notBefore: OffsetDateTime, notAfter: OffsetDateTime, keyUsages: List[String], extendedKeyUsages: List[String], privateKeyType: String, issuerCommonName: String, serialNumber: String, subjectOrganization: String, subjectOrganizationalUnit: String, subjectLocality: String, subjectProvince: String, subjectCountry: String) extends Product with Serializable
A class encapsulating the TlsCertificate resource.
A class encapsulating the TlsCertificate resource.
- id
unique identifier for this TLS certificate
- uri
URI of the TLS certificate API resource
- createdAt
timestamp when the TLS certificate was created, RFC 3339 format
- description
human-readable description of this TLS certificate. optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes.
- certificatePem
chain of PEM-encoded certificates, leaf first. See Certificate Bundles.
- subjectCommonName
subject common name from the leaf of this TLS certificate
- subjectAlternativeNames
subject alternative names (SANs) from the leaf of this TLS certificate
- issuedAt
timestamp (in RFC 3339 format) when this TLS certificate was issued automatically, or null if this certificate was user-uploaded
- notBefore
timestamp when this TLS certificate becomes valid, RFC 3339 format
- notAfter
timestamp when this TLS certificate becomes invalid, RFC 3339 format
- keyUsages
set of actions the private key of this TLS certificate can be used for
- extendedKeyUsages
extended set of actions the private key of this TLS certificate can be used for
- privateKeyType
type of the private key of this TLS certificate. One of rsa, ecdsa, or ed25519.
- issuerCommonName
issuer common name from the leaf of this TLS certificate
- serialNumber
serial number of the leaf of this TLS certificate
- subjectOrganization
subject organization from the leaf of this TLS certificate
- subjectOrganizationalUnit
subject organizational unit from the leaf of this TLS certificate
- subjectLocality
subject locality from the leaf of this TLS certificate
- subjectProvince
subject province from the leaf of this TLS certificate
- subjectCountry
subject country from the leaf of this TLS certificate
- final case class TlsCertificateList(tlsCertificates: List[TlsCertificate], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the TlsCertificateList resource.
A class encapsulating the TlsCertificateList resource.
- tlsCertificates
the list of all TLS certificates on this account
- uri
URI of the TLS certificates list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class TlsCertificateSaNs(dnsNames: List[String], ips: List[String]) extends Product with Serializable
A class encapsulating the TlsCertificateSaNs resource.
A class encapsulating the TlsCertificateSaNs resource.
- dnsNames
set of additional domains (including wildcards) this TLS certificate is valid for
- ips
set of IP addresses this TLS certificate is also valid for
- final case class TlsEdge(id: String, description: String, metadata: String, createdAt: OffsetDateTime, uri: URI, hostports: Option[List[String]] = None, backend: Option[EndpointBackend] = None, ipRestriction: Option[EndpointIpPolicy] = None, mutualTls: Option[EndpointMutualTls] = None, tlsTermination: Option[EndpointTlsTermination] = None) extends Product with Serializable
A class encapsulating the TlsEdge resource.
A class encapsulating the TlsEdge resource.
- id
unique identifier of this edge
- description
human-readable description of what this edge will be used for; optional, max 255 bytes.
- metadata
arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
- createdAt
timestamp when the edge configuration was created, RFC 3339 format
- uri
URI of the edge API resource
- hostports
hostports served by this edge
- backend
edge modules
- ipRestriction
the value of the
ip_restrictionparameter as a EndpointIpPolicy- mutualTls
the value of the
mutual_tlsparameter as a EndpointMutualTls- tlsTermination
the value of the
tls_terminationparameter as a EndpointTlsTermination
- final case class TlsEdgeList(tlsEdges: List[TlsEdge], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the TlsEdgeList resource.
A class encapsulating the TlsEdgeList resource.
- tlsEdges
the list of all TLS Edges on this account
- uri
URI of the TLS Edge list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class Tunnel(id: String, publicUrl: URI, startedAt: OffsetDateTime, metadata: String, proto: String, region: String, tunnelSession: Ref, endpoint: Option[Ref] = None, labels: Map[String, String], backends: Option[List[Ref]] = None, forwardsTo: String) extends Product with Serializable
A class encapsulating the Tunnel resource.
A class encapsulating the Tunnel resource.
- id
unique tunnel resource identifier
- publicUrl
URL of the ephemeral tunnel's public endpoint
- startedAt
timestamp when the tunnel was initiated in RFC 3339 format
- metadata
user-supplied metadata for the tunnel defined in the ngrok configuration file. See the tunnel metadata configuration option In API version 0, this value was instead pulled from the top-level metadata configuration option.
- proto
tunnel protocol for ephemeral tunnels. one of
http,https,tcportls- region
identifier of tune region where the tunnel is running
- tunnelSession
reference object pointing to the tunnel session on which this tunnel was started
- endpoint
the ephemeral endpoint this tunnel is associated with, if this is an agent-initiated tunnel
- labels
the labels the tunnel group backends will match against, if this is a backend tunnel
- backends
tunnel group backends served by this backend tunnel
- forwardsTo
upstream address the ngrok agent forwards traffic over this tunnel to. this may be expressed as a URL or a network address.
- final case class TunnelGroupBackend(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, labels: Map[String, String], tunnels: List[Ref]) extends Product with Serializable
A class encapsulating the TunnelGroupBackend resource.
A class encapsulating the TunnelGroupBackend resource.
- id
unique identifier for this TunnelGroup backend
- uri
URI of the TunnelGroupBackend API resource
- createdAt
timestamp when the backend was created, RFC 3339 format
- description
human-readable description of this backend. Optional
- metadata
arbitrary user-defined machine-readable data of this backend. Optional
- labels
labels to watch for tunnels on, e.g. app->foo, dc->bar
- tunnels
tunnels matching this backend
- final case class TunnelGroupBackendList(backends: List[TunnelGroupBackend], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the TunnelGroupBackendList resource.
A class encapsulating the TunnelGroupBackendList resource.
- backends
the list of all TunnelGroup backends on this account
- uri
URI of the TunnelGroup backends list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class TunnelList(tunnels: List[Tunnel], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the TunnelList resource.
A class encapsulating the TunnelList resource.
- tunnels
the list of all online tunnels on this account
- uri
URI of the tunnels list API resource
- nextPageUri
URI of the next page, or null if there is no next page
- final case class TunnelSession(agentVersion: String, credential: Ref, id: String, ip: String, metadata: String, os: String, region: String, startedAt: OffsetDateTime, transport: String, uri: URI) extends Product with Serializable
A class encapsulating the TunnelSession resource.
A class encapsulating the TunnelSession resource.
- agentVersion
version of the ngrok agent that started this ngrok tunnel session
- credential
reference to the tunnel credential or ssh credential used by the ngrok agent to start this tunnel session
- id
unique tunnel session resource identifier
- ip
source ip address of the tunnel session
- metadata
arbitrary user-defined data specified in the metadata property in the ngrok configuration file. See the metadata configuration option
- os
operating system of the host the ngrok agent is running on
- region
the ngrok region identifier in which this tunnel session was started
- startedAt
time when the tunnel session first connected to the ngrok servers
- transport
the transport protocol used to start the tunnel session. Either
ngrok/v2orssh- uri
URI to the API resource of the tunnel session
- final case class TunnelSessionList(tunnelSessions: List[TunnelSession], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the TunnelSessionList resource.
A class encapsulating the TunnelSessionList resource.
- tunnelSessions
list of all tunnel sessions on this account
- uri
URI to the API resource of the tunnel session list
- nextPageUri
URI of the next page, or null if there is no next page
- final case class WeightedBackend(id: String, uri: URI, createdAt: OffsetDateTime, description: String, metadata: String, backends: Map[String, Long]) extends Product with Serializable
A class encapsulating the WeightedBackend resource.
A class encapsulating the WeightedBackend resource.
- id
unique identifier for this Weighted backend
- uri
URI of the WeightedBackend API resource
- createdAt
timestamp when the backend was created, RFC 3339 format
- description
human-readable description of this backend. Optional
- metadata
arbitrary user-defined machine-readable data of this backend. Optional
- backends
the ids of the child backends to their weights [0-10000]
- final case class WeightedBackendList(backends: List[WeightedBackend], uri: URI, nextPageUri: Option[URI] = None) extends Pageable with Product with Serializable
A class encapsulating the WeightedBackendList resource.
A class encapsulating the WeightedBackendList resource.
- backends
the list of all Weighted backends on this account
- uri
URI of the Weighted backends list API resource
- nextPageUri
URI of the next page, or null if there is no next page
Value Members
- object AbuseReport extends Serializable
- object AbuseReportHostname extends Serializable
- object AgentIngress extends Serializable
- object AgentIngressList extends Serializable
- object ApiKey extends Serializable
- object ApiKeyList extends Serializable
- object AwsAuth extends Serializable
- object AwsCredentials extends Serializable
- object AwsRole extends Serializable
- object CertificateAuthority extends Serializable
- object CertificateAuthorityList extends Serializable
- object Credential extends Serializable
- object CredentialList extends Serializable
- object Endpoint extends Serializable
- object EndpointBackend extends Serializable
- object EndpointBackendMutate extends Serializable
- object EndpointCircuitBreaker extends Serializable
- object EndpointCompression extends Serializable
- object EndpointIpPolicy extends Serializable
- object EndpointIpPolicyMutate extends Serializable
- object EndpointList extends Serializable
- object EndpointMutualTls extends Serializable
- object EndpointMutualTlsMutate extends Serializable
- object EndpointOAuth extends Serializable
- object EndpointOAuthFacebook extends Serializable
- object EndpointOAuthGitHub extends Serializable
- object EndpointOAuthGoogle extends Serializable
- object EndpointOAuthMicrosoft extends Serializable
- object EndpointOAuthProvider extends Serializable
- object EndpointOidc extends Serializable
- object EndpointRequestHeaders extends Serializable
- object EndpointResponseHeaders extends Serializable
- object EndpointSaml extends Serializable
- object EndpointSamlMutate extends Serializable
- object EndpointTlsTermination extends Serializable
- object EndpointTlsTerminationAtEdge extends Serializable
- object EndpointWebhookValidation extends Serializable
- object EndpointWebsocketTcpConverter extends Serializable
- object EventDestination extends Serializable
- object EventDestinationList extends Serializable
- object EventSource extends Serializable
- object EventSourceList extends Serializable
- object EventSourceReplace extends Serializable
- object EventSubscription extends Serializable
- object EventSubscriptionList extends Serializable
- object EventTarget extends Serializable
- object EventTargetCloudwatchLogs extends Serializable
- object EventTargetFirehose extends Serializable
- object EventTargetKinesis extends Serializable
- object FailoverBackend extends Serializable
- object FailoverBackendList extends Serializable
- object HttpResponseBackend extends Serializable
- object HttpResponseBackendList extends Serializable
- object HttpsEdge extends Serializable
- object HttpsEdgeList extends Serializable
- object HttpsEdgeRoute extends Serializable
- object IpPolicy extends Serializable
- object IpPolicyList extends Serializable
- object IpPolicyRule extends Serializable
- object IpPolicyRuleList extends Serializable
- object IpRestriction extends Serializable
- object IpRestrictionList extends Serializable
- object NgrokApiError extends Serializable
- object NgrokApiErrorCode
- object NgrokApiErrorHttpStatus
- object Ref extends Serializable
- object ReservedAddr extends Serializable
- object ReservedAddrList extends Serializable
- object ReservedDomain extends Serializable
- object ReservedDomainCertJob extends Serializable
- object ReservedDomainCertPolicy extends Serializable
- object ReservedDomainCertStatus extends Serializable
- object ReservedDomainList extends Serializable
- object SshCertificateAuthority extends Serializable
- object SshCertificateAuthorityList extends Serializable
- object SshCredential extends Serializable
- object SshCredentialList extends Serializable
- object SshHostCertificate extends Serializable
- object SshHostCertificateList extends Serializable
- object SshUserCertificate extends Serializable
- object SshUserCertificateList extends Serializable
- object TcpEdge extends Serializable
- object TcpEdgeList extends Serializable
- object TlsCertificate extends Serializable
- object TlsCertificateList extends Serializable
- object TlsCertificateSaNs extends Serializable
- object TlsEdge extends Serializable
- object TlsEdgeList extends Serializable
- object Tunnel extends Serializable
- object TunnelGroupBackend extends Serializable
- object TunnelGroupBackendList extends Serializable
- object TunnelList extends Serializable
- object TunnelSession extends Serializable
- object TunnelSessionList extends Serializable
- object WeightedBackend extends Serializable
- object WeightedBackendList extends Serializable