@Generated(value="jsii-pacmak/1.67.0 (build 2c027f5)", date="2022-09-19T20:26:36.001Z") @Stability(value=Stable) public class CfnBroker extends CfnResource implements IInspectable
A broker is a message broker environment running on Amazon MQ . It is the basic building block of Amazon MQ .
The AWS::AmazonMQ::Broker resource lets you create Amazon MQ for ActiveMQ and Amazon MQ for RabbitMQ brokers, add configuration changes or modify users for a speified ActiveMQ broker, return information about the specified broker, and delete the broker. For more information, see How Amazon MQ works in the Amazon MQ Developer Guide .
ec2:CreateNetworkInterfaceThis permission is required to allow Amazon MQ to create an elastic network interface (ENI) on behalf of your account.
ec2:CreateNetworkInterfacePermissionThis permission is required to attach the ENI to the broker instance.
ec2:DeleteNetworkInterfaceec2:DeleteNetworkInterfacePermissionec2:DetachNetworkInterfaceec2:DescribeInternetGatewaysec2:DescribeNetworkInterfacesec2:DescribeNetworkInterfacePermissionsec2:DescribeRouteTablesec2:DescribeSecurityGroupsec2:DescribeSubnetsec2:DescribeVpcsExample:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.amazonmq.*;
CfnBroker cfnBroker = CfnBroker.Builder.create(this, "MyCfnBroker")
.autoMinorVersionUpgrade(false)
.brokerName("brokerName")
.deploymentMode("deploymentMode")
.engineType("engineType")
.engineVersion("engineVersion")
.hostInstanceType("hostInstanceType")
.publiclyAccessible(false)
.users(List.of(UserProperty.builder()
.password("password")
.username("username")
// the properties below are optional
.consoleAccess(false)
.groups(List.of("groups"))
.build()))
// the properties below are optional
.authenticationStrategy("authenticationStrategy")
.configuration(ConfigurationIdProperty.builder()
.id("id")
.revision(123)
.build())
.encryptionOptions(EncryptionOptionsProperty.builder()
.useAwsOwnedKey(false)
// the properties below are optional
.kmsKeyId("kmsKeyId")
.build())
.ldapServerMetadata(LdapServerMetadataProperty.builder()
.hosts(List.of("hosts"))
.roleBase("roleBase")
.roleSearchMatching("roleSearchMatching")
.serviceAccountPassword("serviceAccountPassword")
.serviceAccountUsername("serviceAccountUsername")
.userBase("userBase")
.userSearchMatching("userSearchMatching")
// the properties below are optional
.roleName("roleName")
.roleSearchSubtree(false)
.userRoleName("userRoleName")
.userSearchSubtree(false)
.build())
.logs(LogListProperty.builder()
.audit(false)
.general(false)
.build())
.maintenanceWindowStartTime(MaintenanceWindowProperty.builder()
.dayOfWeek("dayOfWeek")
.timeOfDay("timeOfDay")
.timeZone("timeZone")
.build())
.securityGroups(List.of("securityGroups"))
.storageType("storageType")
.subnetIds(List.of("subnetIds"))
.tags(List.of(TagsEntryProperty.builder()
.key("key")
.value("value")
.build()))
.build();
| Modifier and Type | Class and Description |
|---|---|
static class |
CfnBroker.Builder
A fluent builder for
CfnBroker. |
static interface |
CfnBroker.ConfigurationIdProperty
A list of information about the configuration.
|
static interface |
CfnBroker.EncryptionOptionsProperty
Encryption options for the broker.
|
static interface |
CfnBroker.LdapServerMetadataProperty
Optional.
|
static interface |
CfnBroker.LogListProperty
The list of information about logs to be enabled for the specified broker.
|
static interface |
CfnBroker.MaintenanceWindowProperty
The parameters that determine the `WeeklyStartTime` to apply pending updates or patches to the broker.
|
static interface |
CfnBroker.TagsEntryProperty
A key-value pair to associate with the broker.
|
static interface |
CfnBroker.UserProperty
The list of broker users (persons or applications) who can access queues and topics.
|
software.amazon.jsii.JsiiObject.InitializationModeIInspectable.Jsii$Default, IInspectable.Jsii$Proxy| Modifier and Type | Field and Description |
|---|---|
static String |
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
|
| Modifier | Constructor and Description |
|---|---|
|
CfnBroker(software.constructs.Construct scope,
String id,
CfnBrokerProps props)
Create a new `AWS::AmazonMQ::Broker`.
|
protected |
CfnBroker(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) |
protected |
CfnBroker(software.amazon.jsii.JsiiObjectRef objRef) |
| Modifier and Type | Method and Description |
|---|---|
List<String> |
getAttrAmqpEndpoints()
The AMQP endpoints of each broker instance as a list of strings.
|
String |
getAttrArn()
The Amazon Resource Name (ARN) of the Amazon MQ broker.
|
String |
getAttrConfigurationId()
The unique ID that Amazon MQ generates for the configuration.
|
Number |
getAttrConfigurationRevision()
The revision number of the configuration.
|
List<String> |
getAttrIpAddresses()
The IP addresses of each broker instance as a list of strings.
|
List<String> |
getAttrMqttEndpoints()
The MQTT endpoints of each broker instance as a list of strings.
|
List<String> |
getAttrOpenWireEndpoints()
The OpenWire endpoints of each broker instance as a list of strings.
|
List<String> |
getAttrStompEndpoints()
The STOMP endpoints of each broker instance as a list of strings.
|
List<String> |
getAttrWssEndpoints()
The WSS endpoints of each broker instance as a list of strings.
|
String |
getAuthenticationStrategy()
Optional.
|
Object |
getAutoMinorVersionUpgrade()
Enables automatic upgrades to new minor versions for brokers, as new broker engine versions are released and supported by Amazon MQ.
|
String |
getBrokerName()
The name of the broker.
|
protected Map<String,Object> |
getCfnProperties() |
Object |
getConfiguration()
A list of information about the configuration.
|
String |
getDeploymentMode()
The deployment mode of the broker.
|
Object |
getEncryptionOptions()
Encryption options for the broker.
|
String |
getEngineType()
The type of broker engine.
|
String |
getEngineVersion()
The version of the broker engine.
|
String |
getHostInstanceType()
The broker's instance type.
|
Object |
getLdapServerMetadata()
Optional.
|
Object |
getLogs()
Enables Amazon CloudWatch logging for brokers.
|
Object |
getMaintenanceWindowStartTime()
The scheduled time period relative to UTC during which Amazon MQ begins to apply pending updates or patches to the broker.
|
Object |
getPubliclyAccessible()
Enables connections from applications outside of the VPC that hosts the broker's subnets.
|
List<String> |
getSecurityGroups()
The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.
|
String |
getStorageType()
The broker's storage type.
|
List<String> |
getSubnetIds()
The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones.
|
TagManager |
getTags()
An array of key-value pairs.
|
Object |
getUsers()
The list of broker users (persons or applications) who can access queues and topics.
|
void |
inspect(TreeInspector inspector)
Examines the CloudFormation resource and discloses attributes.
|
protected Map<String,Object> |
renderProperties(Map<String,Object> props) |
void |
setAuthenticationStrategy(String value)
Optional.
|
void |
setAutoMinorVersionUpgrade(Boolean value)
Enables automatic upgrades to new minor versions for brokers, as new broker engine versions are released and supported by Amazon MQ.
|
void |
setAutoMinorVersionUpgrade(IResolvable value)
Enables automatic upgrades to new minor versions for brokers, as new broker engine versions are released and supported by Amazon MQ.
|
void |
setBrokerName(String value)
The name of the broker.
|
void |
setConfiguration(CfnBroker.ConfigurationIdProperty value)
A list of information about the configuration.
|
void |
setConfiguration(IResolvable value)
A list of information about the configuration.
|
void |
setDeploymentMode(String value)
The deployment mode of the broker.
|
void |
setEncryptionOptions(CfnBroker.EncryptionOptionsProperty value)
Encryption options for the broker.
|
void |
setEncryptionOptions(IResolvable value)
Encryption options for the broker.
|
void |
setEngineType(String value)
The type of broker engine.
|
void |
setEngineVersion(String value)
The version of the broker engine.
|
void |
setHostInstanceType(String value)
The broker's instance type.
|
void |
setLdapServerMetadata(CfnBroker.LdapServerMetadataProperty value)
Optional.
|
void |
setLdapServerMetadata(IResolvable value)
Optional.
|
void |
setLogs(CfnBroker.LogListProperty value)
Enables Amazon CloudWatch logging for brokers.
|
void |
setLogs(IResolvable value)
Enables Amazon CloudWatch logging for brokers.
|
void |
setMaintenanceWindowStartTime(CfnBroker.MaintenanceWindowProperty value)
The scheduled time period relative to UTC during which Amazon MQ begins to apply pending updates or patches to the broker.
|
void |
setMaintenanceWindowStartTime(IResolvable value)
The scheduled time period relative to UTC during which Amazon MQ begins to apply pending updates or patches to the broker.
|
void |
setPubliclyAccessible(Boolean value)
Enables connections from applications outside of the VPC that hosts the broker's subnets.
|
void |
setPubliclyAccessible(IResolvable value)
Enables connections from applications outside of the VPC that hosts the broker's subnets.
|
void |
setSecurityGroups(List<String> value)
The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.
|
void |
setStorageType(String value)
The broker's storage type.
|
void |
setSubnetIds(List<String> value)
The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones.
|
void |
setUsers(IResolvable value)
The list of broker users (persons or applications) who can access queues and topics.
|
void |
setUsers(List<Object> value)
The list of broker users (persons or applications) who can access queues and topics.
|
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, getUpdatedProperties, isCfnResource, shouldSynthesize, toString, validatePropertiesgetRefgetCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalIdjsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet@Stability(value=Stable) public static final String CFN_RESOURCE_TYPE_NAME
protected CfnBroker(software.amazon.jsii.JsiiObjectRef objRef)
protected CfnBroker(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
@Stability(value=Stable)
public CfnBroker(@NotNull
software.constructs.Construct scope,
@NotNull
String id,
@NotNull
CfnBrokerProps props)
scope - - scope in which this resource is defined. This parameter is required.id - - scoped id of the resource. This parameter is required.props - - resource properties. This parameter is required.@Stability(value=Stable)
public void inspect(@NotNull
TreeInspector inspector)
inspect in interface IInspectableinspector - - tree inspector to collect and process attributes. This parameter is required.@Stability(value=Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
renderProperties in class CfnResourceprops - This parameter is required.@Stability(value=Stable) @NotNull public List<String> getAttrAmqpEndpoints()
amqp+ssl://b-4aada85d-a80c-4be0-9d30-e344a01b921e-1.mq.eu-central-amazonaws.com:5671
@Stability(value=Stable) @NotNull public String getAttrArn()
arn:aws:mq:us-east-2:123456789012:broker:MyBroker:b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9
@Stability(value=Stable) @NotNull public String getAttrConfigurationId()
c-1234a5b6-78cd-901e-2fgh-3i45j6k178l9
@Stability(value=Stable) @NotNull public Number getAttrConfigurationRevision()
1
@Stability(value=Stable) @NotNull public List<String> getAttrIpAddresses()
['198.51.100.2', '203.0.113.9']
@Stability(value=Stable) @NotNull public List<String> getAttrMqttEndpoints()
mqtt+ssl://b-4aada85d-a80c-4be0-9d30-e344a01b921e-1.mq.eu-central-amazonaws.com:8883
@Stability(value=Stable) @NotNull public List<String> getAttrOpenWireEndpoints()
ssl://b-4aada85d-a80c-4be0-9d30-e344a01b921e-1.mq.eu-central-amazonaws.com:61617
@Stability(value=Stable) @NotNull public List<String> getAttrStompEndpoints()
stomp+ssl://b-4aada85d-a80c-4be0-9d30-e344a01b921e-1.mq.eu-central-amazonaws.com:61614
@Stability(value=Stable) @NotNull public List<String> getAttrWssEndpoints()
wss://b-4aada85d-a80c-4be0-9d30-e344a01b921e-1.mq.eu-central-amazonaws.com:61619
@Stability(value=Stable) @NotNull protected Map<String,Object> getCfnProperties()
getCfnProperties in class CfnResource@Stability(value=Stable) @NotNull public TagManager getTags()
For more information, see Using Cost Allocation Tags in the Billing and Cost Management User Guide .
@Stability(value=Stable) @NotNull public Object getAutoMinorVersionUpgrade()
Automatic upgrades occur during the scheduled maintenance window of the broker or after a manual broker reboot.
@Stability(value=Stable)
public void setAutoMinorVersionUpgrade(@NotNull
Boolean value)
Automatic upgrades occur during the scheduled maintenance window of the broker or after a manual broker reboot.
@Stability(value=Stable)
public void setAutoMinorVersionUpgrade(@NotNull
IResolvable value)
Automatic upgrades occur during the scheduled maintenance window of the broker or after a manual broker reboot.
@Stability(value=Stable) @NotNull public String getBrokerName()
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 white spaces, brackets, wildcard characters, or special characters.
Do not add personally identifiable information (PII) or other confidential or sensitive information in broker names. Broker names are accessible to other AWS services, including C CloudWatch Logs . Broker names are not intended to be used for private or sensitive data.
@Stability(value=Stable)
public void setBrokerName(@NotNull
String value)
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 white spaces, brackets, wildcard characters, or special characters.
Do not add personally identifiable information (PII) or other confidential or sensitive information in broker names. Broker names are accessible to other AWS services, including C CloudWatch Logs . Broker names are not intended to be used for private or sensitive data.
@Stability(value=Stable) @NotNull public String getDeploymentMode()
SINGLE_INSTANCEACTIVE_STANDBY_MULTI_AZCLUSTER_MULTI_AZ@Stability(value=Stable)
public void setDeploymentMode(@NotNull
String value)
SINGLE_INSTANCEACTIVE_STANDBY_MULTI_AZCLUSTER_MULTI_AZ@Stability(value=Stable) @NotNull public String getEngineType()
Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ .
@Stability(value=Stable)
public void setEngineType(@NotNull
String value)
Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ .
@Stability(value=Stable) @NotNull public String getEngineVersion()
For a list of supported engine versions, see Engine in the Amazon MQ Developer Guide .
@Stability(value=Stable)
public void setEngineVersion(@NotNull
String value)
For a list of supported engine versions, see Engine in the Amazon MQ Developer Guide .
@Stability(value=Stable) @NotNull public String getHostInstanceType()
@Stability(value=Stable)
public void setHostInstanceType(@NotNull
String value)
@Stability(value=Stable) @NotNull public Object getPubliclyAccessible()
@Stability(value=Stable)
public void setPubliclyAccessible(@NotNull
Boolean value)
@Stability(value=Stable)
public void setPubliclyAccessible(@NotNull
IResolvable value)
@Stability(value=Stable) @NotNull public Object getUsers()
For Amazon MQ for RabbitMQ brokers, one and only one administrative user is accepted and created when a broker is first provisioned. All subsequent RabbitMQ users are created by via the RabbitMQ web console or by using the RabbitMQ management API.
@Stability(value=Stable)
public void setUsers(@NotNull
IResolvable value)
For Amazon MQ for RabbitMQ brokers, one and only one administrative user is accepted and created when a broker is first provisioned. All subsequent RabbitMQ users are created by via the RabbitMQ web console or by using the RabbitMQ management API.
@Stability(value=Stable)
public void setUsers(@NotNull
List<Object> value)
For Amazon MQ for RabbitMQ brokers, one and only one administrative user is accepted and created when a broker is first provisioned. All subsequent RabbitMQ users are created by via the RabbitMQ web console or by using the RabbitMQ management API.
@Stability(value=Stable) @Nullable public String getAuthenticationStrategy()
The authentication strategy used to secure the broker. The default is SIMPLE .
@Stability(value=Stable)
public void setAuthenticationStrategy(@Nullable
String value)
The authentication strategy used to secure the broker. The default is SIMPLE .
@Stability(value=Stable) @Nullable public Object getConfiguration()
Does not apply to RabbitMQ brokers.
@Stability(value=Stable)
public void setConfiguration(@Nullable
CfnBroker.ConfigurationIdProperty value)
Does not apply to RabbitMQ brokers.
@Stability(value=Stable)
public void setConfiguration(@Nullable
IResolvable value)
Does not apply to RabbitMQ brokers.
@Stability(value=Stable) @Nullable public Object getEncryptionOptions()
Does not apply to RabbitMQ brokers.
@Stability(value=Stable)
public void setEncryptionOptions(@Nullable
CfnBroker.EncryptionOptionsProperty value)
Does not apply to RabbitMQ brokers.
@Stability(value=Stable)
public void setEncryptionOptions(@Nullable
IResolvable value)
Does not apply to RabbitMQ brokers.
@Stability(value=Stable) @Nullable public Object getLdapServerMetadata()
The metadata of the LDAP server used to authenticate and authorize connections to the broker. Does not apply to RabbitMQ brokers.
@Stability(value=Stable)
public void setLdapServerMetadata(@Nullable
CfnBroker.LdapServerMetadataProperty value)
The metadata of the LDAP server used to authenticate and authorize connections to the broker. Does not apply to RabbitMQ brokers.
@Stability(value=Stable)
public void setLdapServerMetadata(@Nullable
IResolvable value)
The metadata of the LDAP server used to authenticate and authorize connections to the broker. Does not apply to RabbitMQ brokers.
@Stability(value=Stable) @Nullable public Object getLogs()
@Stability(value=Stable)
public void setLogs(@Nullable
CfnBroker.LogListProperty value)
@Stability(value=Stable)
public void setLogs(@Nullable
IResolvable value)
@Stability(value=Stable) @Nullable public Object getMaintenanceWindowStartTime()
@Stability(value=Stable)
public void setMaintenanceWindowStartTime(@Nullable
CfnBroker.MaintenanceWindowProperty value)
@Stability(value=Stable)
public void setMaintenanceWindowStartTime(@Nullable
IResolvable value)
@Stability(value=Stable) @Nullable public List<String> getSecurityGroups()
@Stability(value=Stable)
public void setSecurityGroups(@Nullable
List<String> value)
@Stability(value=Stable) @Nullable public String getStorageType()
@Stability(value=Stable)
public void setStorageType(@Nullable
String value)
@Stability(value=Stable) @Nullable public List<String> getSubnetIds()
If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon MQ will not be able to create VPC endpoints for your broker with multiple subnets in the same Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment (ACTIVEMQ) requires two subnets. A CLUSTER_MULTI_AZ deployment (RABBITMQ) has no subnet requirements when deployed with public accessibility, deployment without public accessibility requires at least one subnet.
If you specify subnets in a shared VPC for a RabbitMQ broker, the associated VPC to which the specified subnets belong must be owned by your AWS account . Amazon MQ will not be able to create VPC enpoints in VPCs that are not owned by your AWS account .
@Stability(value=Stable)
public void setSubnetIds(@Nullable
List<String> value)
If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon MQ will not be able to create VPC endpoints for your broker with multiple subnets in the same Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment (ACTIVEMQ) requires two subnets. A CLUSTER_MULTI_AZ deployment (RABBITMQ) has no subnet requirements when deployed with public accessibility, deployment without public accessibility requires at least one subnet.
If you specify subnets in a shared VPC for a RabbitMQ broker, the associated VPC to which the specified subnets belong must be owned by your AWS account . Amazon MQ will not be able to create VPC enpoints in VPCs that are not owned by your AWS account .
Copyright © 2022. All rights reserved.