AmazonMQ

2019/12/16 - AmazonMQ - 3 updated api methods

Changes  Amazon MQ now supports throughput-optimized message brokers, backed by Amazon EBS.

CreateBroker (updated) Link ¶
Changes (request)
{'StorageType': 'EBS | EFS'}

Creates a broker. Note: This API is asynchronous.

See also: AWS API Documentation

Request Syntax

client.create_broker(
    AutoMinorVersionUpgrade=True|False,
    BrokerName='string',
    Configuration={
        'Id': 'string',
        'Revision': 123
    },
    CreatorRequestId='string',
    DeploymentMode='SINGLE_INSTANCE'|'ACTIVE_STANDBY_MULTI_AZ',
    EncryptionOptions={
        'KmsKeyId': 'string',
        'UseAwsOwnedKey': True|False
    },
    EngineType='ACTIVEMQ',
    EngineVersion='string',
    HostInstanceType='string',
    Logs={
        'Audit': True|False,
        'General': True|False
    },
    MaintenanceWindowStartTime={
        'DayOfWeek': 'MONDAY'|'TUESDAY'|'WEDNESDAY'|'THURSDAY'|'FRIDAY'|'SATURDAY'|'SUNDAY',
        'TimeOfDay': 'string',
        'TimeZone': 'string'
    },
    PubliclyAccessible=True|False,
    SecurityGroups=[
        'string',
    ],
    StorageType='EBS'|'EFS',
    SubnetIds=[
        'string',
    ],
    Tags={
        'string': 'string'
    },
    Users=[
        {
            'ConsoleAccess': True|False,
            'Groups': [
                'string',
            ],
            'Password': 'string',
            'Username': 'string'
        },
    ]
)
type AutoMinorVersionUpgrade

boolean

param AutoMinorVersionUpgrade

Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot.

type BrokerName

string

param BrokerName

Required. The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters.

type Configuration

dict

param Configuration

A list of information about the configuration.

  • Id (string) -- Required. The unique ID that Amazon MQ generates for the configuration.

  • Revision (integer) -- The revision number of the configuration.

type CreatorRequestId

string

param CreatorRequestId

The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API action. Note: We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the creatorRequestId if your application doesn't require idempotency.This field is autopopulated if not provided.

type DeploymentMode

string

param DeploymentMode

Required. The deployment mode of the broker.

type EncryptionOptions

dict

param EncryptionOptions

Encryption options for the broker.

  • KmsKeyId (string) -- The customer master key (CMK) to use for the AWS Key Management Service (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) -- [REQUIRED] Enables the use of an AWS owned CMK using AWS Key Management Service (KMS).

type EngineType

string

param EngineType

Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ.

type EngineVersion

string

param EngineVersion

Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html

type HostInstanceType

string

param HostInstanceType

Required. The broker's instance type.

type Logs

dict

param Logs

Enables Amazon CloudWatch logging for brokers.

  • Audit (boolean) -- Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged.

  • General (boolean) -- Enables general logging.

type MaintenanceWindowStartTime

dict

param MaintenanceWindowStartTime

The parameters that determine the WeeklyStartTime.

  • DayOfWeek (string) -- Required. The day of the week.

  • TimeOfDay (string) -- Required. The time, in 24-hour format.

  • TimeZone (string) -- The time zone, UTC by default, in either the Country/City format, or the UTC offset format.

type PubliclyAccessible

boolean

param PubliclyAccessible

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

type SecurityGroups

list

param SecurityGroups

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

  • (string) --

type StorageType

string

param StorageType

The broker's storage type.

type SubnetIds

list

param SubnetIds

The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.

  • (string) --

type Tags

dict

param Tags

Create tags when creating the broker.

  • (string) --

    • (string) --

type Users

list

param Users

Required. The list of ActiveMQ users (persons or applications) who can access queues and topics. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.

  • (dict) -- An ActiveMQ user associated with the broker.

    • ConsoleAccess (boolean) -- Enables access to the the ActiveMQ Web Console for the ActiveMQ user.

    • Groups (list) -- The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.

      • (string) --

    • Password (string) -- Required. The password of the ActiveMQ user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas.

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

rtype

dict

returns

Response Syntax

{
    'BrokerArn': 'string',
    'BrokerId': 'string'
}

Response Structure

  • (dict) -- HTTP Status Code 200: OK.

    • BrokerArn (string) -- The Amazon Resource Name (ARN) of the broker.

    • BrokerId (string) -- The unique ID that Amazon MQ generates for the broker.

DescribeBroker (updated) Link ¶
Changes (response)
{'StorageType': 'EBS | EFS'}

Returns information about the specified broker.

See also: AWS API Documentation

Request Syntax

client.describe_broker(
    BrokerId='string'
)
type BrokerId

string

param BrokerId

[REQUIRED] The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters.

rtype

dict

returns

Response Syntax

{
    'AutoMinorVersionUpgrade': True|False,
    'BrokerArn': 'string',
    'BrokerId': 'string',
    'BrokerInstances': [
        {
            'ConsoleURL': 'string',
            'Endpoints': [
                'string',
            ],
            'IpAddress': 'string'
        },
    ],
    'BrokerName': 'string',
    'BrokerState': 'CREATION_IN_PROGRESS'|'CREATION_FAILED'|'DELETION_IN_PROGRESS'|'RUNNING'|'REBOOT_IN_PROGRESS',
    'Configurations': {
        'Current': {
            'Id': 'string',
            'Revision': 123
        },
        'History': [
            {
                'Id': 'string',
                'Revision': 123
            },
        ],
        'Pending': {
            'Id': 'string',
            'Revision': 123
        }
    },
    'Created': datetime(2015, 1, 1),
    'DeploymentMode': 'SINGLE_INSTANCE'|'ACTIVE_STANDBY_MULTI_AZ',
    'EncryptionOptions': {
        'KmsKeyId': 'string',
        'UseAwsOwnedKey': True|False
    },
    'EngineType': 'ACTIVEMQ',
    'EngineVersion': 'string',
    'HostInstanceType': 'string',
    'Logs': {
        'Audit': True|False,
        'AuditLogGroup': 'string',
        'General': True|False,
        'GeneralLogGroup': 'string',
        'Pending': {
            'Audit': True|False,
            'General': True|False
        }
    },
    'MaintenanceWindowStartTime': {
        'DayOfWeek': 'MONDAY'|'TUESDAY'|'WEDNESDAY'|'THURSDAY'|'FRIDAY'|'SATURDAY'|'SUNDAY',
        'TimeOfDay': 'string',
        'TimeZone': 'string'
    },
    'PendingEngineVersion': 'string',
    'PendingHostInstanceType': 'string',
    'PendingSecurityGroups': [
        'string',
    ],
    'PubliclyAccessible': True|False,
    'SecurityGroups': [
        'string',
    ],
    'StorageType': 'EBS'|'EFS',
    'SubnetIds': [
        'string',
    ],
    'Tags': {
        'string': 'string'
    },
    'Users': [
        {
            'PendingChange': 'CREATE'|'UPDATE'|'DELETE',
            'Username': 'string'
        },
    ]
}

Response Structure

  • (dict) -- HTTP Status Code 200: OK.

    • AutoMinorVersionUpgrade (boolean) -- Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot.

    • BrokerArn (string) -- The Amazon Resource Name (ARN) of the broker.

    • BrokerId (string) -- The unique ID that Amazon MQ generates for the broker.

    • BrokerInstances (list) -- A list of information about allocated brokers.

      • (dict) -- Returns information about all brokers.

        • ConsoleURL (string) -- The URL of the broker's ActiveMQ Web Console.

        • Endpoints (list) -- The broker's wire-level protocol endpoints.

          • (string) --

        • IpAddress (string) -- The IP address of the Elastic Network Interface (ENI) attached to the broker.

    • BrokerName (string) -- The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters.

    • BrokerState (string) -- The status of the broker.

    • Configurations (dict) -- The list of all revisions for the specified configuration.

      • Current (dict) -- The current configuration of the broker.

        • Id (string) -- Required. The unique ID that Amazon MQ generates for the configuration.

        • Revision (integer) -- The revision number of the configuration.

      • History (list) -- The history of configurations applied to the broker.

        • (dict) -- A list of information about the configuration.

          • Id (string) -- Required. The unique ID that Amazon MQ generates for the configuration.

          • Revision (integer) -- The revision number of the configuration.

      • Pending (dict) -- The pending configuration of the broker.

        • Id (string) -- Required. The unique ID that Amazon MQ generates for the configuration.

        • Revision (integer) -- The revision number of the configuration.

    • Created (datetime) -- The time when the broker was created.

    • DeploymentMode (string) -- Required. The deployment mode of the broker.

    • EncryptionOptions (dict) -- Encryption options for the broker.

      • KmsKeyId (string) -- The customer master key (CMK) to use for the AWS Key Management Service (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) -- Enables the use of an AWS owned CMK using AWS Key Management Service (KMS).

    • EngineType (string) -- Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ.

    • EngineVersion (string) -- The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html

    • HostInstanceType (string) -- The broker's instance type.

    • Logs (dict) -- The list of information about logs currently enabled and pending to be deployed for the specified broker.

      • Audit (boolean) -- Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged.

      • AuditLogGroup (string) -- The location of the CloudWatch Logs log group where audit logs are sent.

      • General (boolean) -- Enables general logging.

      • GeneralLogGroup (string) -- The location of the CloudWatch Logs log group where general logs are sent.

      • Pending (dict) -- The list of information about logs pending to be deployed for the specified broker.

        • Audit (boolean) -- Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged.

        • General (boolean) -- Enables general logging.

    • MaintenanceWindowStartTime (dict) -- The parameters that determine the WeeklyStartTime.

      • DayOfWeek (string) -- Required. The day of the week.

      • TimeOfDay (string) -- Required. The time, in 24-hour format.

      • TimeZone (string) -- The time zone, UTC by default, in either the Country/City format, or the UTC offset format.

    • PendingEngineVersion (string) -- The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html

    • PendingHostInstanceType (string) -- The host instance type of the broker to upgrade to. For a list of supported instance types, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide//broker.html#broker-instance-types

    • PendingSecurityGroups (list) -- The list of pending security groups to authorize connections to brokers.

      • (string) --

    • PubliclyAccessible (boolean) -- Required. Enables connections from applications outside of the VPC that hosts the broker's subnets.

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

      • (string) --

    • StorageType (string) -- The broker's storage type.

    • SubnetIds (list) -- The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.

      • (string) --

    • Tags (dict) -- The list of all tags associated with this broker.

      • (string) --

        • (string) --

    • Users (list) -- The list of all ActiveMQ usernames for the specified broker.

      • (dict) -- Returns a list of all ActiveMQ users.

        • PendingChange (string) -- The type of change pending for the ActiveMQ user.

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

DescribeBrokerInstanceOptions (updated) Link ¶
Changes (request, response)
Request
{'StorageType': 'string'}
Response
{'BrokerInstanceOptions': {'StorageType': 'EBS | EFS',
                           'SupportedDeploymentModes': ['SINGLE_INSTANCE | '
                                                        'ACTIVE_STANDBY_MULTI_AZ']}}

Describe available broker instance options.

See also: AWS API Documentation

Request Syntax

client.describe_broker_instance_options(
    EngineType='string',
    HostInstanceType='string',
    MaxResults=123,
    NextToken='string',
    StorageType='string'
)
type EngineType

string

param EngineType

Filter response by engine type.

type HostInstanceType

string

param HostInstanceType

Filter response by host instance type.

type MaxResults

integer

param MaxResults

The maximum number of instance options that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100.

type NextToken

string

param NextToken

The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty.

type StorageType

string

param StorageType

Filter response by storage type.

rtype

dict

returns

Response Syntax

{
    'BrokerInstanceOptions': [
        {
            'AvailabilityZones': [
                {
                    'Name': 'string'
                },
            ],
            'EngineType': 'ACTIVEMQ',
            'HostInstanceType': 'string',
            'StorageType': 'EBS'|'EFS',
            'SupportedDeploymentModes': [
                'SINGLE_INSTANCE'|'ACTIVE_STANDBY_MULTI_AZ',
            ],
            'SupportedEngineVersions': [
                'string',
            ]
        },
    ],
    'MaxResults': 123,
    'NextToken': 'string'
}

Response Structure

  • (dict) -- HTTP Status Code 200: OK.

    • BrokerInstanceOptions (list) -- List of available broker instance options.

      • (dict) -- Option for host instance type.

        • AvailabilityZones (list) -- The list of available az.

          • (dict) -- Name of the availability zone.

            • Name (string) -- Id for the availability zone.

        • EngineType (string) -- The type of broker engine.

        • HostInstanceType (string) -- The type of broker instance.

        • StorageType (string) -- The broker's storage type.

        • SupportedDeploymentModes (list) -- The list of supported deployment modes.

          • (string) -- The deployment mode of the broker.

        • SupportedEngineVersions (list) -- The list of supported engine versions.

          • (string) --

    • MaxResults (integer) -- Required. The maximum number of instance options that can be returned per page (20 by default). This value must be an integer from 5 to 100.

    • NextToken (string) -- The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty.