CfnBrokerPropsMixin

class aws_cdk.mixins_preview.aws_amazonmq.mixins.CfnBrokerPropsMixin(props, *, strategy=None)

Bases: Mixin

Creates a broker. Note: This API is asynchronous.

To create a broker, you must either use the AmazonMQFullAccess IAM policy or include the following EC2 permissions in your IAM policy.

  • ec2:CreateNetworkInterface

This permission is required to allow Amazon MQ to create an elastic network interface (ENI) on behalf of your account.

  • ec2:CreateNetworkInterfacePermission

This permission is required to attach the ENI to the broker instance.

  • ec2:DeleteNetworkInterface

  • ec2:DeleteNetworkInterfacePermission

  • ec2:DetachNetworkInterface

  • ec2:DescribeInternetGateways

  • ec2:DescribeNetworkInterfaces

  • ec2:DescribeNetworkInterfacePermissions

  • ec2:DescribeRouteTables

  • ec2:DescribeSecurityGroups

  • ec2:DescribeSubnets

  • ec2:DescribeVpcs

For more information, see Create an IAM User and Get Your AWS Credentials and Never Modify or Delete the Amazon MQ Elastic Network Interface in the Amazon MQ Developer Guide .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html

CloudformationResource:

AWS::AmazonMQ::Broker

Mixin:

true

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview import mixins
from aws_cdk.mixins_preview.aws_amazonmq import mixins as amazonmq_mixins

cfn_broker_props_mixin = amazonmq_mixins.CfnBrokerPropsMixin(amazonmq_mixins.CfnBrokerMixinProps(
    authentication_strategy="authenticationStrategy",
    auto_minor_version_upgrade=False,
    broker_name="brokerName",
    configuration=amazonmq_mixins.CfnBrokerPropsMixin.ConfigurationIdProperty(
        id="id",
        revision=123
    ),
    data_replication_mode="dataReplicationMode",
    data_replication_primary_broker_arn="dataReplicationPrimaryBrokerArn",
    deployment_mode="deploymentMode",
    encryption_options=amazonmq_mixins.CfnBrokerPropsMixin.EncryptionOptionsProperty(
        kms_key_id="kmsKeyId",
        use_aws_owned_key=False
    ),
    engine_type="engineType",
    engine_version="engineVersion",
    host_instance_type="hostInstanceType",
    ldap_server_metadata=amazonmq_mixins.CfnBrokerPropsMixin.LdapServerMetadataProperty(
        hosts=["hosts"],
        role_base="roleBase",
        role_name="roleName",
        role_search_matching="roleSearchMatching",
        role_search_subtree=False,
        service_account_password="serviceAccountPassword",
        service_account_username="serviceAccountUsername",
        user_base="userBase",
        user_role_name="userRoleName",
        user_search_matching="userSearchMatching",
        user_search_subtree=False
    ),
    logs=amazonmq_mixins.CfnBrokerPropsMixin.LogListProperty(
        audit=False,
        general=False
    ),
    maintenance_window_start_time=amazonmq_mixins.CfnBrokerPropsMixin.MaintenanceWindowProperty(
        day_of_week="dayOfWeek",
        time_of_day="timeOfDay",
        time_zone="timeZone"
    ),
    publicly_accessible=False,
    security_groups=["securityGroups"],
    storage_type="storageType",
    subnet_ids=["subnetIds"],
    tags=[amazonmq_mixins.CfnBrokerPropsMixin.TagsEntryProperty(
        key="key",
        value="value"
    )],
    users=[amazonmq_mixins.CfnBrokerPropsMixin.UserProperty(
        console_access=False,
        groups=["groups"],
        password="password",
        replication_user=False,
        username="username"
    )]
),
    strategy=mixins.PropertyMergeStrategy.OVERRIDE
)

Create a mixin to apply properties to AWS::AmazonMQ::Broker.

Parameters:
  • props (Union[CfnBrokerMixinProps, Dict[str, Any]]) – L1 properties to apply.

  • strategy (Optional[PropertyMergeStrategy]) – (experimental) Strategy for merging nested properties. Default: - PropertyMergeStrategy.MERGE

Methods

apply_to(construct)

Apply the mixin properties to the construct.

Parameters:

construct (IConstruct)

Return type:

IConstruct

supports(construct)

Check if this mixin supports the given construct.

Parameters:

construct (IConstruct)

Return type:

bool

Attributes

CFN_PROPERTY_KEYS = ['authenticationStrategy', 'autoMinorVersionUpgrade', 'brokerName', 'configuration', 'dataReplicationMode', 'dataReplicationPrimaryBrokerArn', 'deploymentMode', 'encryptionOptions', 'engineType', 'engineVersion', 'hostInstanceType', 'ldapServerMetadata', 'logs', 'maintenanceWindowStartTime', 'publiclyAccessible', 'securityGroups', 'storageType', 'subnetIds', 'tags', 'users']

Static Methods

classmethod is_mixin(x)

(experimental) Checks if x is a Mixin.

