import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { CreateBrokerCommand , CreateBrokerCommandInput , CreateBrokerCommandOutput , } from "./commands/CreateBrokerCommand" ; import { CreateConfigurationCommand , CreateConfigurationCommandInput , CreateConfigurationCommandOutput , } from "./commands/CreateConfigurationCommand" ; import { CreateTagsCommand , CreateTagsCommandInput , CreateTagsCommandOutput } from "./commands/CreateTagsCommand" ; import { CreateUserCommand , CreateUserCommandInput , CreateUserCommandOutput } from "./commands/CreateUserCommand" ; import { DeleteBrokerCommand , DeleteBrokerCommandInput , DeleteBrokerCommandOutput , } from "./commands/DeleteBrokerCommand" ; import { DeleteTagsCommand , DeleteTagsCommandInput , DeleteTagsCommandOutput } from "./commands/DeleteTagsCommand" ; import { DeleteUserCommand , DeleteUserCommandInput , DeleteUserCommandOutput } from "./commands/DeleteUserCommand" ; import { DescribeBrokerCommand , DescribeBrokerCommandInput , DescribeBrokerCommandOutput , } from "./commands/DescribeBrokerCommand" ; import { DescribeBrokerEngineTypesCommand , DescribeBrokerEngineTypesCommandInput , DescribeBrokerEngineTypesCommandOutput , } from "./commands/DescribeBrokerEngineTypesCommand" ; import { DescribeBrokerInstanceOptionsCommand , DescribeBrokerInstanceOptionsCommandInput , DescribeBrokerInstanceOptionsCommandOutput , } from "./commands/DescribeBrokerInstanceOptionsCommand" ; import { DescribeConfigurationCommand , DescribeConfigurationCommandInput , DescribeConfigurationCommandOutput , } from "./commands/DescribeConfigurationCommand" ; import { DescribeConfigurationRevisionCommand , DescribeConfigurationRevisionCommandInput , DescribeConfigurationRevisionCommandOutput , } from "./commands/DescribeConfigurationRevisionCommand" ; import { DescribeUserCommand , DescribeUserCommandInput , DescribeUserCommandOutput , } from "./commands/DescribeUserCommand" ; import { ListBrokersCommand , ListBrokersCommandInput , ListBrokersCommandOutput } from "./commands/ListBrokersCommand" ; import { ListConfigurationRevisionsCommand , ListConfigurationRevisionsCommandInput , ListConfigurationRevisionsCommandOutput , } from "./commands/ListConfigurationRevisionsCommand" ; import { ListConfigurationsCommand , ListConfigurationsCommandInput , ListConfigurationsCommandOutput , } from "./commands/ListConfigurationsCommand" ; import { ListTagsCommand , ListTagsCommandInput , ListTagsCommandOutput } from "./commands/ListTagsCommand" ; import { ListUsersCommand , ListUsersCommandInput , ListUsersCommandOutput } from "./commands/ListUsersCommand" ; import { RebootBrokerCommand , RebootBrokerCommandInput , RebootBrokerCommandOutput , } from "./commands/RebootBrokerCommand" ; import { UpdateBrokerCommand , UpdateBrokerCommandInput , UpdateBrokerCommandOutput , } from "./commands/UpdateBrokerCommand" ; import { UpdateConfigurationCommand , UpdateConfigurationCommandInput , UpdateConfigurationCommandOutput , } from "./commands/UpdateConfigurationCommand" ; import { UpdateUserCommand , UpdateUserCommandInput , UpdateUserCommandOutput } from "./commands/UpdateUserCommand" ; import { MqClient } from "./MqClient" ; /**
 * <p>Amazon MQ is a managed message broker service for Apache ActiveMQ and RabbitMQ that makes it easy to set up and operate message brokers in the cloud. A message broker allows software applications and components to communicate using various programming languages, operating systems, and formal messaging protocols.</p>
 */ export class Mq extends MqClient { /**
     * <p>Creates a broker. Note: This API is asynchronous.</p> <p>To create a broker, you must either use the AmazonMQFullAccess IAM policy or include the following EC2 permissions in your IAM policy.</p> <ul><li><p>ec2:CreateNetworkInterface</p> <p>This permission is required to allow Amazon MQ to create an elastic network interface (ENI) on behalf of your account.</p></li> <li><p>ec2:CreateNetworkInterfacePermission</p> <p>This permission is required to attach the ENI to the broker instance.</p></li> <li><p>ec2:DeleteNetworkInterface</p></li> <li><p>ec2:DeleteNetworkInterfacePermission</p></li> <li><p>ec2:DetachNetworkInterface</p></li> <li><p>ec2:DescribeInternetGateways</p></li> <li><p>ec2:DescribeNetworkInterfaces</p></li> <li><p>ec2:DescribeNetworkInterfacePermissions</p></li> <li><p>ec2:DescribeRouteTables</p></li> <li><p>ec2:DescribeSecurityGroups</p></li> <li><p>ec2:DescribeSubnets</p></li> <li><p>ec2:DescribeVpcs</p></li></ul> <p>For more information, see <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/amazon-mq-setting-up.html#create-iam-user">Create an IAM User and Get Your AWS Credentials</a> and <a href="https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/connecting-to-amazon-mq.html#never-modify-delete-elastic-network-interface">Never Modify or Delete the Amazon MQ Elastic Network Interface</a> in the <i>Amazon MQ Developer Guide</i>.</p>
     */ public createBroker ( args , options ? ) ; public createBroker ( args , cb ) ; public createBroker ( args , options , cb ) ; public createBroker ( args , optionsOrCb ? , cb ? ) { const command = new CreateBrokerCommand ( 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 configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version).</p>
     */ public createConfiguration ( args , options ? ) ; public createConfiguration ( args , cb ) ; public createConfiguration ( args , options , cb ) ; public createConfiguration ( args , optionsOrCb ? , cb ? ) { const command = new CreateConfigurationCommand ( 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>Add a tag to a resource.</p>
     */ public createTags ( args , options ? ) ; public createTags ( args , cb ) ; public createTags ( args , options , cb ) ; public createTags ( args , optionsOrCb ? , cb ? ) { const command = new CreateTagsCommand ( 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 an ActiveMQ user.</p>
     */ public createUser ( args , options ? ) ; public createUser ( args , cb ) ; public createUser ( args , options , cb ) ; public createUser ( args , optionsOrCb ? , cb ? ) { const command = new CreateUserCommand ( 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>Deletes a broker. Note: This API is asynchronous.</p>
     */ public deleteBroker ( args , options ? ) ; public deleteBroker ( args , cb ) ; public deleteBroker ( args , options , cb ) ; public deleteBroker ( args , optionsOrCb ? , cb ? ) { const command = new DeleteBrokerCommand ( 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 deleteTags ( args , options ? ) ; public deleteTags ( args , cb ) ; public deleteTags ( args , options , cb ) ; public deleteTags ( args , optionsOrCb ? , cb ? ) { const command = new DeleteTagsCommand ( 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>Deletes an ActiveMQ user.</p>
     */ public deleteUser ( args , options ? ) ; public deleteUser ( args , cb ) ; public deleteUser ( args , options , cb ) ; public deleteUser ( args , optionsOrCb ? , cb ? ) { const command = new DeleteUserCommand ( 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>Returns information about the specified broker.</p>
     */ public describeBroker ( args , options ? ) ; public describeBroker ( args , cb ) ; public describeBroker ( args , options , cb ) ; public describeBroker ( args , optionsOrCb ? , cb ? ) { const command = new DescribeBrokerCommand ( 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>Describe available engine types and versions.</p>
     */ public describeBrokerEngineTypes ( args , options ? ) ; public describeBrokerEngineTypes ( args , cb ) ; public describeBrokerEngineTypes ( args , options , cb ) ; public describeBrokerEngineTypes ( args , optionsOrCb ? , cb ? ) { const command = new DescribeBrokerEngineTypesCommand ( 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>Describe available broker instance options.</p>
     */ public describeBrokerInstanceOptions ( args , options ? ) ; public describeBrokerInstanceOptions ( args , cb ) ; public describeBrokerInstanceOptions ( args , options , cb ) ; public describeBrokerInstanceOptions ( args , optionsOrCb ? , cb ? ) { const command = new DescribeBrokerInstanceOptionsCommand ( 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>Returns information about the specified configuration.</p>
     */ public describeConfiguration ( args , options ? ) ; public describeConfiguration ( args , cb ) ; public describeConfiguration ( args , options , cb ) ; public describeConfiguration ( args , optionsOrCb ? , cb ? ) { const command = new DescribeConfigurationCommand ( 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>Returns the specified configuration revision for the specified configuration.</p>
     */ public describeConfigurationRevision ( args , options ? ) ; public describeConfigurationRevision ( args , cb ) ; public describeConfigurationRevision ( args , options , cb ) ; public describeConfigurationRevision ( args , optionsOrCb ? , cb ? ) { const command = new DescribeConfigurationRevisionCommand ( 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>Returns information about an ActiveMQ user.</p>
     */ public describeUser ( args , options ? ) ; public describeUser ( args , cb ) ; public describeUser ( args , options , cb ) ; public describeUser ( args , optionsOrCb ? , cb ? ) { const command = new DescribeUserCommand ( 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>Returns a list of all brokers.</p>
     */ public listBrokers ( args , options ? ) ; public listBrokers ( args , cb ) ; public listBrokers ( args , options , cb ) ; public listBrokers ( args , optionsOrCb ? , cb ? ) { const command = new ListBrokersCommand ( 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>Returns a list of all revisions for the specified configuration.</p>
     */ public listConfigurationRevisions ( args , options ? ) ; public listConfigurationRevisions ( args , cb ) ; public listConfigurationRevisions ( args , options , cb ) ; public listConfigurationRevisions ( args , optionsOrCb ? , cb ? ) { const command = new ListConfigurationRevisionsCommand ( 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>Returns a list of all configurations.</p>
     */ public listConfigurations ( args , options ? ) ; public listConfigurations ( args , cb ) ; public listConfigurations ( args , options , cb ) ; public listConfigurations ( args , optionsOrCb ? , cb ? ) { const command = new ListConfigurationsCommand ( 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 tags for a resource.</p>
     */ public listTags ( args , options ? ) ; public listTags ( args , cb ) ; public listTags ( args , options , cb ) ; public listTags ( args , optionsOrCb ? , cb ? ) { const command = new ListTagsCommand ( 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>Returns a list of all ActiveMQ users.</p>
     */ public listUsers ( args , options ? ) ; public listUsers ( args , cb ) ; public listUsers ( args , options , cb ) ; public listUsers ( args , optionsOrCb ? , cb ? ) { const command = new ListUsersCommand ( 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>Reboots a broker. Note: This API is asynchronous.</p>
     */ public rebootBroker ( args , options ? ) ; public rebootBroker ( args , cb ) ; public rebootBroker ( args , options , cb ) ; public rebootBroker ( args , optionsOrCb ? , cb ? ) { const command = new RebootBrokerCommand ( 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>Adds a pending configuration change to a broker.</p>
     */ public updateBroker ( args , options ? ) ; public updateBroker ( args , cb ) ; public updateBroker ( args , options , cb ) ; public updateBroker ( args , optionsOrCb ? , cb ? ) { const command = new UpdateBrokerCommand ( 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>Updates the specified configuration.</p>
     */ public updateConfiguration ( args , options ? ) ; public updateConfiguration ( args , cb ) ; public updateConfiguration ( args , options , cb ) ; public updateConfiguration ( args , optionsOrCb ? , cb ? ) { const command = new UpdateConfigurationCommand ( 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>Updates the information for an ActiveMQ user.</p>
     */ public updateUser ( args , options ? ) ; public updateUser ( args , cb ) ; public updateUser ( args , options , cb ) ; public updateUser ( args , optionsOrCb ? , cb ? ) { const command = new UpdateUserCommand ( 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 ) ; } } }