Skip to content

Commit 983be32

Browse files
author
awstools
committed
feat(client-mq): The Cross Region Disaster Recovery feature allows to replicate a brokers state from one region to another in order to provide customers with multi-region resiliency in the event of a regional outage.
1 parent f0ede90 commit 983be32

23 files changed

+1696
-1635
lines changed

clients/client-mq/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,14 @@ ListUsers
346346

347347
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-mq/classes/listuserscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-mq/interfaces/listuserscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-mq/interfaces/listuserscommandoutput.html)
348348

349+
</details>
350+
<details>
351+
<summary>
352+
Promote
353+
</summary>
354+
355+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-mq/classes/promotecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-mq/interfaces/promotecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-mq/interfaces/promotecommandoutput.html)
356+
349357
</details>
350358
<details>
351359
<summary>

clients/client-mq/src/Mq.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ import {
6464
} from "./commands/ListConfigurationsCommand";
6565
import { ListTagsCommand, ListTagsCommandInput, ListTagsCommandOutput } from "./commands/ListTagsCommand";
6666
import { ListUsersCommand, ListUsersCommandInput, ListUsersCommandOutput } from "./commands/ListUsersCommand";
67+
import { PromoteCommand, PromoteCommandInput, PromoteCommandOutput } from "./commands/PromoteCommand";
6768
import {
6869
RebootBrokerCommand,
6970
RebootBrokerCommandInput,
@@ -101,6 +102,7 @@ const commands = {
101102
ListConfigurationsCommand,
102103
ListTagsCommand,
103104
ListUsersCommand,
105+
PromoteCommand,
104106
RebootBrokerCommand,
105107
UpdateBrokerCommand,
106108
UpdateConfigurationCommand,
@@ -351,6 +353,17 @@ export interface Mq {
351353
cb: (err: any, data?: ListUsersCommandOutput) => void
352354
): void;
353355

356+
/**
357+
* @see {@link PromoteCommand}
358+
*/
359+
promote(args: PromoteCommandInput, options?: __HttpHandlerOptions): Promise<PromoteCommandOutput>;
360+
promote(args: PromoteCommandInput, cb: (err: any, data?: PromoteCommandOutput) => void): void;
361+
promote(
362+
args: PromoteCommandInput,
363+
options: __HttpHandlerOptions,
364+
cb: (err: any, data?: PromoteCommandOutput) => void
365+
): void;
366+
354367
/**
355368
* @see {@link RebootBrokerCommand}
356369
*/

clients/client-mq/src/MqClient.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ import {
8787
import { ListConfigurationsCommandInput, ListConfigurationsCommandOutput } from "./commands/ListConfigurationsCommand";
8888
import { ListTagsCommandInput, ListTagsCommandOutput } from "./commands/ListTagsCommand";
8989
import { ListUsersCommandInput, ListUsersCommandOutput } from "./commands/ListUsersCommand";
90+
import { PromoteCommandInput, PromoteCommandOutput } from "./commands/PromoteCommand";
9091
import { RebootBrokerCommandInput, RebootBrokerCommandOutput } from "./commands/RebootBrokerCommand";
9192
import { UpdateBrokerCommandInput, UpdateBrokerCommandOutput } from "./commands/UpdateBrokerCommand";
9293
import {
@@ -126,6 +127,7 @@ export type ServiceInputTypes =
126127
| ListConfigurationsCommandInput
127128
| ListTagsCommandInput
128129
| ListUsersCommandInput
130+
| PromoteCommandInput
129131
| RebootBrokerCommandInput
130132
| UpdateBrokerCommandInput
131133
| UpdateConfigurationCommandInput
@@ -153,6 +155,7 @@ export type ServiceOutputTypes =
153155
| ListConfigurationsCommandOutput
154156
| ListTagsCommandOutput
155157
| ListUsersCommandOutput
158+
| PromoteCommandOutput
156159
| RebootBrokerCommandOutput
157160
| UpdateBrokerCommandOutput
158161
| UpdateConfigurationCommandOutput

clients/client-mq/src/commands/CreateBrokerCommand.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,28 +36,28 @@ export interface CreateBrokerCommandOutput extends CreateBrokerResponse, __Metad
3636

3737
/**
3838
* @public
39-
* <p>Creates a broker. Note: This API is asynchronous.</p> <p>To create a broker, you must either use the AmazonMQFullAccess IAM policy or include the following EC2 permissions in your IAM policy.</p> <ul><li><p>ec2:CreateNetworkInterface</p> <p>This permission is required to allow Amazon MQ to create an elastic network interface (ENI) on behalf of your account.</p></li> <li><p>ec2:CreateNetworkInterfacePermission</p> <p>This permission is required to attach the ENI to the broker instance.</p></li> <li><p>ec2:DeleteNetworkInterface</p></li> <li><p>ec2:DeleteNetworkInterfacePermission</p></li> <li><p>ec2:DetachNetworkInterface</p></li> <li><p>ec2:DescribeInternetGateways</p></li> <li><p>ec2:DescribeNetworkInterfaces</p></li> <li><p>ec2:DescribeNetworkInterfacePermissions</p></li> <li><p>ec2:DescribeRouteTables</p></li> <li><p>ec2:DescribeSecurityGroups</p></li> <li><p>ec2:DescribeSubnets</p></li> <li><p>ec2:DescribeVpcs</p></li></ul> <p>For more information, see <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/amazon-mq-setting-up.html#create-iam-user">Create an IAM User and Get Your AWS Credentials</a> and <a href="https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/connecting-to-amazon-mq.html#never-modify-delete-elastic-network-interface">Never Modify or Delete the Amazon MQ Elastic Network Interface</a> in the <i>Amazon MQ Developer Guide</i>.</p>
39+
* <p>Creates a broker. Note: This API is asynchronous.</p> <p>To create a broker, you must either use the AmazonMQFullAccess IAM policy or include the following EC2 permissions in your IAM policy.</p> <ul><li><p>ec2:CreateNetworkInterface</p> <p>This permission is required to allow Amazon MQ to create an elastic network interface (ENI) on behalf of your account.</p></li> <li><p>ec2:CreateNetworkInterfacePermission</p> <p>This permission is required to attach the ENI to the broker instance.</p></li> <li><p>ec2:DeleteNetworkInterface</p></li> <li><p>ec2:DeleteNetworkInterfacePermission</p></li> <li><p>ec2:DetachNetworkInterface</p></li> <li><p>ec2:DescribeInternetGateways</p></li> <li><p>ec2:DescribeNetworkInterfaces</p></li> <li><p>ec2:DescribeNetworkInterfacePermissions</p></li> <li><p>ec2:DescribeRouteTables</p></li> <li><p>ec2:DescribeSecurityGroups</p></li> <li><p>ec2:DescribeSubnets</p></li> <li><p>ec2:DescribeVpcs</p></li></ul> <p>For more information, see <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/amazon-mq-setting-up.html#create-iam-user">Create an IAM User and Get Your Amazon Web Services Credentials</a> and <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/connecting-to-amazon-mq.html#never-modify-delete-elastic-network-interface">Never Modify or Delete the Amazon MQ Elastic Network Interface</a> in the <i>Amazon MQ Developer Guide</i>.</p>
4040
* @example
4141
* Use a bare-bones client and the command you need to make an API call.
4242
* ```javascript
4343
* import { MqClient, CreateBrokerCommand } from "@aws-sdk/client-mq"; // ES Modules import
4444
* // const { MqClient, CreateBrokerCommand } = require("@aws-sdk/client-mq"); // CommonJS import
4545
* const client = new MqClient(config);
4646
* const input = { // CreateBrokerRequest
47-
* AuthenticationStrategy: "STRING_VALUE",
47+
* AuthenticationStrategy: "SIMPLE" || "LDAP",
4848
* AutoMinorVersionUpgrade: true || false, // required
4949
* BrokerName: "STRING_VALUE", // required
5050
* Configuration: { // ConfigurationId
5151
* Id: "STRING_VALUE", // required
5252
* Revision: Number("int"),
5353
* },
5454
* CreatorRequestId: "STRING_VALUE",
55-
* DeploymentMode: "STRING_VALUE", // required
55+
* DeploymentMode: "SINGLE_INSTANCE" || "ACTIVE_STANDBY_MULTI_AZ" || "CLUSTER_MULTI_AZ", // required
5656
* EncryptionOptions: { // EncryptionOptions
5757
* KmsKeyId: "STRING_VALUE",
5858
* UseAwsOwnedKey: true || false, // required
5959
* },
60-
* EngineType: "STRING_VALUE", // required
60+
* EngineType: "ACTIVEMQ" || "RABBITMQ", // required
6161
* EngineVersion: "STRING_VALUE", // required
6262
* HostInstanceType: "STRING_VALUE", // required
6363
* LdapServerMetadata: { // LdapServerMetadataInput
@@ -80,15 +80,15 @@ export interface CreateBrokerCommandOutput extends CreateBrokerResponse, __Metad
8080
* General: true || false,
8181
* },
8282
* MaintenanceWindowStartTime: { // WeeklyStartTime
83-
* DayOfWeek: "STRING_VALUE", // required
83+
* DayOfWeek: "MONDAY" || "TUESDAY" || "WEDNESDAY" || "THURSDAY" || "FRIDAY" || "SATURDAY" || "SUNDAY", // required
8484
* TimeOfDay: "STRING_VALUE", // required
8585
* TimeZone: "STRING_VALUE",
8686
* },
8787
* PubliclyAccessible: true || false, // required
8888
* SecurityGroups: [
8989
* "STRING_VALUE",
9090
* ],
91-
* StorageType: "STRING_VALUE",
91+
* StorageType: "EBS" || "EFS",
9292
* SubnetIds: [
9393
* "STRING_VALUE",
9494
* ],
@@ -101,8 +101,11 @@ export interface CreateBrokerCommandOutput extends CreateBrokerResponse, __Metad
101101
* Groups: "<__listOf__string>",
102102
* Password: "STRING_VALUE", // required
103103
* Username: "STRING_VALUE", // required
104+
* ReplicationUser: true || false,
104105
* },
105106
* ],
107+
* DataReplicationMode: "NONE" || "CRDR",
108+
* DataReplicationPrimaryBrokerArn: "STRING_VALUE",
106109
* };
107110
* const command = new CreateBrokerCommand(input);
108111
* const response = await client.send(command);

clients/client-mq/src/commands/CreateConfigurationCommand.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ export interface CreateConfigurationCommandOutput extends CreateConfigurationRes
4444
* // const { MqClient, CreateConfigurationCommand } = require("@aws-sdk/client-mq"); // CommonJS import
4545
* const client = new MqClient(config);
4646
* const input = { // CreateConfigurationRequest
47-
* AuthenticationStrategy: "STRING_VALUE",
48-
* EngineType: "STRING_VALUE", // required
47+
* AuthenticationStrategy: "SIMPLE" || "LDAP",
48+
* EngineType: "ACTIVEMQ" || "RABBITMQ", // required
4949
* EngineVersion: "STRING_VALUE", // required
5050
* Name: "STRING_VALUE", // required
5151
* Tags: { // __mapOf__string
@@ -56,7 +56,7 @@ export interface CreateConfigurationCommandOutput extends CreateConfigurationRes
5656
* const response = await client.send(command);
5757
* // { // CreateConfigurationResponse
5858
* // Arn: "STRING_VALUE",
59-
* // AuthenticationStrategy: "STRING_VALUE",
59+
* // AuthenticationStrategy: "SIMPLE" || "LDAP",
6060
* // Created: new Date("TIMESTAMP"),
6161
* // Id: "STRING_VALUE",
6262
* // LatestRevision: { // ConfigurationRevision

clients/client-mq/src/commands/CreateUserCommand.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export interface CreateUserCommandOutput extends CreateUserResponse, __MetadataB
3636

3737
/**
3838
* @public
39-
* <p>Creates an ActiveMQ user.</p>
39+
* <p>Creates an ActiveMQ user.</p> <important><p>Do not add personally identifiable information (PII) or other confidential or sensitive information in broker usernames. Broker usernames are accessible to other Amazon Web Services services, including CloudWatch Logs. Broker usernames are not intended to be used for private or sensitive data.</p></important>
4040
* @example
4141
* Use a bare-bones client and the command you need to make an API call.
4242
* ```javascript
@@ -51,6 +51,7 @@ export interface CreateUserCommandOutput extends CreateUserResponse, __MetadataB
5151
* ],
5252
* Password: "STRING_VALUE", // required
5353
* Username: "STRING_VALUE", // required
54+
* ReplicationUser: true || false,
5455
* };
5556
* const command = new CreateUserCommand(input);
5657
* const response = await client.send(command);

clients/client-mq/src/commands/DescribeBrokerCommand.ts

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export interface DescribeBrokerCommandOutput extends DescribeBrokerResponse, __M
5555
* // ActionRequiredInfo: "STRING_VALUE",
5656
* // },
5757
* // ],
58-
* // AuthenticationStrategy: "STRING_VALUE",
58+
* // AuthenticationStrategy: "SIMPLE" || "LDAP",
5959
* // AutoMinorVersionUpgrade: true || false,
6060
* // BrokerArn: "STRING_VALUE",
6161
* // BrokerId: "STRING_VALUE",
@@ -69,7 +69,7 @@ export interface DescribeBrokerCommandOutput extends DescribeBrokerResponse, __M
6969
* // },
7070
* // ],
7171
* // BrokerName: "STRING_VALUE",
72-
* // BrokerState: "STRING_VALUE",
72+
* // BrokerState: "CREATION_IN_PROGRESS" || "CREATION_FAILED" || "DELETION_IN_PROGRESS" || "RUNNING" || "REBOOT_IN_PROGRESS" || "CRITICAL_ACTION_REQUIRED" || "REPLICA",
7373
* // Configurations: { // Configurations
7474
* // Current: { // ConfigurationId
7575
* // Id: "STRING_VALUE", // required
@@ -87,12 +87,12 @@ export interface DescribeBrokerCommandOutput extends DescribeBrokerResponse, __M
8787
* // },
8888
* // },
8989
* // Created: new Date("TIMESTAMP"),
90-
* // DeploymentMode: "STRING_VALUE",
90+
* // DeploymentMode: "SINGLE_INSTANCE" || "ACTIVE_STANDBY_MULTI_AZ" || "CLUSTER_MULTI_AZ",
9191
* // EncryptionOptions: { // EncryptionOptions
9292
* // KmsKeyId: "STRING_VALUE",
9393
* // UseAwsOwnedKey: true || false, // required
9494
* // },
95-
* // EngineType: "STRING_VALUE",
95+
* // EngineType: "ACTIVEMQ" || "RABBITMQ",
9696
* // EngineVersion: "STRING_VALUE",
9797
* // HostInstanceType: "STRING_VALUE",
9898
* // LdapServerMetadata: { // LdapServerMetadataOutput
@@ -120,11 +120,11 @@ export interface DescribeBrokerCommandOutput extends DescribeBrokerResponse, __M
120120
* // },
121121
* // },
122122
* // MaintenanceWindowStartTime: { // WeeklyStartTime
123-
* // DayOfWeek: "STRING_VALUE", // required
123+
* // DayOfWeek: "MONDAY" || "TUESDAY" || "WEDNESDAY" || "THURSDAY" || "FRIDAY" || "SATURDAY" || "SUNDAY", // required
124124
* // TimeOfDay: "STRING_VALUE", // required
125125
* // TimeZone: "STRING_VALUE",
126126
* // },
127-
* // PendingAuthenticationStrategy: "STRING_VALUE",
127+
* // PendingAuthenticationStrategy: "SIMPLE" || "LDAP",
128128
* // PendingEngineVersion: "STRING_VALUE",
129129
* // PendingHostInstanceType: "STRING_VALUE",
130130
* // PendingLdapServerMetadata: {
@@ -144,17 +144,33 @@ export interface DescribeBrokerCommandOutput extends DescribeBrokerResponse, __M
144144
* // PendingSecurityGroups: "<__listOf__string>",
145145
* // PubliclyAccessible: true || false,
146146
* // SecurityGroups: "<__listOf__string>",
147-
* // StorageType: "STRING_VALUE",
147+
* // StorageType: "EBS" || "EFS",
148148
* // SubnetIds: "<__listOf__string>",
149149
* // Tags: { // __mapOf__string
150150
* // "<keys>": "STRING_VALUE",
151151
* // },
152152
* // Users: [ // __listOfUserSummary
153153
* // { // UserSummary
154-
* // PendingChange: "STRING_VALUE",
154+
* // PendingChange: "CREATE" || "UPDATE" || "DELETE",
155155
* // Username: "STRING_VALUE", // required
156156
* // },
157157
* // ],
158+
* // DataReplicationMetadata: { // DataReplicationMetadataOutput
159+
* // DataReplicationCounterpart: { // DataReplicationCounterpart
160+
* // BrokerId: "STRING_VALUE", // required
161+
* // Region: "STRING_VALUE", // required
162+
* // },
163+
* // DataReplicationRole: "STRING_VALUE", // required
164+
* // },
165+
* // DataReplicationMode: "NONE" || "CRDR",
166+
* // PendingDataReplicationMetadata: {
167+
* // DataReplicationCounterpart: {
168+
* // BrokerId: "STRING_VALUE", // required
169+
* // Region: "STRING_VALUE", // required
170+
* // },
171+
* // DataReplicationRole: "STRING_VALUE", // required
172+
* // },
173+
* // PendingDataReplicationMode: "NONE" || "CRDR",
158174
* // };
159175
*
160176
* ```

clients/client-mq/src/commands/DescribeBrokerEngineTypesCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export interface DescribeBrokerEngineTypesCommandOutput extends DescribeBrokerEn
5353
* // { // DescribeBrokerEngineTypesResponse
5454
* // BrokerEngineTypes: [ // __listOfBrokerEngineType
5555
* // { // BrokerEngineType
56-
* // EngineType: "STRING_VALUE",
56+
* // EngineType: "ACTIVEMQ" || "RABBITMQ",
5757
* // EngineVersions: [ // __listOfEngineVersion
5858
* // { // EngineVersion
5959
* // Name: "STRING_VALUE",

clients/client-mq/src/commands/DescribeBrokerInstanceOptionsCommand.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,11 @@ export interface DescribeBrokerInstanceOptionsCommandOutput
6565
* // Name: "STRING_VALUE",
6666
* // },
6767
* // ],
68-
* // EngineType: "STRING_VALUE",
68+
* // EngineType: "ACTIVEMQ" || "RABBITMQ",
6969
* // HostInstanceType: "STRING_VALUE",
70-
* // StorageType: "STRING_VALUE",
70+
* // StorageType: "EBS" || "EFS",
7171
* // SupportedDeploymentModes: [ // __listOfDeploymentMode
72-
* // "STRING_VALUE",
72+
* // "SINGLE_INSTANCE" || "ACTIVE_STANDBY_MULTI_AZ" || "CLUSTER_MULTI_AZ",
7373
* // ],
7474
* // SupportedEngineVersions: [ // __listOf__string
7575
* // "STRING_VALUE",

clients/client-mq/src/commands/DescribeConfigurationCommand.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ export interface DescribeConfigurationCommandOutput extends DescribeConfiguratio
5050
* const response = await client.send(command);
5151
* // { // DescribeConfigurationResponse
5252
* // Arn: "STRING_VALUE",
53-
* // AuthenticationStrategy: "STRING_VALUE",
53+
* // AuthenticationStrategy: "SIMPLE" || "LDAP",
5454
* // Created: new Date("TIMESTAMP"),
5555
* // Description: "STRING_VALUE",
56-
* // EngineType: "STRING_VALUE",
56+
* // EngineType: "ACTIVEMQ" || "RABBITMQ",
5757
* // EngineVersion: "STRING_VALUE",
5858
* // Id: "STRING_VALUE",
5959
* // LatestRevision: { // ConfigurationRevision

0 commit comments

Comments
 (0)