public static class CreateTunnel.Builder
extends java.lang.Object
CreateTunnel
, which can be used to construct a request that conforms to ngrok
's tunnel definition. See docs for that class for example usage.Constructor and Description |
---|
Builder()
Use this constructor if default values should not be populated in required attributes when
build()
is called. |
Builder(boolean setDefaults)
Use this constructor if default values should be populated in required attributes when
build() is
called. |
Builder(CreateTunnel createTunnel)
Copy a
CreateTunnel in to a new Builder. |
Modifier and Type | Method and Description |
---|---|
CreateTunnel |
build()
Build the
CreateTunnel . |
CreateTunnel.Builder |
withAddr(int addr)
See
withAddr(String) . |
CreateTunnel.Builder |
withAddr(java.lang.String addr)
The local port to which the tunnel will forward traffic, or a
local directory or network address, defaults to "80".
|
CreateTunnel.Builder |
withAuth(java.lang.String auth)
HTTP basic authentication credentials to enforce on tunneled requests.
|
CreateTunnel.Builder |
withBasicAuth(java.util.List<java.lang.String> basicAuth)
List of HTTP basic authentication credentials to enforce on tunneled requests.
|
CreateTunnel.Builder |
withBindTls(BindTls bindTls)
|
CreateTunnel.Builder |
withBindTls(boolean bindTls)
See
withBindTls(BindTls) . |
CreateTunnel.Builder |
withCircuitBreaker(java.lang.Float circuitBreaker)
The circuit breaker trigger.
|
CreateTunnel.Builder |
withCompression(java.lang.Boolean compression)
Whether compression is enabled on this tunnel.
|
CreateTunnel.Builder |
withCrt(java.lang.String crt)
PEM TLS certificate at this path to terminate TLS traffic before forwarding locally.
|
CreateTunnel.Builder |
withDomain(java.lang.String domain)
The tunnel domain.
|
CreateTunnel.Builder |
withHostHeader(java.lang.String hostHeader)
Rewrite the HTTP Host header to this value, or
preserve to leave it unchanged. |
CreateTunnel.Builder |
withIpRestriction(TunnelIPRestriction ipRestriction)
The IP restrictions for the tunnel.
|
CreateTunnel.Builder |
withKey(java.lang.String key)
PEM TLS private key at this path to terminate TLS traffic before forwarding locally.
|
CreateTunnel.Builder |
withMetadata(java.lang.String metadata)
Arbitrary user-defined metadata that will appear in the ngrok service API when listing tunnels.
|
CreateTunnel.Builder |
withMutualTlsCas(java.lang.String mutualTlsCas)
The path to the TLS certificate authority to verify client certs.
|
CreateTunnel.Builder |
withName(java.lang.String name)
A friendly name for the tunnel, or the name of a ngrok tunnel definition defined in
ngrok 's config file. |
CreateTunnel.Builder |
withNgrokVersion(NgrokVersion ngrokVersion)
The major version of
ngrok for which the tunnel will be created. |
CreateTunnel.Builder |
withOAuth(TunnelOAuth oauth)
Set of OAuth settings to enable OAuth authentication on the tunnel endpoint.
|
CreateTunnel.Builder |
withoutInspect()
Disable HTTP request inspection on tunnels.
|
CreateTunnel.Builder |
withPolicyInbound(TunnelPolicy policyInbound)
The inbound policy for the tunnel.
|
CreateTunnel.Builder |
withPolicyOutbound(TunnelPolicy policyOutbound)
The outbound policy for the tunnel.
|
CreateTunnel.Builder |
withPoolingEnabled(java.lang.Boolean poolingEnabled)
Whether pooling is enabled on this tunnel.
|
CreateTunnel.Builder |
withProto(Proto proto)
The tunnel protocol, defaults to
Proto.HTTP . |
CreateTunnel.Builder |
withProxyProto(java.lang.String proxyProto)
The proxy proto.
|
CreateTunnel.Builder |
withRemoteAddr(java.lang.String remoteAddr)
Bind the remote TCP port on the given address.
|
CreateTunnel.Builder |
withRequestHeader(TunnelHeader requestHeader)
The Headers to be added or removed from requests.
|
CreateTunnel.Builder |
withResponseHeader(TunnelHeader responseHeader)
The Headers to be added or removed from responses.
|
CreateTunnel.Builder |
withSchemes(java.util.List<java.lang.String> schemes)
The schemes to be bound.
|
CreateTunnel.Builder |
withSubdomain(java.lang.String subdomain)
Subdomain name to request.
|
CreateTunnel.Builder |
withTerminateAt(java.lang.String terminateAt)
The termination point.
|
CreateTunnel.Builder |
withTunnelDefinition(java.util.Map<java.lang.String,java.lang.Object> tunnelDefinition)
Populate any
null attributes (except for name ) in this Builder with values from the
given tunnelDefinition . |
CreateTunnel.Builder |
withUserAgentFilter(TunnelUserAgentFilter userAgentFilter)
The UserAgent filter for the tunnel.
|
CreateTunnel.Builder |
withVerifyWebhook(TunnelVerifyWebhook verifyWebhook)
The signature for webhooks.
|
CreateTunnel.Builder |
withWebsocketTcpConverter(java.lang.Boolean websocketTcpConverter)
Whether ingress connections are converted to TCP upstream.
|
public Builder()
build()
is called.
If required attributes are not set in the built CreateTunnel
, default values will be used in
methods like NgrokClient.connect(CreateTunnel)
.
public Builder(boolean setDefaults)
build()
is
called.setDefaults
- true
to populate defaults.public Builder(CreateTunnel createTunnel)
CreateTunnel
in to a new Builder. Using this constructor will also set default attributes when
build()
is called.createTunnel
- The CreateTunnel to copy.public CreateTunnel.Builder withNgrokVersion(NgrokVersion ngrokVersion)
ngrok
for which the tunnel will be created.public CreateTunnel.Builder withName(java.lang.String name)
ngrok
's config file.public CreateTunnel.Builder withProto(Proto proto)
Proto.HTTP
.public CreateTunnel.Builder withDomain(java.lang.String domain)
public CreateTunnel.Builder withAddr(java.lang.String addr)
public CreateTunnel.Builder withAddr(int addr)
withAddr(String)
.public CreateTunnel.Builder withoutInspect()
public CreateTunnel.Builder withAuth(java.lang.String auth)
java.lang.IllegalArgumentException
- The argument was invalid.public CreateTunnel.Builder withHostHeader(java.lang.String hostHeader)
preserve
to leave it unchanged.public CreateTunnel.Builder withBindTls(BindTls bindTls)
java.lang.IllegalArgumentException
- The argument was invalid.public CreateTunnel.Builder withBindTls(boolean bindTls)
withBindTls(BindTls)
.public CreateTunnel.Builder withSubdomain(java.lang.String subdomain)
public CreateTunnel.Builder withCrt(java.lang.String crt)
public CreateTunnel.Builder withKey(java.lang.String key)
public CreateTunnel.Builder withRemoteAddr(java.lang.String remoteAddr)
public CreateTunnel.Builder withMetadata(java.lang.String metadata)
public CreateTunnel.Builder withSchemes(java.util.List<java.lang.String> schemes)
java.lang.IllegalArgumentException
- The argument was invalid.public CreateTunnel.Builder withBasicAuth(java.util.List<java.lang.String> basicAuth)
java.lang.IllegalArgumentException
- The argument was invalid.public CreateTunnel.Builder withOAuth(TunnelOAuth oauth)
public CreateTunnel.Builder withCircuitBreaker(java.lang.Float circuitBreaker)
public CreateTunnel.Builder withCompression(java.lang.Boolean compression)
public CreateTunnel.Builder withMutualTlsCas(java.lang.String mutualTlsCas)
public CreateTunnel.Builder withProxyProto(java.lang.String proxyProto)
public CreateTunnel.Builder withWebsocketTcpConverter(java.lang.Boolean websocketTcpConverter)
public CreateTunnel.Builder withTerminateAt(java.lang.String terminateAt)
public CreateTunnel.Builder withRequestHeader(TunnelHeader requestHeader)
public CreateTunnel.Builder withResponseHeader(TunnelHeader responseHeader)
public CreateTunnel.Builder withIpRestriction(TunnelIPRestriction ipRestriction)
public CreateTunnel.Builder withVerifyWebhook(TunnelVerifyWebhook verifyWebhook)
public CreateTunnel.Builder withUserAgentFilter(TunnelUserAgentFilter userAgentFilter)
public CreateTunnel.Builder withPolicyInbound(TunnelPolicy policyInbound)
public CreateTunnel.Builder withPolicyOutbound(TunnelPolicy policyOutbound)
public CreateTunnel.Builder withPoolingEnabled(java.lang.Boolean poolingEnabled)
public CreateTunnel.Builder withTunnelDefinition(java.util.Map<java.lang.String,java.lang.Object> tunnelDefinition)
null
attributes (except for name
) in this Builder with values from the
given tunnelDefinition
.tunnelDefinition
- The map from which null
attributes will be populated.java.lang.IllegalArgumentException
- The argument was invalid.public CreateTunnel build()
CreateTunnel
.