Parameters:

x (Any) – Any object.

Return type:

bool

Returns:

true if x is an object created from a class which extends Mixin.

Stability:

experimental

ConfigurationIdProperty

class CfnBrokerPropsMixin.ConfigurationIdProperty(*, id=None, revision=None)

Bases: object

A list of information about the configuration.

Parameters:
  • id (Optional[str]) – Required. The unique ID that Amazon MQ generates for the configuration.

  • revision (Union[int, float, None]) – The revision number of the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-configurationid.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_amazonmq import mixins as amazonmq_mixins

configuration_id_property = amazonmq_mixins.CfnBrokerPropsMixin.ConfigurationIdProperty(
    id="id",
    revision=123
)

Attributes

id

Required.

The unique ID that Amazon MQ generates for the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-configurationid.html#cfn-amazonmq-broker-configurationid-id

revision

The revision number of the configuration.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-configurationid.html#cfn-amazonmq-broker-configurationid-revision

EncryptionOptionsProperty

class CfnBrokerPropsMixin.EncryptionOptionsProperty(*, kms_key_id=None, use_aws_owned_key=None)

Bases: object

Encryption options for the broker.

Parameters:
  • kms_key_id (Optional[str]) – The customer master key (CMK) to use for the A AWS (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.

  • use_aws_owned_key (Union[bool, IResolvable, None]) – Enables the use of an AWS owned CMK using AWS (KMS). Set to true by default, if no value is provided, for example, for RabbitMQ brokers.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-encryptionoptions.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_amazonmq import mixins as amazonmq_mixins

encryption_options_property = amazonmq_mixins.CfnBrokerPropsMixin.EncryptionOptionsProperty(
    kms_key_id="kmsKeyId",
    use_aws_owned_key=False
)

Attributes

kms_key_id

The customer master key (CMK) to use for the A AWS (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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-encryptionoptions.html#cfn-amazonmq-broker-encryptionoptions-kmskeyid

use_aws_owned_key

Enables the use of an AWS owned CMK using AWS (KMS).

Set to true by default, if no value is provided, for example, for RabbitMQ brokers.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-encryptionoptions.html#cfn-amazonmq-broker-encryptionoptions-useawsownedkey

LdapServerMetadataProperty

class CfnBrokerPropsMixin.LdapServerMetadataProperty(*, hosts=None, role_base=None, role_name=None, role_search_matching=None, role_search_subtree=None, service_account_password=None, service_account_username=None, user_base=None, user_role_name=None, user_search_matching=None, user_search_subtree=None)

Bases: object

Optional.

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

Parameters:
  • hosts (Optional[Sequence[str]])

  • role_base (Optional[str])

  • role_name (Optional[str])

  • role_search_matching (Optional[str])

  • role_search_subtree (Union[bool, IResolvable, None])

  • service_account_password (Optional[str])

  • service_account_username (Optional[str])

  • user_base (Optional[str])

  • user_role_name (Optional[str])

  • user_search_matching (Optional[str])

  • user_search_subtree (Union[bool, IResolvable, None])

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_amazonmq import mixins as amazonmq_mixins

ldap_server_metadata_property = amazonmq_mixins.CfnBrokerPropsMixin.LdapServerMetadataProperty(
    hosts=["hosts"],
    role_base="roleBase",
    role_name="roleName",
    role_search_matching="roleSearchMatching",
    role_search_subtree=False,
    service_account_password="serviceAccountPassword",
    service_account_username="serviceAccountUsername",
    user_base="userBase",
    user_role_name="userRoleName",
    user_search_matching="userSearchMatching",
    user_search_subtree=False
)

Attributes

hosts

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-hosts

Type:

see

role_base

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-rolebase

Type:

see

role_name

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-rolename

Type:

see

role_search_matching

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-rolesearchmatching

Type:

see

role_search_subtree

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-rolesearchsubtree

Type:

see

service_account_password

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-serviceaccountpassword

Type:

see

service_account_username

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-serviceaccountusername

Type:

see

user_base

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-userbase

Type:

see

user_role_name

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-userrolename

Type:

see

user_search_matching

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-usersearchmatching

Type:

see

user_search_subtree

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-ldapservermetadata.html#cfn-amazonmq-broker-ldapservermetadata-usersearchsubtree

Type:

see

LogListProperty

class CfnBrokerPropsMixin.LogListProperty(*, audit=None, general=None)

Bases: object

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

Parameters:
  • audit (Union[bool, IResolvable, None]) – Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged. Does not apply to RabbitMQ brokers.

  • general (Union[bool, IResolvable, None]) – Enables general logging.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-loglist.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_amazonmq import mixins as amazonmq_mixins

log_list_property = amazonmq_mixins.CfnBrokerPropsMixin.LogListProperty(
    audit=False,
    general=False
)

Attributes

audit

Enables audit logging.

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

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-loglist.html#cfn-amazonmq-broker-loglist-audit

general

Enables general logging.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-loglist.html#cfn-amazonmq-broker-loglist-general

MaintenanceWindowProperty

class CfnBrokerPropsMixin.MaintenanceWindowProperty(*, day_of_week=None, time_of_day=None, time_zone=None)

Bases: object

The parameters that determine the WeeklyStartTime.

Parameters:
  • day_of_week (Optional[str]) – Required. The day of the week.

  • time_of_day (Optional[str]) – Required. The time, in 24-hour format.

  • time_zone (Optional[str]) – The time zone, UTC by default, in either the Country/City format, or the UTC offset format.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-maintenancewindow.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_amazonmq import mixins as amazonmq_mixins

maintenance_window_property = amazonmq_mixins.CfnBrokerPropsMixin.MaintenanceWindowProperty(
    day_of_week="dayOfWeek",
    time_of_day="timeOfDay",
    time_zone="timeZone"
)

Attributes

day_of_week

Required.

The day of the week.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-maintenancewindow.html#cfn-amazonmq-broker-maintenancewindow-dayofweek

time_of_day

Required.

The time, in 24-hour format.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-maintenancewindow.html#cfn-amazonmq-broker-maintenancewindow-timeofday

time_zone

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

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-maintenancewindow.html#cfn-amazonmq-broker-maintenancewindow-timezone

TagsEntryProperty

class CfnBrokerPropsMixin.TagsEntryProperty(*, key=None, value=None)

Bases: object

Create tags when creating the broker.

Parameters:
  • key (Optional[str])

  • value (Optional[str])

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-tagsentry.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_amazonmq import mixins as amazonmq_mixins

tags_entry_property = amazonmq_mixins.CfnBrokerPropsMixin.TagsEntryProperty(
    key="key",
    value="value"
)

Attributes

key

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-tagsentry.html#cfn-amazonmq-broker-tagsentry-key

Type:

see

value

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-tagsentry.html#cfn-amazonmq-broker-tagsentry-value

Type:

see

UserProperty

class CfnBrokerPropsMixin.UserProperty(*, console_access=None, groups=None, password=None, replication_user=None, username=None)

Bases: object

The list of broker users (persons or applications) who can access queues and topics.

For Amazon MQ for RabbitMQ brokers, one and only one administrative user is accepted and created when a broker is first provisioned. All subsequent broker users are created by making RabbitMQ API calls directly to brokers or via the RabbitMQ web console.

When OAuth 2.0 is enabled, the broker accepts one or no users.

Parameters:
  • console_access (Union[bool, IResolvable, None]) – Enables access to the ActiveMQ Web Console for the ActiveMQ user. Does not apply to RabbitMQ brokers.

  • groups (Optional[Sequence[str]]) – 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. Does not apply to RabbitMQ brokers.

  • password (Optional[str]) – Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas, colons, or equal signs (,:=).

  • replication_user (Union[bool, IResolvable, None]) – Defines if this user is intended for CRDR replication purposes.

  • username (Optional[str]) – The username of the broker user. The following restrictions apply to broker usernames:. - For Amazon MQ for ActiveMQ brokers, this value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. - For Amazon MQ for RabbitMQ brokers, this value can contain only alphanumeric characters, dashes, periods, underscores (- . _). This value must not contain a tilde (~) character. Amazon MQ prohibts using guest as a valid usename. This value must be 2-100 characters long. .. epigraph:: Do not add personally identifiable information (PII) or other confidential or sensitive information in broker usernames. Broker usernames are accessible to other AWS services, including CloudWatch Logs . Broker usernames are not intended to be used for private or sensitive data.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk.mixins_preview.aws_amazonmq import mixins as amazonmq_mixins

user_property = amazonmq_mixins.CfnBrokerPropsMixin.UserProperty(
    console_access=False,
    groups=["groups"],
    password="password",
    replication_user=False,
    username="username"
)

Attributes

console_access

Enables access to the ActiveMQ Web Console for the ActiveMQ user.

Does not apply to RabbitMQ brokers.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html#cfn-amazonmq-broker-user-consoleaccess

groups

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. Does not apply to RabbitMQ brokers.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html#cfn-amazonmq-broker-user-groups

password

Required.

The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas, colons, or equal signs (,:=).

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html#cfn-amazonmq-broker-user-password

replication_user

Defines if this user is intended for CRDR replication purposes.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html#cfn-amazonmq-broker-user-replicationuser

username

.

  • For Amazon MQ for ActiveMQ brokers, this value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.

  • For Amazon MQ for RabbitMQ brokers, this value can contain only alphanumeric characters, dashes, periods, underscores (- . _). This value must not contain a tilde (~) character. Amazon MQ prohibts using guest as a valid usename. This value must be 2-100 characters long.

Do not add personally identifiable information (PII) or other confidential or sensitive information in broker usernames. Broker usernames are accessible to other AWS services, including CloudWatch Logs . Broker usernames are not intended to be used for private or sensitive data.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html#cfn-amazonmq-broker-user-username

Type:

The username of the broker user. The following restrictions apply to broker usernames