Packages

p

com.ngrok

definitions

package definitions

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. definitions
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. 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, or PARTIALLY_PROCESSED

    hostnames

    an array of hostname statuses related to the report

  2. 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, or IGNORE

  3. 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

  4. 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

  5. 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.

  6. 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

  7. 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.

  8. 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.

  9. 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.

  10. 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

  11. 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

  12. 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 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.

  13. 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

  14. 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, or tls

    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

  15. 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

    true if the module will be applied to traffic, false to disable. default true if unspecified

    backend

    backend to be used to back this endpoint

  16. 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

    true if the module will be applied to traffic, false to disable. default true if unspecified

    backendId

    backend to be used to back this endpoint

  17. 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

    true if the module will be applied to traffic, false to disable. default true if 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

  18. 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

    true if the module will be applied to traffic, false to disable. default true if unspecified

  19. 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

    true if the module will be applied to traffic, false to disable. default true if unspecified

    ipPolicies

    the value of the ip_policies parameter as a scala.List of Ref

  20. 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

    true if the module will be applied to traffic, false to disable. default true if unspecified

    ipPolicyIds

    list of all IP policies that will be used to check if a source IP is allowed access to the endpoint

  21. 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

  22. 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

    true if the module will be applied to traffic, false to disable. default true if unspecified

    certificateAuthorities

    PEM-encoded CA certificates that will be used to validate. Multiple CAs may be provided by concatenating them together.

  23. 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

    true if the module will be applied to traffic, false to disable. default true if unspecified

    certificateAuthorityIds

    list of certificate authorities that will be used to validate the TLS client certificate presented by the initiator of the TLS connection

  24. 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

    true if the module will be applied to traffic, false to disable. default true if 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.

  25. 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_id and client_secret to 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

  26. 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_id and client_secret to 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'

  27. 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_id and client_secret to 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

  28. 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_id and client_secret to 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

  29. 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

    facebook

    configuration for using facebook as the identity provider

    microsoft

    configuration for using microsoft as the identity provider

    google

    configuration for using google as the identity provider

  30. 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

    true if the module will be applied to traffic, false to disable. default true if 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.

  31. 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

    true if the module will be applied to traffic, false to disable. default true if 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

  32. 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

    true if the module will be applied to traffic, false to disable. default true if 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

  33. 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

    true if the module will be applied to traffic, false to disable. default true if 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 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.

    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:persistent will be used. A subset of the allowed values enumerated by the SAML specification are supported.

  34. 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

    true if the module will be applied to traffic, false to disable. default true if 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 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.

    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:persistent will be used. A subset of the allowed values enumerated by the SAML specification are supported.

  35. 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

    true if the module will be applied to traffic, false to disable. default true if unspecified

    terminateAt

    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.

    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_at is set to upstream.

  36. 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

    true if the module will be applied to traffic, false to disable. default true if 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_at is set to upstream.

  37. 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

    true if the module will be applied to traffic, false to disable. default true if 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

  38. 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

    true if the module will be applied to traffic, false to disable. default true if unspecified

  39. 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, or s3.

    uri

    URI of the Event Destination API resource.

  40. 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.

  41. 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.

  42. 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.

  43. final case class EventSourceReplace(type: String) extends Product with Serializable

    A class encapsulating the EventSourceReplace resource.

  44. 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

  45. 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.

  46. 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.

  47. 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 role or creds should be configured.

    logGroupArn

    An Amazon Resource Name specifying the CloudWatch Logs group to deposit events into.

  48. 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 role or creds should be configured.

    deliveryStreamArn

    An Amazon Resource Name specifying the Firehose delivery stream to deposit events into.

  49. 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 role or creds should be configured.

    streamArn

    An Amazon Resource Name specifying the Kinesis stream to deposit events into.

  50. 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

  51. 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

  52. 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 id parameter 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

  53. 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 backends parameter as a scala.List of HttpResponseBackend

    uri

    the value of the uri parameter as a java.net.URI

    nextPageUri

    the value of the next_page_uri parameter as a java.net.URI

  54. 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_termination parameter as a EndpointTlsTermination

    routes

    routes

  55. 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

  56. 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

  57. 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.

  58. 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

  59. 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 allow or deny

  60. 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

  61. 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

  62. 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

  63. 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

  64. 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

  65. trait Pageable extends AnyRef

    Trait indicating a resource type that can have more than one page of responses.

  66. 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

  67. 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)

  68. 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

  69. 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.

  70. 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

  71. 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.

  72. 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

  73. 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

  74. 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

  75. 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

  76. 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 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.

  77. 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

  78. 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 of rsa, ecdsa or ed25519

    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.pub certificate file on disk that should be referenced in your sshd_config configuration file with a HostCertificate directive

  79. 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

  80. 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 of rsa, ecdsa or ed25519

    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-command and source-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.pub certificate file on disk that should be referenced in your sshd_config configuration file with a HostCertificate directive

  81. 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

  82. 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_restriction parameter as a EndpointIpPolicy

  83. 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

  84. 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

  85. 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

  86. 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

  87. 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_restriction parameter as a EndpointIpPolicy

    mutualTls

    the value of the mutual_tls parameter as a EndpointMutualTls

    tlsTermination

    the value of the tls_termination parameter as a EndpointTlsTermination

  88. 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

  89. 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, tcp or tls

    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.

  90. 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

  91. 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

  92. 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

  93. 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/v2 or ssh

    uri

    URI to the API resource of the tunnel session

  94. 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

  95. 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]

  96. 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

  1. object AbuseReport extends Serializable
  2. object AbuseReportHostname extends Serializable
  3. object AgentIngress extends Serializable
  4. object AgentIngressList extends Serializable
  5. object ApiKey extends Serializable
  6. object ApiKeyList extends Serializable
  7. object AwsAuth extends Serializable
  8. object AwsCredentials extends Serializable
  9. object AwsRole extends Serializable
  10. object CertificateAuthority extends Serializable
  11. object CertificateAuthorityList extends Serializable
  12. object Credential extends Serializable
  13. object CredentialList extends Serializable
  14. object Endpoint extends Serializable
  15. object EndpointBackend extends Serializable
  16. object EndpointBackendMutate extends Serializable
  17. object EndpointCircuitBreaker extends Serializable
  18. object EndpointCompression extends Serializable
  19. object EndpointIpPolicy extends Serializable
  20. object EndpointIpPolicyMutate extends Serializable
  21. object EndpointList extends Serializable
  22. object EndpointMutualTls extends Serializable
  23. object EndpointMutualTlsMutate extends Serializable
  24. object EndpointOAuth extends Serializable
  25. object EndpointOAuthFacebook extends Serializable
  26. object EndpointOAuthGitHub extends Serializable
  27. object EndpointOAuthGoogle extends Serializable
  28. object EndpointOAuthMicrosoft extends Serializable
  29. object EndpointOAuthProvider extends Serializable
  30. object EndpointOidc extends Serializable
  31. object EndpointRequestHeaders extends Serializable
  32. object EndpointResponseHeaders extends Serializable
  33. object EndpointSaml extends Serializable
  34. object EndpointSamlMutate extends Serializable
  35. object EndpointTlsTermination extends Serializable
  36. object EndpointTlsTerminationAtEdge extends Serializable
  37. object EndpointWebhookValidation extends Serializable
  38. object EndpointWebsocketTcpConverter extends Serializable
  39. object EventDestination extends Serializable
  40. object EventDestinationList extends Serializable
  41. object EventSource extends Serializable
  42. object EventSourceList extends Serializable
  43. object EventSourceReplace extends Serializable
  44. object EventSubscription extends Serializable
  45. object EventSubscriptionList extends Serializable
  46. object EventTarget extends Serializable
  47. object EventTargetCloudwatchLogs extends Serializable
  48. object EventTargetFirehose extends Serializable
  49. object EventTargetKinesis extends Serializable
  50. object FailoverBackend extends Serializable
  51. object FailoverBackendList extends Serializable
  52. object HttpResponseBackend extends Serializable
  53. object HttpResponseBackendList extends Serializable
  54. object HttpsEdge extends Serializable
  55. object HttpsEdgeList extends Serializable
  56. object HttpsEdgeRoute extends Serializable
  57. object IpPolicy extends Serializable
  58. object IpPolicyList extends Serializable
  59. object IpPolicyRule extends Serializable
  60. object IpPolicyRuleList extends Serializable
  61. object IpRestriction extends Serializable
  62. object IpRestrictionList extends Serializable
  63. object NgrokApiError extends Serializable
  64. object NgrokApiErrorCode
  65. object NgrokApiErrorHttpStatus
  66. object Ref extends Serializable
  67. object ReservedAddr extends Serializable
  68. object ReservedAddrList extends Serializable
  69. object ReservedDomain extends Serializable
  70. object ReservedDomainCertJob extends Serializable
  71. object ReservedDomainCertPolicy extends Serializable
  72. object ReservedDomainCertStatus extends Serializable
  73. object ReservedDomainList extends Serializable
  74. object SshCertificateAuthority extends Serializable
  75. object SshCertificateAuthorityList extends Serializable
  76. object SshCredential extends Serializable
  77. object SshCredentialList extends Serializable
  78. object SshHostCertificate extends Serializable
  79. object SshHostCertificateList extends Serializable
  80. object SshUserCertificate extends Serializable
  81. object SshUserCertificateList extends Serializable
  82. object TcpEdge extends Serializable
  83. object TcpEdgeList extends Serializable
  84. object TlsCertificate extends Serializable
  85. object TlsCertificateList extends Serializable
  86. object TlsCertificateSaNs extends Serializable
  87. object TlsEdge extends Serializable
  88. object TlsEdgeList extends Serializable
  89. object Tunnel extends Serializable
  90. object TunnelGroupBackend extends Serializable
  91. object TunnelGroupBackendList extends Serializable
  92. object TunnelList extends Serializable
  93. object TunnelSession extends Serializable
  94. object TunnelSessionList extends Serializable
  95. object WeightedBackend extends Serializable
  96. object WeightedBackendList extends Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped