This template creates an Amazon MQ broker for RabbitMQ. It provisions a single-instance RabbitMQ broker with specified configurations, such as engine version, instance type, maintenance window, security groups, and subnet IDs. The template also allows you to specify a password for the Amazon MQ user.

CloudFormation Template

AWSTemplateFormatVersion: '2010-09-09'
Description: Amazon MQ Broker for RabbitMQ
Parameters:
  PasswordParameter:
    Description: The password for the Amazon MQ user
    Type: String
    NoEcho: true
    MinLength: '12'
Resources:
  ComplexBroker:
    Type: 'AWS::AmazonMQ::Broker'
    Properties:
      AutoMinorVersionUpgrade: "true"
      BrokerName: "MyComplexRabbitBroker"
      DeploymentMode: "SINGLE_INSTANCE"
      EngineType: "RABBITMQ"
      EngineVersion: 3.8.6
      HostInstanceType: "mq.t3.micro"
      Logs:
        General: true
      MaintenanceWindowStartTime:
        DayOfWeek: "Monday"
        TimeOfDay: "22:45"
        TimeZone: "America/Los_Angeles"
      PubliclyAccessible: "false"
      SecurityGroups:
        - "sg-1a234b5cd6efgh7i8"
      SubnetIds:
        - "subnet-123456b7891abcd1f"
      Users:
        - Password:
            Ref: "PasswordParameter"
          Username: "AmazonMqUsername"