Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 1x | /*
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
import { Aws, Fn, Token } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { IActiveMqBroker } from './activemq-broker';
import { ActiveMqBrokerDeploymentBase, ActiveMqBrokerDeploymentProps } from './activemq-broker-deployment';
import { BrokerDeploymentMode } from '../broker-deployment-mode';
export interface ActiveMqBrokerRedundantPairProps extends ActiveMqBrokerDeploymentProps {
}
/**
* A representation of an active/standby broker that is comprised of two brokers in two different Availability Zones.
*
* see: https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/active-standby-broker-deployment.html
*/
export class ActiveMqBrokerRedundantPair extends ActiveMqBrokerDeploymentBase {
/**
* The first broker of the redundant pair for the deployment.
*/
public readonly first: IActiveMqBroker;
/**
* The second broker of the redundant pair for the deployment.
*/
public readonly second: IActiveMqBroker;
constructor(scope: Construct, id: string, props: ActiveMqBrokerRedundantPairProps) {
super(scope, id, {
...props,
deploymentMode: BrokerDeploymentMode.ACTIVE_STANDBY_MULTI_AZ,
});
this.first = {
endpoints: {
amqp: {
url: Fn.select(0, this._resource.attrAmqpEndpoints),
port: Token.asNumber(Fn.select(2, Fn.split(':', Fn.select(0, this._resource.attrAmqpEndpoints)))),
},
stomp: {
url: Fn.select(0, this._resource.attrStompEndpoints),
port: Token.asNumber(Fn.select(2, Fn.split(':', Fn.select(0, this._resource.attrStompEndpoints)))),
},
openWire: {
url: Fn.select(0, this._resource.attrOpenWireEndpoints),
port: Token.asNumber(Fn.select(2, Fn.split(':', Fn.select(0, this._resource.attrOpenWireEndpoints)))),
},
mqtt: {
url: Fn.select(0, this._resource.attrMqttEndpoints),
port: Token.asNumber(Fn.select(2, Fn.split(':', Fn.select(0, this._resource.attrMqttEndpoints)))),
},
wss: {
url: Fn.select(0, this._resource.attrWssEndpoints),
port: Token.asNumber(Fn.select(2, Fn.split(':', Fn.select(0, this._resource.attrWssEndpoints)))),
},
console: {
url: `https://${this.id}-1.mq.${Aws.REGION}.amazonaws.com:8162`,
port: 8162,
},
},
ipAddress: Fn.select(0, this._resource.attrIpAddresses),
};
this.second = {
endpoints: {
amqp: {
url: Fn.select(1, this._resource.attrAmqpEndpoints),
port: Token.asNumber(Fn.select(2, Fn.split(':', Fn.select(1, this._resource.attrAmqpEndpoints)))),
},
stomp: {
url: Fn.select(1, this._resource.attrStompEndpoints),
port: Token.asNumber(Fn.select(2, Fn.split(':', Fn.select(1, this._resource.attrStompEndpoints)))),
},
openWire: {
url: Fn.select(1, this._resource.attrOpenWireEndpoints),
port: Token.asNumber(Fn.select(2, Fn.split(':', Fn.select(1, this._resource.attrOpenWireEndpoints)))),
},
mqtt: {
url: Fn.select(1, this._resource.attrMqttEndpoints),
port: Token.asNumber(Fn.select(2, Fn.split(':', Fn.select(1, this._resource.attrMqttEndpoints)))),
},
wss: {
url: Fn.select(1, this._resource.attrWssEndpoints),
port: Token.asNumber(Fn.select(2, Fn.split(':', Fn.select(1, this._resource.attrWssEndpoints)))),
},
console: {
url: `https://${this.id}-2.mq.${Aws.REGION}.amazonaws.com:8162`,
port: 8162,
},
},
ipAddress: Fn.select(1, this._resource.attrIpAddresses),
};
}
} |