Broker - Amazon MQ

Broker

A broker is a message broker environment running on Amazon MQ. It is the basic building block of Amazon MQ. For more information about the different components of an Amazon MQ broker, see How Amazon MQ works in the Amazon MQ Developer Guide.

URI

/v1/brokers/broker-id

HTTP methods

GET

Operation ID: DescribeBroker

Returns information about the specified broker.

Path parameters
NameTypeRequiredDescription
broker-idStringTrue

The unique ID that Amazon MQ generates for the broker.

Responses
Status codeResponse modelDescription
200 DescribeBrokerOutput

HTTP Status Code 200: OK.

400Error

HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it.

403Error

HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request.

404Error

HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it.

500Error

HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue.

PUT

Operation ID: UpdateBroker

Adds a pending configuration change to a broker.

Path parameters
NameTypeRequiredDescription
broker-idStringTrue

The unique ID that Amazon MQ generates for the broker.

Responses
Status codeResponse modelDescription
200 UpdateBrokerOutput

HTTP Status Code 200: OK.

400Error

HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it.

403Error

HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request.

404Error

HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it.

409Error

HTTP Status Code 409: Conflict. This broker name already exists. Retry your request with another name.

500Error

HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue.

DELETE

Operation ID: DeleteBroker

Deletes a broker. Note: This API is asynchronous.

Path parameters
NameTypeRequiredDescription
broker-idStringTrue

The unique ID that Amazon MQ generates for the broker.

Responses
Status codeResponse modelDescription
200 DeleteBrokerOutput

HTTP Status Code 200: OK.

400Error

HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it.

403Error

HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request.

404Error

HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it.

500Error

HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue.

OPTIONS

Path parameters
NameTypeRequiredDescription
broker-idStringTrue

The unique ID that Amazon MQ generates for the broker.

Responses
Status codeResponse modelDescription
200None

Default response for CORS method

Schemas

Request bodies

{ "dataReplicationMode": enum, "engineVersion": "string", "maintenanceWindowStartTime": { "dayOfWeek": enum, "timeZone": "string", "timeOfDay": "string" }, "configuration": { "id": "string", "revision": integer }, "authenticationStrategy": enum, "securityGroups": [ "string" ], "ldapServerMetadata": { "roleSearchMatching": "string", "serviceAccountPassword": "string", "roleBase": "string", "hosts": [ "string" ], "roleName": "string", "userBase": "string", "roleSearchSubtree": boolean, "serviceAccountUsername": "string", "userRoleName": "string", "userSearchMatching": "string", "userSearchSubtree": boolean }, "logs": { "general": boolean, "audit": boolean }, "hostInstanceType": "string", "autoMinorVersionUpgrade": boolean }

Response bodies

