77 lines
3.1 KiB
TypeScript
77 lines
3.1 KiB
TypeScript
|
import { TunnelConnectionMode } from './tunnelConnectionMode';
|
||
|
/**
|
||
|
* Base class for tunnel connection parameters.
|
||
|
*
|
||
|
* A tunnel endpoint specifies how and where hosts and clients can connect to a tunnel.
|
||
|
* There is a subclass for each connection mode, each having different connection
|
||
|
* parameters. A tunnel may have multiple endpoints for one host (or multiple hosts), and
|
||
|
* clients can select their preferred endpoint(s) from those depending on network
|
||
|
* environment or client capabilities.
|
||
|
*/
|
||
|
export interface TunnelEndpoint {
|
||
|
/**
|
||
|
* Gets or sets the ID of this endpoint.
|
||
|
*/
|
||
|
id?: string;
|
||
|
/**
|
||
|
* Gets or sets the connection mode of the endpoint.
|
||
|
*
|
||
|
* This property is required when creating or updating an endpoint. The subclass type
|
||
|
* is also an indication of the connection mode, but this property is necessary to
|
||
|
* determine the subclass type when deserializing.
|
||
|
*/
|
||
|
connectionMode: TunnelConnectionMode;
|
||
|
/**
|
||
|
* Gets or sets the ID of the host that is listening on this endpoint.
|
||
|
*
|
||
|
* This property is required when creating or updating an endpoint. If the host
|
||
|
* supports multiple connection modes, the host's ID is the same for all the endpoints
|
||
|
* it supports. However different hosts may simultaneously accept connections at
|
||
|
* different endpoints for the same tunnel, if enabled in tunnel options.
|
||
|
*/
|
||
|
hostId: string;
|
||
|
/**
|
||
|
* Gets or sets an array of public keys, which can be used by clients to authenticate
|
||
|
* the host.
|
||
|
*/
|
||
|
hostPublicKeys?: string[];
|
||
|
/**
|
||
|
* Gets or sets a string used to format URIs where a web client can connect to ports
|
||
|
* of the tunnel. The string includes a {@link TunnelEndpoint.portToken} that must be
|
||
|
* replaced with the actual port number.
|
||
|
*/
|
||
|
portUriFormat?: string;
|
||
|
/**
|
||
|
* Gets or sets the URI where a web client can connect to the default port of the
|
||
|
* tunnel.
|
||
|
*/
|
||
|
tunnelUri?: string;
|
||
|
/**
|
||
|
* Gets or sets a string used to format ssh command where ssh client can connect to
|
||
|
* shared ssh port of the tunnel. The string includes a {@link
|
||
|
* TunnelEndpoint.portToken} that must be replaced with the actual port number.
|
||
|
*/
|
||
|
portSshCommandFormat?: string;
|
||
|
/**
|
||
|
* Gets or sets the Ssh command where the Ssh client can connect to the default ssh
|
||
|
* port of the tunnel.
|
||
|
*/
|
||
|
tunnelSshCommand?: string;
|
||
|
/**
|
||
|
* Gets or sets the Ssh gateway public key which should be added to the
|
||
|
* authorized_keys file so that tunnel service can connect to the shared ssh server.
|
||
|
*/
|
||
|
sshGatewayPublicKey?: string;
|
||
|
}
|
||
|
/**
|
||
|
* Token included in {@link TunnelEndpoint.portUriFormat} and {@link
|
||
|
* TunnelEndpoint.portSshCommandFormat} that is to be replaced by a specified port number.
|
||
|
*/
|
||
|
export declare const portToken = "{port}";
|
||
|
import { getPortUri, getPortSshCommand } from './tunnelEndpointStatics';
|
||
|
export declare const TunnelEndpoint: {
|
||
|
portToken: string;
|
||
|
getPortUri: typeof getPortUri;
|
||
|
getPortSshCommand: typeof getPortSshCommand;
|
||
|
};
|
||
|
//# sourceMappingURL=tunnelEndpoint.d.ts.map
|