aws-crt
Version:
NodeJS bindings to the aws-c-* libraries
71 lines (70 loc) • 3.01 kB
TypeScript
import { SocketOptions } from "./io";
import { MqttConnectionConfig, MqttWill } from "./mqtt";
/** Creates a MqttConnectionConfig to simplify configuring a connection to IoT services */
export declare class AwsIotMqttConnectionConfigBuilder {
private params;
private constructor();
/**
* Creates a new builder using MQTT over websockets (the only option in browser)
*/
static new_builder_for_websocket(): AwsIotMqttConnectionConfigBuilder;
/**
* Configures the IoT endpoint for this connection
* @param endpoint The IoT endpoint to connect to
*/
with_endpoint(endpoint: string): this;
/**
* The port to connect to on the IoT endpoint
* @param port The port to connect to on the IoT endpoint. Usually 8883 for MQTT, or 443 for websockets
*/
with_client_id(client_id: string): this;
/**
* Determines whether or not the service should try to resume prior subscriptions, if it has any
* @param clean_session true if the session should drop prior subscriptions when this client connects, false to resume the session
*/
with_clean_session(clean_session: boolean): this;
/**
* Configures the connection to use MQTT over websockets. No-op in the browser.
*/
with_use_websockets(): this;
/**
* Configures MQTT keep-alive via PING messages. Note that this is not TCP keepalive.
* @param keep_alive How often in seconds to send an MQTT PING message to the service to keep the connection alive
*/
with_keep_alive_seconds(keep_alive: number): this;
/**
* Configures the TCP socket timeout (in milliseconds)
* @param timeout_ms TCP socket timeout
*/
with_timeout_ms(timeout_ms: number): this;
/**
* Configures the will message to be sent when this client disconnects
* @param will The will topic, qos, and message
*/
with_will(will: MqttWill): this;
/**
* Configures the common settings for the socket to use when opening a connection to the server
* @param socket_options The socket settings
*/
with_socket_options(socket_options: SocketOptions): this;
/**
* Allows additional headers to be sent when establishing a websocket connection. Useful for custom authentication.
* @param headers Additional headers to send during websocket connect
*/
with_websocket_headers(headers: {
[index: string]: string;
}): this;
/**
* Configures AWS credentials (usually from Cognito) for this connection
* @param aws_region The service region to connect to
* @param aws_access_id IAM Access ID
* @param aws_secret_key IAM Secret Key
* @param aws_sts_token STS token from Cognito (optional)
*/
with_credentials(aws_region: string, aws_access_id: string, aws_secret_key: string, aws_sts_token?: string): this;
/**
* Returns the configured MqttConnectionConfig
* @returns The configured MqttConnectionConfig
*/
build(): MqttConnectionConfig;
}