{ "pendingEngineVersion": "string", "pendingAuthenticationStrategy": enum, "pendingSecurityGroups": [ "string" ], "configurations": { "current": { "id": "string", "revision": integer }, "pending": { "id": "string", "revision": integer }, "history": [ { "id": "string", "revision": integer } ] }, "brokerState": enum, "pendingDataReplicationMode": enum, "engineType": enum, "brokerInstances": [ { "endpoints": [ "string" ], "consoleURL": "string", "ipAddress": "string" } ], "hostInstanceType": "string", "dataReplicationMode": enum, "publiclyAccessible": boolean, "logs": { "generalLogGroup": "string", "general": boolean, "audit": boolean, "pending": { "general": boolean, "audit": boolean }, "auditLogGroup": "string" }, "ldapServerMetadata": { "roleSearchMatching": "string", "roleBase": "string", "hosts": [ "string" ], "roleName": "string", "userBase": "string", "roleSearchSubtree": boolean, "serviceAccountUsername": "string", "userRoleName": "string", "userSearchMatching": "string", "userSearchSubtree": boolean }, "subnetIds": [ "string" ], "pendingHostInstanceType": "string", "engineVersion": "string", "brokerId": "string", "brokerArn": "string", "deploymentMode": enum, "maintenanceWindowStartTime": { "dayOfWeek": enum, "timeZone": "string", "timeOfDay": "string" }, "created": "string", "authenticationStrategy": enum, "users": [ { "pendingChange": enum, "username": "string" } ], "tags": { }, "dataReplicationMetadata": { "dataReplicationCounterpart": { "brokerId": "string", "region": "string" }, "dataReplicationRole": "string" }, "pendingLdapServerMetadata": { "roleSearchMatching": "string", "roleBase": "string", "hosts": [ "string" ], "roleName": "string", "userBase": "string", "roleSearchSubtree": boolean, "serviceAccountUsername": "string", "userRoleName": "string", "userSearchMatching": "string", "userSearchSubtree": boolean }, "encryptionOptions": { "useAwsOwnedKey": boolean, "kmsKeyId": "string" }, "pendingDataReplicationMetadata": { "dataReplicationCounterpart": { "brokerId": "string", "region": "string" }, "dataReplicationRole": "string" }, "storageType": enum, "actionsRequired": [ { "actionRequiredCode": "string", "actionRequiredInfo": "string" } ], "securityGroups": [ "string" ], "brokerName": "string", "autoMinorVersionUpgrade": boolean }
{ "engineVersion": "string", "brokerId": "string", "maintenanceWindowStartTime": { "dayOfWeek": enum, "timeZone": "string", "timeOfDay": "string" }, "configuration": { "id": "string", "revision": integer }, "authenticationStrategy": enum, "pendingDataReplicationMode": enum, "hostInstanceType": "string", "dataReplicationMode": enum, "dataReplicationMetadata": { "dataReplicationCounterpart": { "brokerId": "string", "region": "string" }, "dataReplicationRole": "string" }, "pendingDataReplicationMetadata": { "dataReplicationCounterpart": { "brokerId": "string", "region": "string" }, "dataReplicationRole": "string" }, "securityGroups": [ "string" ], "ldapServerMetadata": { "roleSearchMatching": "string", "roleBase": "string", "hosts": [ "string" ], "roleName": "string", "userBase": "string", "roleSearchSubtree": boolean, "serviceAccountUsername": "string", "userRoleName": "string", "userSearchMatching": "string", "userSearchSubtree": boolean }, "logs": { "general": boolean, "audit": boolean }, "autoMinorVersionUpgrade": boolean }
{ "brokerId": "string" }
{ "errorAttribute": "string", "message": "string" }

Properties

ActionRequired

Action required for a broker.

PropertyTypeRequiredDescription
actionRequiredCode

string

False

The code you can use to find instructions on the action required to resolve your broker issue.

actionRequiredInfo

string

False

Information about the action required to resolve your broker issue.

AuthenticationStrategy

Optional. The authentication strategy used to secure the broker. The default is SIMPLE.

  • SIMPLE

  • LDAP

BrokerInstance

Returns information about all brokers.

PropertyTypeRequiredDescription
consoleURL

string

False

The brokers web console URL.

endpoints

Array of type string

False

The broker's wire-level protocol endpoints.

ipAddress

string

False

The IP address of the Elastic Network Interface (ENI) attached to the broker. Does not apply to RabbitMQ brokers.

BrokerState

The broker's status.

  • CREATION_IN_PROGRESS

  • CREATION_FAILED

  • DELETION_IN_PROGRESS

  • RUNNING

  • REBOOT_IN_PROGRESS

  • CRITICAL_ACTION_REQUIRED

  • REPLICA

BrokerStorageType

The broker's storage type.

Important

EFS is not supported for RabbitMQ engine type.

  • EBS

  • EFS

ChangeType

The type of change pending for the ActiveMQ user.

  • CREATE

  • UPDATE

  • DELETE

ConfigurationId

A list of information about the configuration.

PropertyTypeRequiredDescription
id

string

True

Required. The unique ID that Amazon MQ generates for the configuration.

revision

integer

False

The revision number of the configuration.

Configurations

Broker configuration information

PropertyTypeRequiredDescription
current

ConfigurationId

False

The broker's current configuration.

history

Array of type ConfigurationId

False

The history of configurations applied to the broker.

pending

ConfigurationId

False

The broker's pending configuration.

DataReplicationCounterpart

Specifies a broker in a data replication pair.

PropertyTypeRequiredDescription
brokerId

string

True

Required. The unique broker id generated by Amazon MQ.

region

string

True

Required. The region of the broker.

DataReplicationMetadataOutput

The replication details of the data replication-enabled broker. Only returned if dataReplicationMode or pendingDataReplicationMode is set to CRDR.

PropertyTypeRequiredDescription
dataReplicationCounterpart

DataReplicationCounterpart

False

Describes the replica/primary broker. Only returned if this broker is currently set as a primary or replica in the broker's dataReplicationRole property.

dataReplicationRole

string

True

Defines the role of this broker in a data replication pair. When a replica broker is promoted to primary, this role is interchanged.

DataReplicationMode

Specifies whether a broker is a part of a data replication pair.

  • NONE

  • CRDR

DeleteBrokerOutput

Returns information about the deleted broker.

PropertyTypeRequiredDescription
brokerId

string

False

The unique ID that Amazon MQ generates for the broker.

DeploymentMode

The broker's deployment mode.

  • SINGLE_INSTANCE

  • ACTIVE_STANDBY_MULTI_AZ

  • CLUSTER_MULTI_AZ

DescribeBrokerOutput

Returns information about the specified broker.

PropertyTypeRequiredDescription
actionsRequired

Array of type ActionRequired

False

Actions required for a broker.

authenticationStrategy

AuthenticationStrategy

False

The authentication strategy used to secure the broker. The default is SIMPLE.

autoMinorVersionUpgrade

boolean

True

Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot.

brokerArn

string

False

The broker's Amazon Resource Name (ARN).

brokerId

string

False

The unique ID that Amazon MQ generates for the broker.

brokerInstances

Array of type BrokerInstance

False

A list of information about allocated brokers.

brokerName

string

False

The broker's name. This value must be unique in your AWS account account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets, wildcard characters, or special characters.

brokerState

BrokerState

False

The broker's status.

configurations

Configurations

False

The list of all revisions for the specified configuration.

created

string

Format: date-time

False

The time when the broker was created.

dataReplicationMetadata

DataReplicationMetadataOutput

False

The replication details of the data replication-enabled broker. Only returned if dataReplicationMode is set to CRDR.

dataReplicationMode

DataReplicationMode

False

Describes whether this broker is a part of a data replication pair.

deploymentMode

DeploymentMode

True

The broker's deployment mode.

encryptionOptions

EncryptionOptions

False

Encryption options for the broker.

engineType

EngineType

True

The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.

engineVersion

string

False

The broker engine version. For more information, see the ActiveMQ version management and the RabbitMQ version management sections in the Amazon MQ Developer Guide.

hostInstanceType

string

False

The broker's instance type.

ldapServerMetadata

LdapServerMetadataOutput

False

The metadata of the LDAP server used to authenticate and authorize connections to the broker.

logs

LogsSummary

False

The list of information about logs currently enabled and pending to be deployed for the specified broker.

maintenanceWindowStartTime

WeeklyStartTime

False

The parameters that determine the WeeklyStartTime.

pendingAuthenticationStrategy

AuthenticationStrategy

False

The authentication strategy that will be applied when the broker is rebooted. The default is SIMPLE.

pendingDataReplicationMetadata

DataReplicationMetadataOutput

False

The pending replication details of the data replication-enabled broker. Only returned if pendingDataReplicationMode is set to CRDR.

pendingDataReplicationMode

DataReplicationMode

False

Describes whether this broker will be a part of a data replication pair after reboot.

pendingEngineVersion

string

False

The broker engine version to upgrade to. For more information, see the ActiveMQ version management and the RabbitMQ version management sections in the Amazon MQ Developer Guide.

pendingHostInstanceType

string

False

The broker's host instance type to upgrade to. For a list of supported instance types, see Broker instance types.

pendingLdapServerMetadata

LdapServerMetadataOutput

False

The metadata of the LDAP server that will be used to authenticate and authorize connections to the broker after it is rebooted.

pendingSecurityGroups

Array of type string

False

The list of pending security groups to authorize connections to brokers.

publiclyAccessible

boolean

True

Enables connections from applications outside of the VPC that hosts the broker's subnets.

securityGroups

Array of type string

False

The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.

storageType

BrokerStorageType

False

The broker's storage type.

subnetIds

Array of type string

False

The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones.

tags

object

False

The list of all tags associated with this broker.

users

Array of type UserSummary

False

The list of all broker usernames for the specified broker.

EncryptionOptions

Encryption options for the broker.

PropertyTypeRequiredDescription
kmsKeyId

string

False

The customer master key (CMK) to use for the A AWS KMS (KMS). This key is used to encrypt your data at rest. If not provided, Amazon MQ will use a default CMK to encrypt your data.

useAwsOwnedKey

boolean

True

Enables the use of an AWS owned CMK using AWS KMS (KMS). Set to true by default, if no value is provided, for example, for RabbitMQ brokers.

EngineType

The type of broker engine. Amazon MQ supports ActiveMQ and RabbitMQ.

  • ACTIVEMQ

  • RABBITMQ

Error

Returns information about an error.

PropertyTypeRequiredDescription
errorAttribute

string

False

The attribute which caused the error.

message

string

False

The explanation of the error.

LdapServerMetadataInput

Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker.

Important

Does not apply to RabbitMQ brokers.

PropertyTypeRequiredDescription
hosts

Array of type string

True

Specifies the location of the LDAP server such as AWS Directory Service for Microsoft Active Directory. Optional failover server.

roleBase

string

True

The distinguished name of the node in the directory information tree (DIT) to search for roles or groups. For example, ou=group, ou=corp, dc=corp, dc=example, dc=com.

roleName

string

False

Specifies the LDAP attribute that identifies the group name attribute in the object returned from the group membership query.

roleSearchMatching

string

True

The LDAP search filter used to find roles within the roleBase. The distinguished name of the user matched by userSearchMatching is substituted into the {0} placeholder in the search filter. The client's username is substituted into the {1} placeholder. For example, if you set this option to (member=uid={1})for the user janedoe, the search filter becomes (member=uid=janedoe) after string substitution. It matches all role entries that have a member attribute equal to uid=janedoe under the subtree selected by the roleBase.

roleSearchSubtree

boolean

False

The directory search scope for the role. If set to true, scope is to search the entire subtree.

serviceAccountPassword

string

True

Service account password. A service account is an account in your LDAP server that has access to initiate a connection. For example, cn=admin,dc=corp, dc=example, dc=com.

serviceAccountUsername

string

True

Service account username. A service account is an account in your LDAP server that has access to initiate a connection. For example, cn=admin,dc=corp, dc=example, dc=com.

userBase

string

True

Select a particular subtree of the directory information tree (DIT) to search for user entries. The subtree is specified by a DN, which specifies the base node of the subtree. For example, by setting this option to ou=Users,ou=corp, dc=corp, dc=example, dc=com, the search for user entries is restricted to the subtree beneath ou=Users, ou=corp, dc=corp, dc=example, dc=com.

userRoleName

string

False

Specifies the name of the LDAP attribute for the user group membership.

userSearchMatching

string

True

The LDAP search filter used to find users within the userBase. The client's username is substituted into the {0} placeholder in the search filter. For example, if this option is set to (uid={0}) and the received username is janedoe, the search filter becomes (uid=janedoe) after string substitution. It will result in matching an entry like uid=janedoe, ou=Users,ou=corp, dc=corp, dc=example, dc=com.

userSearchSubtree

boolean

False

The directory search scope for the user. If set to true, scope is to search the entire subtree.

LdapServerMetadataOutput

Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker.

PropertyTypeRequiredDescription
hosts

Array of type string

True

Specifies the location of the LDAP server such as AWS Directory Service for Microsoft Active Directory. Optional failover server.

roleBase

string

True

The distinguished name of the node in the directory information tree (DIT) to search for roles or groups. For example, ou=group, ou=corp, dc=corp, dc=example, dc=com.

roleName

string

False

Specifies the LDAP attribute that identifies the group name attribute in the object returned from the group membership query.

roleSearchMatching

string

True

The LDAP search filter used to find roles within the roleBase. The distinguished name of the user matched by userSearchMatching is substituted into the {0} placeholder in the search filter. The client's username is substituted into the {1} placeholder. For example, if you set this option to (member=uid={1})for the user janedoe, the search filter becomes (member=uid=janedoe) after string substitution. It matches all role entries that have a member attribute equal to uid=janedoe under the subtree selected by the roleBase.

roleSearchSubtree

boolean

False

The directory search scope for the role. If set to true, scope is to search the entire subtree.

serviceAccountUsername

string

True

Service account username. A service account is an account in your LDAP server that has access to initiate a connection. For example, cn=admin,dc=corp, dc=example, dc=com.

userBase

string

True

Select a particular subtree of the directory information tree (DIT) to search for user entries. The subtree is specified by a DN, which specifies the base node of the subtree. For example, by setting this option to ou=Users,ou=corp, dc=corp, dc=example, dc=com, the search for user entries is restricted to the subtree beneath ou=Users, ou=corp, dc=corp, dc=example, dc=com.

userRoleName

string

False

Specifies the name of the LDAP attribute for the user group membership.

userSearchMatching

string

True

The LDAP search filter used to find users within the userBase. The client's username is substituted into the {0} placeholder in the search filter. For example, if this option is set to (uid={0}) and the received username is janedoe, the search filter becomes (uid=janedoe) after string substitution. It will result in matching an entry like uid=janedoe, ou=Users,ou=corp, dc=corp, dc=example, dc=com.

userSearchSubtree

boolean

False

The directory search scope for the user. If set to true, scope is to search the entire subtree.

Logs

The list of information about logs to be enabled for the specified broker.

PropertyTypeRequiredDescription
audit

boolean

False

Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged. Does not apply to RabbitMQ brokers.

general

boolean

False

Enables general logging.

LogsSummary

The list of information about logs currently enabled and pending to be deployed for the specified broker.

PropertyTypeRequiredDescription
audit

boolean

False

Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged.

auditLogGroup

string

False

The location of the CloudWatch Logs log group where audit logs are sent.

general

boolean

True

Enables general logging.

generalLogGroup

string

True

The location of the CloudWatch Logs log group where general logs are sent.

pending

PendingLogs

False

The list of information about logs pending to be deployed for the specified broker.

PendingLogs

The list of information about logs to be enabled for the specified broker.

PropertyTypeRequiredDescription
audit

boolean

False

Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged.

general

boolean

False

Enables general logging.

UpdateBrokerInput

Updates the broker using the specified properties.

PropertyTypeRequiredDescription
authenticationStrategy

AuthenticationStrategy

False

Optional. The authentication strategy used to secure the broker. The default is SIMPLE.

autoMinorVersionUpgrade

boolean

False

Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot.

Note

Must be set to true for ActiveMQ brokers version 5.18 and above and for RabbitMQ brokers version 3.13 and above.

configuration

ConfigurationId

False

A list of information about the configuration.

dataReplicationMode

DataReplicationMode

False

Defines whether this broker is a part of a data replication pair.

engineVersion

string

False

The broker engine version. For more information, see the ActiveMQ version management and the RabbitMQ version management sections in the Amazon MQ Developer Guide.

Note

When upgrading to ActiveMQ version 5.18 and above or RabbitMQ version 3.13 and above, you must have autoMinorVersionUpgrade set to true for the broker.

hostInstanceType

string

False

The broker's host instance type to upgrade to. For a list of supported instance types, see Broker instance types.

ldapServerMetadata

LdapServerMetadataInput

False

Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker. Does not apply to RabbitMQ brokers.

logs

Logs

False

Enables Amazon CloudWatch logging for brokers.

maintenanceWindowStartTime

WeeklyStartTime

False

The parameters that determine the WeeklyStartTime.

securityGroups

Array of type string

False

The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers.

UpdateBrokerOutput

Returns information about the updated broker.

PropertyTypeRequiredDescription
authenticationStrategy

AuthenticationStrategy

False

Optional. The authentication strategy used to secure the broker. The default is SIMPLE.

autoMinorVersionUpgrade

boolean

False

Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot.

brokerId

string

True

Required. The unique ID that Amazon MQ generates for the broker.

configuration

ConfigurationId

False

The ID of the updated configuration.

dataReplicationMetadata

DataReplicationMetadataOutput

False

The replication details of the data replication-enabled broker. Only returned if dataReplicationMode is set to CRDR.

dataReplicationMode

DataReplicationMode

False

Describes whether this broker is a part of a data replication pair.

engineVersion

string

False

The broker engine version to upgrade to. For more information, see the ActiveMQ version management and the RabbitMQ version management sections in the Amazon MQ Developer Guide.

hostInstanceType

string

False

The broker's host instance type to upgrade to. For a list of supported instance types, see Broker instance types.

ldapServerMetadata

LdapServerMetadataOutput

False

Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker. Does not apply to RabbitMQ brokers.

logs

Logs

False

The list of information about logs to be enabled for the specified broker.

maintenanceWindowStartTime

WeeklyStartTime

False

The parameters that determine the WeeklyStartTime.

pendingDataReplicationMetadata

DataReplicationMetadataOutput

False

The pending replication details of the data replication-enabled broker. Only returned if pendingDataReplicationMode is set to CRDR.

pendingDataReplicationMode

DataReplicationMode

False

Describes whether this broker will be a part of a data replication pair after reboot.

securityGroups

Array of type string

False

The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers.

UserSummary

Returns a list of all broker users. Does not apply to RabbitMQ brokers.

PropertyTypeRequiredDescription
pendingChange

ChangeType

False

The type of change pending for the broker user.

username

string

True

Required. The username of the broker user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.

WeeklyStartTime

The scheduled time period relative to UTC during which Amazon MQ begins to apply pending updates or patches to the broker.

PropertyTypeRequiredDescription
dayOfWeek

string

Values: MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY | SATURDAY | SUNDAY

True

Required. The day of the week.

timeOfDay

string

True

Required. The time, in 24-hour format.

timeZone

string

False

The time zone, UTC by default, in either the Country/City format, or the UTC offset format.

See also

For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

DescribeBroker

UpdateBroker

DeleteBroker