AmazonMQ

2019/07/22 - AmazonMQ - 2 updated api methods

Changes  Adds support for AWS Key Management Service (KMS) to offer server-side encryption. You can now select your own customer managed CMK, or use an AWS managed CMK in your KMS account.

CreateBroker (updated) Link ¶
Changes (request)
{'EncryptionOptions': {'KmsKeyId': 'string', 'UseAwsOwnedKey': 'boolean'}}

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',
    ],
    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 rules (1 minimum, 125 maximum) that authorize connections to brokers.

  • (string) --

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)
{'EncryptionOptions': {'KmsKeyId': 'string', 'UseAwsOwnedKey': 'boolean'}}

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',
    'PubliclyAccessible': True|False,
    'SecurityGroups': [
        'string',
    ],
    '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

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

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

      • (string) --

    • 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.