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
Name Type Required Description
broker-id String True

The unique ID that Amazon MQ generates for the broker.

Responses
Status code Response model Description
200 DescribeBrokerOutput

HTTP Status Code 200: OK.

400 Error

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

403 Error

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

404 Error

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

500 Error

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
Name Type Required Description
broker-id String True

The unique ID that Amazon MQ generates for the broker.

Responses
Status code Response model Description
200 UpdateBrokerOutput

HTTP Status Code 200: OK.

400 Error

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

403 Error

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

404 Error

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

409 Error

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

500 Error

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
Name Type Required Description
broker-id String True

The unique ID that Amazon MQ generates for the broker.

Responses
Status code Response model Description
200 DeleteBrokerOutput

HTTP Status Code 200: OK.

400 Error

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

403 Error

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

404 Error

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

500 Error

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

Schemas

Request bodies

{ "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, "engineType": enum, "brokerInstances": [ { "endpoints": [ "string" ], "consoleURL": "string", "ipAddress": "string" } ], "hostInstanceType": "string", "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" ], "engineVersion": "string", "pendingHostInstanceType": "string", "brokerArn": "string", "brokerId": "string", "deploymentMode": enum, "maintenanceWindowStartTime": { "dayOfWeek": enum, "timeZone": "string", "timeOfDay": "string" }, "created": "string", "authenticationStrategy": enum, "users": [ { "pendingChange": enum, "username": "string" } ], "tags": { }, "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" }, "storageType": enum, "securityGroups": [ "string" ], "brokerName": "string", "autoMinorVersionUpgrade": boolean }
{ "engineVersion": "string", "brokerId": "string", "maintenanceWindowStartTime": { "dayOfWeek": enum, "timeZone": "string", "timeOfDay": "string" }, "configuration": { "id": "string", "revision": integer }, "authenticationStrategy": enum, "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 }, "hostInstanceType": "string", "autoMinorVersionUpgrade": boolean }
{ "brokerId": "string" }
{ "errorAttribute": "string", "message": "string" }

Properties

AuthenticationStrategy

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

  • SIMPLE

  • LDAP

BrokerInstance

Returns information about all brokers.

Property Type Required Description
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

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.

Important

Does not apply to RabbitMQ brokers.

Property Type Required Description
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

Property Type Required Description
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.

DeleteBrokerOutput

Returns information about the deleted broker.

Property Type Required Description
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.

Property Type Required Description
authenticationStrategy

AuthenticationStrategy

False

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

autoMinorVersionUpgrade

boolean

True

Enables automatic upgrades to new minor versions for brokers, as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window of the broker 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.

deploymentMode

DeploymentMode

True

The broker's deployment mode.

encryptionOptions

EncryptionOptions

False

Encryption options for the broker. Does not apply to RabbitMQ brokers.

engineType

EngineType

True

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

engineVersion

string

False

The broker engine's version. For a list of supported engine versions, see Supported engines.

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.

pendingEngineVersion

string

False

The broker engine version to upgrade to. For a list of supported engine versions, see Supported engines.

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

Important

Does not apply to RabbitMQ brokers.

Encryption options for the broker.

Property Type Required Description
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.

Property Type Required Description
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.

Property Type Required Description
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.

Property Type Required Description
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.

Property Type Required Description
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.

Property Type Required Description
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.

Property Type Required Description
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.

Property Type Required Description
authenticationStrategy

AuthenticationStrategy

False

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

autoMinorVersionUpgrade

boolean

False

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

configuration

ConfigurationId

False

A list of information about the configuration.

engineVersion

string

False

The broker engine version. For a list of supported engine versions, see Supported engines.

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.

Property Type Required Description
authenticationStrategy

AuthenticationStrategy

False

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

autoMinorVersionUpgrade

boolean

False

The new boolean value that specifies whether broker engines automatically upgrade to new minor versions as new versions are released and supported by Amazon MQ.

brokerId

string

True

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

configuration

ConfigurationId

False

The ID of the updated configuration.

engineVersion

string

False

The broker engine version to upgrade to. For a list of supported engine versions, see Supported engines.

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.

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.

Property Type Required Description
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.

Property Type Required Description
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