import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { CloseTunnelCommand , CloseTunnelCommandInput , CloseTunnelCommandOutput } from "./commands/CloseTunnelCommand" ; import { DescribeTunnelCommand , DescribeTunnelCommandInput , DescribeTunnelCommandOutput , } from "./commands/DescribeTunnelCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { ListTunnelsCommand , ListTunnelsCommandInput , ListTunnelsCommandOutput } from "./commands/ListTunnelsCommand" ; import { OpenTunnelCommand , OpenTunnelCommandInput , OpenTunnelCommandOutput } from "./commands/OpenTunnelCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { IoTSecureTunnelingClient } from "./IoTSecureTunnelingClient" ; /**
 * <fullname>AWS IoT Secure Tunneling</fullname>
 * 		       <p>AWS IoT Secure Tunnling enables you to create remote connections to devices
 * 			deployed in the field.</p>
 *
 * 		       <p>For more information about how AWS IoT Secure Tunneling works, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/secure-tunneling.html">AWS IoT Secure Tunneling</a>.</p>
 */ export class IoTSecureTunneling extends IoTSecureTunnelingClient { /**
     * <p>Closes a tunnel identified by the unique tunnel id. When a <code>CloseTunnel</code>
     * 			request is received, we close the WebSocket connections between the client and proxy
     * 			server so no data can be transmitted.</p>
     */ public closeTunnel ( args , options ? ) ; public closeTunnel ( args , cb ) ; public closeTunnel ( args , options , cb ) ; public closeTunnel ( args , optionsOrCb ? , cb ? ) { const command = new CloseTunnelCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets information about a tunnel identified by the unique tunnel id.</p>
     */ public describeTunnel ( args , options ? ) ; public describeTunnel ( args , cb ) ; public describeTunnel ( args , options , cb ) ; public describeTunnel ( args , optionsOrCb ? , cb ? ) { const command = new DescribeTunnelCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists the tags for the specified resource.</p>
     */ public listTagsForResource ( args , options ? ) ; public listTagsForResource ( args , cb ) ; public listTagsForResource ( args , options , cb ) ; public listTagsForResource ( args , optionsOrCb ? , cb ? ) { const command = new ListTagsForResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>List all tunnels for an AWS account. Tunnels are listed by creation time in
     * 			descending order, newer tunnels will be listed before older tunnels.</p>
     */ public listTunnels ( args , options ? ) ; public listTunnels ( args , cb ) ; public listTunnels ( args , options , cb ) ; public listTunnels ( args , optionsOrCb ? , cb ? ) { const command = new ListTunnelsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a new tunnel, and returns two client access tokens for clients to use to
     * 			connect to the AWS IoT Secure Tunneling proxy server.</p>
     */ public openTunnel ( args , options ? ) ; public openTunnel ( args , cb ) ; public openTunnel ( args , options , cb ) ; public openTunnel ( args , optionsOrCb ? , cb ? ) { const command = new OpenTunnelCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>A resource tag.</p>
     */ public tagResource ( args , options ? ) ; public tagResource ( args , cb ) ; public tagResource ( args , options , cb ) ; public tagResource ( args , optionsOrCb ? , cb ? ) { const command = new TagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Removes a tag from a resource.</p>
     */ public untagResource ( args , options ? ) ; public untagResource ( args , cb ) ; public untagResource ( args , options , cb ) ; public untagResource ( args , optionsOrCb ? , cb ? ) { const command = new UntagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } }