diff --git a/clients/client-mq/README.md b/clients/client-mq/README.md index 3b8650f824c0..8fefd40a400a 100644 --- a/clients/client-mq/README.md +++ b/clients/client-mq/README.md @@ -346,6 +346,14 @@ ListUsers [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) + +
+ +Promote + + +[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) +
diff --git a/clients/client-mq/src/Mq.ts b/clients/client-mq/src/Mq.ts index c20d1bc58a98..73a1629c951d 100644 --- a/clients/client-mq/src/Mq.ts +++ b/clients/client-mq/src/Mq.ts @@ -64,6 +64,7 @@ import { } from "./commands/ListConfigurationsCommand"; import { ListTagsCommand, ListTagsCommandInput, ListTagsCommandOutput } from "./commands/ListTagsCommand"; import { ListUsersCommand, ListUsersCommandInput, ListUsersCommandOutput } from "./commands/ListUsersCommand"; +import { PromoteCommand, PromoteCommandInput, PromoteCommandOutput } from "./commands/PromoteCommand"; import { RebootBrokerCommand, RebootBrokerCommandInput, @@ -101,6 +102,7 @@ const commands = { ListConfigurationsCommand, ListTagsCommand, ListUsersCommand, + PromoteCommand, RebootBrokerCommand, UpdateBrokerCommand, UpdateConfigurationCommand, @@ -351,6 +353,17 @@ export interface Mq { cb: (err: any, data?: ListUsersCommandOutput) => void ): void; + /** + * @see {@link PromoteCommand} + */ + promote(args: PromoteCommandInput, options?: __HttpHandlerOptions): Promise; + promote(args: PromoteCommandInput, cb: (err: any, data?: PromoteCommandOutput) => void): void; + promote( + args: PromoteCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PromoteCommandOutput) => void + ): void; + /** * @see {@link RebootBrokerCommand} */ diff --git a/clients/client-mq/src/MqClient.ts b/clients/client-mq/src/MqClient.ts index 57c58a772a85..81150487b21d 100644 --- a/clients/client-mq/src/MqClient.ts +++ b/clients/client-mq/src/MqClient.ts @@ -87,6 +87,7 @@ import { import { ListConfigurationsCommandInput, ListConfigurationsCommandOutput } from "./commands/ListConfigurationsCommand"; import { ListTagsCommandInput, ListTagsCommandOutput } from "./commands/ListTagsCommand"; import { ListUsersCommandInput, ListUsersCommandOutput } from "./commands/ListUsersCommand"; +import { PromoteCommandInput, PromoteCommandOutput } from "./commands/PromoteCommand"; import { RebootBrokerCommandInput, RebootBrokerCommandOutput } from "./commands/RebootBrokerCommand"; import { UpdateBrokerCommandInput, UpdateBrokerCommandOutput } from "./commands/UpdateBrokerCommand"; import { @@ -126,6 +127,7 @@ export type ServiceInputTypes = | ListConfigurationsCommandInput | ListTagsCommandInput | ListUsersCommandInput + | PromoteCommandInput | RebootBrokerCommandInput | UpdateBrokerCommandInput | UpdateConfigurationCommandInput @@ -153,6 +155,7 @@ export type ServiceOutputTypes = | ListConfigurationsCommandOutput | ListTagsCommandOutput | ListUsersCommandOutput + | PromoteCommandOutput | RebootBrokerCommandOutput | UpdateBrokerCommandOutput | UpdateConfigurationCommandOutput diff --git a/clients/client-mq/src/commands/CreateBrokerCommand.ts b/clients/client-mq/src/commands/CreateBrokerCommand.ts index e66d9ed43daa..5f787defee57 100644 --- a/clients/client-mq/src/commands/CreateBrokerCommand.ts +++ b/clients/client-mq/src/commands/CreateBrokerCommand.ts @@ -36,7 +36,7 @@ export interface CreateBrokerCommandOutput extends CreateBrokerResponse, __Metad /** * @public - *

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.

+ *

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 Amazon Web Services Credentials and Never Modify or Delete the Amazon MQ Elastic Network Interface in the Amazon MQ Developer Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -44,7 +44,7 @@ export interface CreateBrokerCommandOutput extends CreateBrokerResponse, __Metad * // const { MqClient, CreateBrokerCommand } = require("@aws-sdk/client-mq"); // CommonJS import * const client = new MqClient(config); * const input = { // CreateBrokerRequest - * AuthenticationStrategy: "STRING_VALUE", + * AuthenticationStrategy: "SIMPLE" || "LDAP", * AutoMinorVersionUpgrade: true || false, // required * BrokerName: "STRING_VALUE", // required * Configuration: { // ConfigurationId @@ -52,12 +52,12 @@ export interface CreateBrokerCommandOutput extends CreateBrokerResponse, __Metad * Revision: Number("int"), * }, * CreatorRequestId: "STRING_VALUE", - * DeploymentMode: "STRING_VALUE", // required + * DeploymentMode: "SINGLE_INSTANCE" || "ACTIVE_STANDBY_MULTI_AZ" || "CLUSTER_MULTI_AZ", // required * EncryptionOptions: { // EncryptionOptions * KmsKeyId: "STRING_VALUE", * UseAwsOwnedKey: true || false, // required * }, - * EngineType: "STRING_VALUE", // required + * EngineType: "ACTIVEMQ" || "RABBITMQ", // required * EngineVersion: "STRING_VALUE", // required * HostInstanceType: "STRING_VALUE", // required * LdapServerMetadata: { // LdapServerMetadataInput @@ -80,7 +80,7 @@ export interface CreateBrokerCommandOutput extends CreateBrokerResponse, __Metad * General: true || false, * }, * MaintenanceWindowStartTime: { // WeeklyStartTime - * DayOfWeek: "STRING_VALUE", // required + * DayOfWeek: "MONDAY" || "TUESDAY" || "WEDNESDAY" || "THURSDAY" || "FRIDAY" || "SATURDAY" || "SUNDAY", // required * TimeOfDay: "STRING_VALUE", // required * TimeZone: "STRING_VALUE", * }, @@ -88,7 +88,7 @@ export interface CreateBrokerCommandOutput extends CreateBrokerResponse, __Metad * SecurityGroups: [ * "STRING_VALUE", * ], - * StorageType: "STRING_VALUE", + * StorageType: "EBS" || "EFS", * SubnetIds: [ * "STRING_VALUE", * ], @@ -101,8 +101,11 @@ export interface CreateBrokerCommandOutput extends CreateBrokerResponse, __Metad * Groups: "<__listOf__string>", * Password: "STRING_VALUE", // required * Username: "STRING_VALUE", // required + * ReplicationUser: true || false, * }, * ], + * DataReplicationMode: "NONE" || "CRDR", + * DataReplicationPrimaryBrokerArn: "STRING_VALUE", * }; * const command = new CreateBrokerCommand(input); * const response = await client.send(command); diff --git a/clients/client-mq/src/commands/CreateConfigurationCommand.ts b/clients/client-mq/src/commands/CreateConfigurationCommand.ts index 23d8e98ab442..8b23d1fade00 100644 --- a/clients/client-mq/src/commands/CreateConfigurationCommand.ts +++ b/clients/client-mq/src/commands/CreateConfigurationCommand.ts @@ -44,8 +44,8 @@ export interface CreateConfigurationCommandOutput extends CreateConfigurationRes * // const { MqClient, CreateConfigurationCommand } = require("@aws-sdk/client-mq"); // CommonJS import * const client = new MqClient(config); * const input = { // CreateConfigurationRequest - * AuthenticationStrategy: "STRING_VALUE", - * EngineType: "STRING_VALUE", // required + * AuthenticationStrategy: "SIMPLE" || "LDAP", + * EngineType: "ACTIVEMQ" || "RABBITMQ", // required * EngineVersion: "STRING_VALUE", // required * Name: "STRING_VALUE", // required * Tags: { // __mapOf__string @@ -56,7 +56,7 @@ export interface CreateConfigurationCommandOutput extends CreateConfigurationRes * const response = await client.send(command); * // { // CreateConfigurationResponse * // Arn: "STRING_VALUE", - * // AuthenticationStrategy: "STRING_VALUE", + * // AuthenticationStrategy: "SIMPLE" || "LDAP", * // Created: new Date("TIMESTAMP"), * // Id: "STRING_VALUE", * // LatestRevision: { // ConfigurationRevision diff --git a/clients/client-mq/src/commands/CreateUserCommand.ts b/clients/client-mq/src/commands/CreateUserCommand.ts index a16c7f2e7e08..919cf077a60a 100644 --- a/clients/client-mq/src/commands/CreateUserCommand.ts +++ b/clients/client-mq/src/commands/CreateUserCommand.ts @@ -36,7 +36,7 @@ export interface CreateUserCommandOutput extends CreateUserResponse, __MetadataB /** * @public - *

Creates an ActiveMQ user.

+ *

Creates an ActiveMQ user.

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.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -51,6 +51,7 @@ export interface CreateUserCommandOutput extends CreateUserResponse, __MetadataB * ], * Password: "STRING_VALUE", // required * Username: "STRING_VALUE", // required + * ReplicationUser: true || false, * }; * const command = new CreateUserCommand(input); * const response = await client.send(command); diff --git a/clients/client-mq/src/commands/DescribeBrokerCommand.ts b/clients/client-mq/src/commands/DescribeBrokerCommand.ts index c91aeb6728e5..ea08f9c8dd94 100644 --- a/clients/client-mq/src/commands/DescribeBrokerCommand.ts +++ b/clients/client-mq/src/commands/DescribeBrokerCommand.ts @@ -55,7 +55,7 @@ export interface DescribeBrokerCommandOutput extends DescribeBrokerResponse, __M * // ActionRequiredInfo: "STRING_VALUE", * // }, * // ], - * // AuthenticationStrategy: "STRING_VALUE", + * // AuthenticationStrategy: "SIMPLE" || "LDAP", * // AutoMinorVersionUpgrade: true || false, * // BrokerArn: "STRING_VALUE", * // BrokerId: "STRING_VALUE", @@ -69,7 +69,7 @@ export interface DescribeBrokerCommandOutput extends DescribeBrokerResponse, __M * // }, * // ], * // BrokerName: "STRING_VALUE", - * // BrokerState: "STRING_VALUE", + * // BrokerState: "CREATION_IN_PROGRESS" || "CREATION_FAILED" || "DELETION_IN_PROGRESS" || "RUNNING" || "REBOOT_IN_PROGRESS" || "CRITICAL_ACTION_REQUIRED" || "REPLICA", * // Configurations: { // Configurations * // Current: { // ConfigurationId * // Id: "STRING_VALUE", // required @@ -87,12 +87,12 @@ export interface DescribeBrokerCommandOutput extends DescribeBrokerResponse, __M * // }, * // }, * // Created: new Date("TIMESTAMP"), - * // DeploymentMode: "STRING_VALUE", + * // DeploymentMode: "SINGLE_INSTANCE" || "ACTIVE_STANDBY_MULTI_AZ" || "CLUSTER_MULTI_AZ", * // EncryptionOptions: { // EncryptionOptions * // KmsKeyId: "STRING_VALUE", * // UseAwsOwnedKey: true || false, // required * // }, - * // EngineType: "STRING_VALUE", + * // EngineType: "ACTIVEMQ" || "RABBITMQ", * // EngineVersion: "STRING_VALUE", * // HostInstanceType: "STRING_VALUE", * // LdapServerMetadata: { // LdapServerMetadataOutput @@ -120,11 +120,11 @@ export interface DescribeBrokerCommandOutput extends DescribeBrokerResponse, __M * // }, * // }, * // MaintenanceWindowStartTime: { // WeeklyStartTime - * // DayOfWeek: "STRING_VALUE", // required + * // DayOfWeek: "MONDAY" || "TUESDAY" || "WEDNESDAY" || "THURSDAY" || "FRIDAY" || "SATURDAY" || "SUNDAY", // required * // TimeOfDay: "STRING_VALUE", // required * // TimeZone: "STRING_VALUE", * // }, - * // PendingAuthenticationStrategy: "STRING_VALUE", + * // PendingAuthenticationStrategy: "SIMPLE" || "LDAP", * // PendingEngineVersion: "STRING_VALUE", * // PendingHostInstanceType: "STRING_VALUE", * // PendingLdapServerMetadata: { @@ -144,17 +144,33 @@ export interface DescribeBrokerCommandOutput extends DescribeBrokerResponse, __M * // PendingSecurityGroups: "<__listOf__string>", * // PubliclyAccessible: true || false, * // SecurityGroups: "<__listOf__string>", - * // StorageType: "STRING_VALUE", + * // StorageType: "EBS" || "EFS", * // SubnetIds: "<__listOf__string>", * // Tags: { // __mapOf__string * // "": "STRING_VALUE", * // }, * // Users: [ // __listOfUserSummary * // { // UserSummary - * // PendingChange: "STRING_VALUE", + * // PendingChange: "CREATE" || "UPDATE" || "DELETE", * // Username: "STRING_VALUE", // required * // }, * // ], + * // DataReplicationMetadata: { // DataReplicationMetadataOutput + * // DataReplicationCounterpart: { // DataReplicationCounterpart + * // BrokerId: "STRING_VALUE", // required + * // Region: "STRING_VALUE", // required + * // }, + * // DataReplicationRole: "STRING_VALUE", // required + * // }, + * // DataReplicationMode: "NONE" || "CRDR", + * // PendingDataReplicationMetadata: { + * // DataReplicationCounterpart: { + * // BrokerId: "STRING_VALUE", // required + * // Region: "STRING_VALUE", // required + * // }, + * // DataReplicationRole: "STRING_VALUE", // required + * // }, + * // PendingDataReplicationMode: "NONE" || "CRDR", * // }; * * ``` diff --git a/clients/client-mq/src/commands/DescribeBrokerEngineTypesCommand.ts b/clients/client-mq/src/commands/DescribeBrokerEngineTypesCommand.ts index 5c17cfe2e762..60fb8e866e97 100644 --- a/clients/client-mq/src/commands/DescribeBrokerEngineTypesCommand.ts +++ b/clients/client-mq/src/commands/DescribeBrokerEngineTypesCommand.ts @@ -53,7 +53,7 @@ export interface DescribeBrokerEngineTypesCommandOutput extends DescribeBrokerEn * // { // DescribeBrokerEngineTypesResponse * // BrokerEngineTypes: [ // __listOfBrokerEngineType * // { // BrokerEngineType - * // EngineType: "STRING_VALUE", + * // EngineType: "ACTIVEMQ" || "RABBITMQ", * // EngineVersions: [ // __listOfEngineVersion * // { // EngineVersion * // Name: "STRING_VALUE", diff --git a/clients/client-mq/src/commands/DescribeBrokerInstanceOptionsCommand.ts b/clients/client-mq/src/commands/DescribeBrokerInstanceOptionsCommand.ts index d3c83902c5b4..047639754117 100644 --- a/clients/client-mq/src/commands/DescribeBrokerInstanceOptionsCommand.ts +++ b/clients/client-mq/src/commands/DescribeBrokerInstanceOptionsCommand.ts @@ -65,11 +65,11 @@ export interface DescribeBrokerInstanceOptionsCommandOutput * // Name: "STRING_VALUE", * // }, * // ], - * // EngineType: "STRING_VALUE", + * // EngineType: "ACTIVEMQ" || "RABBITMQ", * // HostInstanceType: "STRING_VALUE", - * // StorageType: "STRING_VALUE", + * // StorageType: "EBS" || "EFS", * // SupportedDeploymentModes: [ // __listOfDeploymentMode - * // "STRING_VALUE", + * // "SINGLE_INSTANCE" || "ACTIVE_STANDBY_MULTI_AZ" || "CLUSTER_MULTI_AZ", * // ], * // SupportedEngineVersions: [ // __listOf__string * // "STRING_VALUE", diff --git a/clients/client-mq/src/commands/DescribeConfigurationCommand.ts b/clients/client-mq/src/commands/DescribeConfigurationCommand.ts index fbca52f5d308..669d3025e71d 100644 --- a/clients/client-mq/src/commands/DescribeConfigurationCommand.ts +++ b/clients/client-mq/src/commands/DescribeConfigurationCommand.ts @@ -50,10 +50,10 @@ export interface DescribeConfigurationCommandOutput extends DescribeConfiguratio * const response = await client.send(command); * // { // DescribeConfigurationResponse * // Arn: "STRING_VALUE", - * // AuthenticationStrategy: "STRING_VALUE", + * // AuthenticationStrategy: "SIMPLE" || "LDAP", * // Created: new Date("TIMESTAMP"), * // Description: "STRING_VALUE", - * // EngineType: "STRING_VALUE", + * // EngineType: "ACTIVEMQ" || "RABBITMQ", * // EngineVersion: "STRING_VALUE", * // Id: "STRING_VALUE", * // LatestRevision: { // ConfigurationRevision diff --git a/clients/client-mq/src/commands/DescribeUserCommand.ts b/clients/client-mq/src/commands/DescribeUserCommand.ts index 6a72af346795..3187d4ab9b34 100644 --- a/clients/client-mq/src/commands/DescribeUserCommand.ts +++ b/clients/client-mq/src/commands/DescribeUserCommand.ts @@ -60,9 +60,10 @@ export interface DescribeUserCommandOutput extends DescribeUserResponse, __Metad * // Groups: [ * // "STRING_VALUE", * // ], - * // PendingChange: "STRING_VALUE", // required + * // PendingChange: "CREATE" || "UPDATE" || "DELETE", // required * // }, * // Username: "STRING_VALUE", + * // ReplicationUser: true || false, * // }; * * ``` diff --git a/clients/client-mq/src/commands/ListBrokersCommand.ts b/clients/client-mq/src/commands/ListBrokersCommand.ts index fe87b574583c..4a7419785ef3 100644 --- a/clients/client-mq/src/commands/ListBrokersCommand.ts +++ b/clients/client-mq/src/commands/ListBrokersCommand.ts @@ -55,10 +55,10 @@ export interface ListBrokersCommandOutput extends ListBrokersResponse, __Metadat * // BrokerArn: "STRING_VALUE", * // BrokerId: "STRING_VALUE", * // BrokerName: "STRING_VALUE", - * // BrokerState: "STRING_VALUE", + * // BrokerState: "CREATION_IN_PROGRESS" || "CREATION_FAILED" || "DELETION_IN_PROGRESS" || "RUNNING" || "REBOOT_IN_PROGRESS" || "CRITICAL_ACTION_REQUIRED" || "REPLICA", * // Created: new Date("TIMESTAMP"), - * // DeploymentMode: "STRING_VALUE", // required - * // EngineType: "STRING_VALUE", // required + * // DeploymentMode: "SINGLE_INSTANCE" || "ACTIVE_STANDBY_MULTI_AZ" || "CLUSTER_MULTI_AZ", // required + * // EngineType: "ACTIVEMQ" || "RABBITMQ", // required * // HostInstanceType: "STRING_VALUE", * // }, * // ], diff --git a/clients/client-mq/src/commands/ListConfigurationsCommand.ts b/clients/client-mq/src/commands/ListConfigurationsCommand.ts index 714d0b82bc6e..b751753f2c72 100644 --- a/clients/client-mq/src/commands/ListConfigurationsCommand.ts +++ b/clients/client-mq/src/commands/ListConfigurationsCommand.ts @@ -53,10 +53,10 @@ export interface ListConfigurationsCommandOutput extends ListConfigurationsRespo * // Configurations: [ // __listOfConfiguration * // { // Configuration * // Arn: "STRING_VALUE", // required - * // AuthenticationStrategy: "STRING_VALUE", // required + * // AuthenticationStrategy: "SIMPLE" || "LDAP", // required * // Created: new Date("TIMESTAMP"), // required * // Description: "STRING_VALUE", // required - * // EngineType: "STRING_VALUE", // required + * // EngineType: "ACTIVEMQ" || "RABBITMQ", // required * // EngineVersion: "STRING_VALUE", // required * // Id: "STRING_VALUE", // required * // LatestRevision: { // ConfigurationRevision diff --git a/clients/client-mq/src/commands/ListUsersCommand.ts b/clients/client-mq/src/commands/ListUsersCommand.ts index 7f329f0bfd32..dc7561a93267 100644 --- a/clients/client-mq/src/commands/ListUsersCommand.ts +++ b/clients/client-mq/src/commands/ListUsersCommand.ts @@ -56,7 +56,7 @@ export interface ListUsersCommandOutput extends ListUsersResponse, __MetadataBea * // NextToken: "STRING_VALUE", * // Users: [ // __listOfUserSummary * // { // UserSummary - * // PendingChange: "STRING_VALUE", + * // PendingChange: "CREATE" || "UPDATE" || "DELETE", * // Username: "STRING_VALUE", // required * // }, * // ], diff --git a/clients/client-mq/src/commands/PromoteCommand.ts b/clients/client-mq/src/commands/PromoteCommand.ts new file mode 100644 index 000000000000..19e897e75daf --- /dev/null +++ b/clients/client-mq/src/commands/PromoteCommand.ts @@ -0,0 +1,149 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@aws-sdk/middleware-endpoint"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, +} from "@aws-sdk/types"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { SerdeContext as __SerdeContext } from "@smithy/types"; + +import { PromoteRequest, PromoteResponse } from "../models/models_0"; +import { MqClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MqClient"; +import { de_PromoteCommand, se_PromoteCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link PromoteCommand}. + */ +export interface PromoteCommandInput extends PromoteRequest {} +/** + * @public + * + * The output of {@link PromoteCommand}. + */ +export interface PromoteCommandOutput extends PromoteResponse, __MetadataBearer {} + +/** + * @public + *

Promotes a data replication replica broker to the primary broker role.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MqClient, PromoteCommand } from "@aws-sdk/client-mq"; // ES Modules import + * // const { MqClient, PromoteCommand } = require("@aws-sdk/client-mq"); // CommonJS import + * const client = new MqClient(config); + * const input = { // PromoteRequest + * BrokerId: "STRING_VALUE", // required + * Mode: "SWITCHOVER" || "FAILOVER", // required + * }; + * const command = new PromoteCommand(input); + * const response = await client.send(command); + * // { // PromoteResponse + * // BrokerId: "STRING_VALUE", + * // }; + * + * ``` + * + * @param PromoteCommandInput - {@link PromoteCommandInput} + * @returns {@link PromoteCommandOutput} + * @see {@link PromoteCommandInput} for command's `input` shape. + * @see {@link PromoteCommandOutput} for command's `response` shape. + * @see {@link MqClientResolvedConfig | config} for MqClient's `config` shape. + * + * @throws {@link BadRequestException} (client fault) + *

Returns information about an error.

+ * + * @throws {@link ForbiddenException} (client fault) + *

Returns information about an error.

+ * + * @throws {@link InternalServerErrorException} (server fault) + *

Returns information about an error.

+ * + * @throws {@link NotFoundException} (client fault) + *

Returns information about an error.

+ * + * @throws {@link MqServiceException} + *

Base exception class for all service exceptions from Mq service.

+ * + */ +export class PromoteCommand extends $Command { + // Start section: command_properties + // End section: command_properties + + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: PromoteCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: MqClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use(getEndpointPlugin(configuration, PromoteCommand.getEndpointParameterInstructions())); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "MqClient"; + const commandName = "PromoteCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: PromoteCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_PromoteCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_PromoteCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-mq/src/commands/UpdateBrokerCommand.ts b/clients/client-mq/src/commands/UpdateBrokerCommand.ts index f9c81837eb38..2f49779d82ff 100644 --- a/clients/client-mq/src/commands/UpdateBrokerCommand.ts +++ b/clients/client-mq/src/commands/UpdateBrokerCommand.ts @@ -44,7 +44,7 @@ export interface UpdateBrokerCommandOutput extends UpdateBrokerResponse, __Metad * // const { MqClient, UpdateBrokerCommand } = require("@aws-sdk/client-mq"); // CommonJS import * const client = new MqClient(config); * const input = { // UpdateBrokerRequest - * AuthenticationStrategy: "STRING_VALUE", + * AuthenticationStrategy: "SIMPLE" || "LDAP", * AutoMinorVersionUpgrade: true || false, * BrokerId: "STRING_VALUE", // required * Configuration: { // ConfigurationId @@ -73,18 +73,19 @@ export interface UpdateBrokerCommandOutput extends UpdateBrokerResponse, __Metad * General: true || false, * }, * MaintenanceWindowStartTime: { // WeeklyStartTime - * DayOfWeek: "STRING_VALUE", // required + * DayOfWeek: "MONDAY" || "TUESDAY" || "WEDNESDAY" || "THURSDAY" || "FRIDAY" || "SATURDAY" || "SUNDAY", // required * TimeOfDay: "STRING_VALUE", // required * TimeZone: "STRING_VALUE", * }, * SecurityGroups: [ * "STRING_VALUE", * ], + * DataReplicationMode: "NONE" || "CRDR", * }; * const command = new UpdateBrokerCommand(input); * const response = await client.send(command); * // { // UpdateBrokerResponse - * // AuthenticationStrategy: "STRING_VALUE", + * // AuthenticationStrategy: "SIMPLE" || "LDAP", * // AutoMinorVersionUpgrade: true || false, * // BrokerId: "STRING_VALUE", * // Configuration: { // ConfigurationId @@ -112,13 +113,29 @@ export interface UpdateBrokerCommandOutput extends UpdateBrokerResponse, __Metad * // General: true || false, * // }, * // MaintenanceWindowStartTime: { // WeeklyStartTime - * // DayOfWeek: "STRING_VALUE", // required + * // DayOfWeek: "MONDAY" || "TUESDAY" || "WEDNESDAY" || "THURSDAY" || "FRIDAY" || "SATURDAY" || "SUNDAY", // required * // TimeOfDay: "STRING_VALUE", // required * // TimeZone: "STRING_VALUE", * // }, * // SecurityGroups: [ * // "STRING_VALUE", * // ], + * // DataReplicationMetadata: { // DataReplicationMetadataOutput + * // DataReplicationCounterpart: { // DataReplicationCounterpart + * // BrokerId: "STRING_VALUE", // required + * // Region: "STRING_VALUE", // required + * // }, + * // DataReplicationRole: "STRING_VALUE", // required + * // }, + * // DataReplicationMode: "NONE" || "CRDR", + * // PendingDataReplicationMetadata: { + * // DataReplicationCounterpart: { + * // BrokerId: "STRING_VALUE", // required + * // Region: "STRING_VALUE", // required + * // }, + * // DataReplicationRole: "STRING_VALUE", // required + * // }, + * // PendingDataReplicationMode: "NONE" || "CRDR", * // }; * * ``` diff --git a/clients/client-mq/src/commands/UpdateConfigurationCommand.ts b/clients/client-mq/src/commands/UpdateConfigurationCommand.ts index 9406be9914e6..67fb84dde0a0 100644 --- a/clients/client-mq/src/commands/UpdateConfigurationCommand.ts +++ b/clients/client-mq/src/commands/UpdateConfigurationCommand.ts @@ -64,7 +64,7 @@ export interface UpdateConfigurationCommandOutput extends UpdateConfigurationRes * // { // SanitizationWarning * // AttributeName: "STRING_VALUE", * // ElementName: "STRING_VALUE", - * // Reason: "STRING_VALUE", // required + * // Reason: "DISALLOWED_ELEMENT_REMOVED" || "DISALLOWED_ATTRIBUTE_REMOVED" || "INVALID_ATTRIBUTE_VALUE_REMOVED", // required * // }, * // ], * // }; diff --git a/clients/client-mq/src/commands/UpdateUserCommand.ts b/clients/client-mq/src/commands/UpdateUserCommand.ts index 1be75c761e86..3f8d594b59ed 100644 --- a/clients/client-mq/src/commands/UpdateUserCommand.ts +++ b/clients/client-mq/src/commands/UpdateUserCommand.ts @@ -51,6 +51,7 @@ export interface UpdateUserCommandOutput extends UpdateUserResponse, __MetadataB * ], * Password: "STRING_VALUE", * Username: "STRING_VALUE", // required + * ReplicationUser: true || false, * }; * const command = new UpdateUserCommand(input); * const response = await client.send(command); diff --git a/clients/client-mq/src/commands/index.ts b/clients/client-mq/src/commands/index.ts index b4f8a2436ac9..f93fa72671dc 100644 --- a/clients/client-mq/src/commands/index.ts +++ b/clients/client-mq/src/commands/index.ts @@ -17,6 +17,7 @@ export * from "./ListConfigurationRevisionsCommand"; export * from "./ListConfigurationsCommand"; export * from "./ListTagsCommand"; export * from "./ListUsersCommand"; +export * from "./PromoteCommand"; export * from "./RebootBrokerCommand"; export * from "./UpdateBrokerCommand"; export * from "./UpdateConfigurationCommand"; diff --git a/clients/client-mq/src/endpoint/ruleset.ts b/clients/client-mq/src/endpoint/ruleset.ts index 8f305d1d04fa..146a55d3fd70 100644 --- a/clients/client-mq/src/endpoint/ruleset.ts +++ b/clients/client-mq/src/endpoint/ruleset.ts @@ -6,24 +6,25 @@ import { RuleSetObject } from "@aws-sdk/util-endpoints"; or see "smithy.rules#endpointRuleSet" in codegen/sdk-codegen/aws-models/mq.json */ -const p="required", -q="fn", -r="argv", -s="ref"; -const a="PartitionResult", +const q="required", +r="fn", +s="argv", +t="ref"; +const a="isSet", b="tree", c="error", d="endpoint", -e={[p]:false,"type":"String"}, -f={[p]:true,"default":false,"type":"Boolean"}, -g={[s]:"Endpoint"}, -h={[q]:"booleanEquals",[r]:[{[s]:"UseFIPS"},true]}, -i={[q]:"booleanEquals",[r]:[{[s]:"UseDualStack"},true]}, -j={}, -k={[q]:"booleanEquals",[r]:[true,{[q]:"getAttr",[r]:[{[s]:a},"supportsFIPS"]}]}, -l={[q]:"booleanEquals",[r]:[true,{[q]:"getAttr",[r]:[{[s]:a},"supportsDualStack"]}]}, -m=[g], -n=[h], -o=[i]; -const _data={version:"1.0",parameters:{Region:e,UseDualStack:f,UseFIPS:f,Endpoint:e},rules:[{conditions:[{[q]:"aws.partition",[r]:[{[s]:"Region"}],assign:a}],type:b,rules:[{conditions:[{[q]:"isSet",[r]:m},{[q]:"parseURL",[r]:m,assign:"url"}],type:b,rules:[{conditions:n,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:c},{type:b,rules:[{conditions:o,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:c},{endpoint:{url:g,properties:j,headers:j},type:d}]}]},{conditions:[h,i],type:b,rules:[{conditions:[k,l],type:b,rules:[{endpoint:{url:"https://mq-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:j,headers:j},type:d}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:c}]},{conditions:n,type:b,rules:[{conditions:[k],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://mq-fips.{Region}.{PartitionResult#dnsSuffix}",properties:j,headers:j},type:d}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:c}]},{conditions:o,type:b,rules:[{conditions:[l],type:b,rules:[{endpoint:{url:"https://mq.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:j,headers:j},type:d}]},{error:"DualStack is enabled but this partition does not support DualStack",type:c}]},{endpoint:{url:"https://mq.{Region}.{PartitionResult#dnsSuffix}",properties:j,headers:j},type:d}]}]}; +e="PartitionResult", +f={[q]:false,"type":"String"}, +g={[q]:true,"default":false,"type":"Boolean"}, +h={[t]:"Endpoint"}, +i={[r]:"booleanEquals",[s]:[{[t]:"UseFIPS"},true]}, +j={[r]:"booleanEquals",[s]:[{[t]:"UseDualStack"},true]}, +k={}, +l={[r]:"booleanEquals",[s]:[true,{[r]:"getAttr",[s]:[{[t]:e},"supportsFIPS"]}]}, +m={[r]:"booleanEquals",[s]:[true,{[r]:"getAttr",[s]:[{[t]:e},"supportsDualStack"]}]}, +n=[i], +o=[j], +p=[{[t]:"Region"}]; +const _data={version:"1.0",parameters:{Region:f,UseDualStack:g,UseFIPS:g,Endpoint:f},rules:[{conditions:[{[r]:a,[s]:[h]}],type:b,rules:[{conditions:n,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:c},{type:b,rules:[{conditions:o,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:c},{endpoint:{url:h,properties:k,headers:k},type:d}]}]},{type:b,rules:[{conditions:[{[r]:a,[s]:p}],type:b,rules:[{conditions:[{[r]:"aws.partition",[s]:p,assign:e}],type:b,rules:[{conditions:[i,j],type:b,rules:[{conditions:[l,m],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://mq-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:c}]},{conditions:n,type:b,rules:[{conditions:[l],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://mq-fips.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:c}]},{conditions:o,type:b,rules:[{conditions:[m],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://mq.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"DualStack is enabled but this partition does not support DualStack",type:c}]},{type:b,rules:[{endpoint:{url:"https://mq.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]}]},{error:"Invalid Configuration: Missing Region",type:c}]}]}; export const ruleSet: RuleSetObject = _data; diff --git a/clients/client-mq/src/models/models_0.ts b/clients/client-mq/src/models/models_0.ts index 5e0aae00dacf..c4b82ffd815b 100644 --- a/clients/client-mq/src/models/models_0.ts +++ b/clients/client-mq/src/models/models_0.ts @@ -5,16 +5,16 @@ import { MqServiceException as __BaseException } from "./MqServiceException"; /** * @public - *

The action required to resolve a broker issue when the broker is in a CRITICAL_ACTION_REQUIRED state.

+ *

Action required for a broker.

*/ export interface ActionRequired { /** - *

The code you can use to resolve your broker issue when the broker is in a CRITICAL_ACTION_REQUIRED state. You can find instructions by choosing the link for your code from the list of action required codes in Amazon MQ action required codes. Each code references a topic with detailed information, instructions, and recommendations for how to resolve the issue and prevent future occurrences.

+ *

The code you can use to find instructions on the action required to resolve your broker issue.

*/ ActionRequiredCode?: string; /** - *

Information about the action required to resolve your broker issue when the broker is in a CRITICAL_ACTION_REQUIRED state.

+ *

Information about the action required to resolve your broker issue.

*/ ActionRequiredInfo?: string; } @@ -167,6 +167,7 @@ export const BrokerState = { CRITICAL_ACTION_REQUIRED: "CRITICAL_ACTION_REQUIRED", DELETION_IN_PROGRESS: "DELETION_IN_PROGRESS", REBOOT_IN_PROGRESS: "REBOOT_IN_PROGRESS", + REPLICA: "REPLICA", RUNNING: "RUNNING", } as const; @@ -191,7 +192,7 @@ export interface BrokerSummary { BrokerId?: string; /** - *

The broker's name. This value is unique in your AWS account, 1-50 characters long, and containing only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets, wildcard characters, or special characters.

+ *

The broker's name. This value is unique in your Amazon Web Services account, 1-50 characters long, and containing only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets, wildcard characters, or special characters.

*/ BrokerName?: string; @@ -314,7 +315,7 @@ export interface Configuration { /** * @public - *

A list of information about the configuration.

Does not apply to RabbitMQ brokers.

+ *

A list of information about the configuration.

*/ export interface ConfigurationId { /** @@ -345,28 +346,28 @@ export type SanitizationWarningReason = (typeof SanitizationWarningReason)[keyof /** * @public - *

Returns information about the XML element or attribute that was sanitized in the configuration.

+ *

Returns information about the configuration element or attribute that was sanitized in the configuration.

*/ export interface SanitizationWarning { /** - *

The name of the XML attribute that has been sanitized.

+ *

The name of the configuration attribute that has been sanitized.

*/ AttributeName?: string; /** - *

The name of the XML element that has been sanitized.

+ *

The name of the configuration element that has been sanitized.

*/ ElementName?: string; /** - *

Required. The reason for which the XML elements or attributes were sanitized.

+ *

The reason for which the configuration elements or attributes were sanitized.

*/ Reason: SanitizationWarningReason | string | undefined; } /** * @public - *

A user associated with the broker. 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.

+ *

A user associated with the broker. 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.

*/ export interface User { /** @@ -385,9 +386,14 @@ export interface User { Password: string | undefined; /** - *

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

/important> Amazon MQ for RabbitMQ

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.

+ *

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.

  • para>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 Amazon Web Services services, including CloudWatch Logs. Broker usernames are not intended to be used for private or sensitive data.

*/ Username: string | undefined; + + /** + *

Defines if this user is intended for CRDR replication purposes.

+ */ + ReplicationUser?: boolean; } /** @@ -506,16 +512,30 @@ export class ConflictException extends __BaseException { /** * @public - *

Does not apply to RabbitMQ brokers.

Encryption options for the broker.

+ * @enum + */ +export const DataReplicationMode = { + CRDR: "CRDR", + NONE: "NONE", +} as const; + +/** + * @public + */ +export type DataReplicationMode = (typeof DataReplicationMode)[keyof typeof DataReplicationMode]; + +/** + * @public + *

Encryption options for the broker.

*/ export interface EncryptionOptions { /** - *

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.

+ *

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

*/ KmsKeyId?: string; /** - *

Enables the use of an AWS owned CMK using AWS Key Management Service (KMS). Set to true by default, if no value is provided, for example, for RabbitMQ brokers.

+ *

Enables the use of an Amazon Web Services owned CMK using KMS (KMS). Set to true by default, if no value is provided, for example, for RabbitMQ brokers.

*/ UseAwsOwnedKey: boolean | undefined; } @@ -526,7 +546,7 @@ export interface EncryptionOptions { */ export interface LdapServerMetadataInput { /** - *

Specifies the location of the LDAP server such as AWS Directory Service for Microsoft Active Directory . Optional failover server.

+ *

Specifies the location of the LDAP server such as Directory Service for Microsoft Active Directory. Optional failover server.

*/ Hosts: string[] | undefined; @@ -658,7 +678,7 @@ export interface CreateBrokerRequest { AutoMinorVersionUpgrade: boolean | undefined; /** - *

Required. The broker's name. 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.

+ *

Required. The broker's name. This value must be unique in your Amazon Web Services 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 Amazon Web Services services, including CloudWatch Logs. Broker names are not intended to be used for private or sensitive data.

*/ BrokerName: string | undefined; @@ -668,7 +688,7 @@ export interface CreateBrokerRequest { Configuration?: ConfigurationId; /** - *

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.

+ *

The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API action.

We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the creatorRequestId if your application doesn't require idempotency.

*/ CreatorRequestId?: string; @@ -678,7 +698,7 @@ export interface CreateBrokerRequest { DeploymentMode: DeploymentMode | string | undefined; /** - *

Encryption options for the broker. Does not apply to RabbitMQ brokers.

+ *

Encryption options for the broker.

*/ EncryptionOptions?: EncryptionOptions; @@ -728,7 +748,7 @@ export interface CreateBrokerRequest { StorageType?: BrokerStorageType | string; /** - *

The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones. 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 Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ deployment 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 endpoints in VPCs that are not owned by your AWS account.

+ *

The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones. 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 Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ deployment 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 Amazon Web Services account. Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by your Amazon Web Services account.

*/ SubnetIds?: string[]; @@ -738,9 +758,19 @@ export interface CreateBrokerRequest { Tags?: Record; /** - *

Required. The list of broker 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.

Amazon MQ for RabbitMQ

When you create an Amazon MQ for RabbitMQ broker, 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.

+ *

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.

*/ Users: User[] | undefined; + + /** + *

Defines whether this broker is a part of a data replication pair.

+ */ + DataReplicationMode?: DataReplicationMode | string; + + /** + *

The Amazon Resource Name (ARN) of the primary broker that is used to replicate data from in a data replication pair, and is applied to the replica broker. Must be set when dataReplicationMode is set to CRDR.

+ */ + DataReplicationPrimaryBrokerArn?: string; } /** @@ -993,6 +1023,11 @@ export interface CreateUserRequest { *

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.

*/ Username: string | undefined; + + /** + *

Defines if this user is intended for CRDR replication purposes.

+ */ + ReplicationUser?: boolean; } /** @@ -1000,6 +1035,38 @@ export interface CreateUserRequest { */ export interface CreateUserResponse {} +/** + * @public + *

Specifies a broker in a data replication pair.

+ */ +export interface DataReplicationCounterpart { + /** + *

Required. The unique broker id generated by Amazon MQ.

+ */ + BrokerId: string | undefined; + + /** + *

Required. The region of the broker.

+ */ + Region: string | undefined; +} + +/** + * @public + *

The replication details of the data replication-enabled broker. Only returned if dataReplicationMode or pendingDataReplicationMode is set to CRDR.

+ */ +export interface DataReplicationMetadataOutput { + /** + *

Describes the replica/primary broker. Only returned if this broker is currently set as a primary or replica in the broker's dataReplicationRole property.

+ */ + DataReplicationCounterpart?: DataReplicationCounterpart; + + /** + *

Defines the role of this broker in a data replication pair. When a replica broker is promoted to primary, this role is interchanged.

+ */ + DataReplicationRole: string | undefined; +} + /** * @public */ @@ -1071,7 +1138,7 @@ export interface DescribeBrokerRequest { */ export interface LdapServerMetadataOutput { /** - *

Specifies the location of the LDAP server such as AWS Directory Service for Microsoft Active Directory . Optional failover server.

+ *

Specifies the location of the LDAP server such as Directory Service for Microsoft Active Directory. Optional failover server.

*/ Hosts: string[] | undefined; @@ -1177,7 +1244,7 @@ export interface LogsSummary { */ export interface DescribeBrokerResponse { /** - *

A list of actions required for a broker.

+ *

Actions required for a broker.

*/ ActionsRequired?: ActionRequired[]; @@ -1207,7 +1274,7 @@ export interface DescribeBrokerResponse { BrokerInstances?: BrokerInstance[]; /** - *

The broker's name. 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.

+ *

The broker's name. This value must be unique in your Amazon Web Services account 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.

*/ BrokerName?: string; @@ -1232,7 +1299,7 @@ export interface DescribeBrokerResponse { DeploymentMode?: DeploymentMode | string; /** - *

Encryption options for the broker. Does not apply to RabbitMQ brokers.

+ *

Encryption options for the broker.

*/ EncryptionOptions?: EncryptionOptions; @@ -1320,6 +1387,26 @@ export interface DescribeBrokerResponse { *

The list of all broker usernames for the specified broker.

*/ Users?: UserSummary[]; + + /** + *

The replication details of the data replication-enabled broker. Only returned if dataReplicationMode is set to CRDR.

+ */ + DataReplicationMetadata?: DataReplicationMetadataOutput; + + /** + *

Describes whether this broker is a part of a data replication pair.

+ */ + DataReplicationMode?: DataReplicationMode | string; + + /** + *

The pending replication details of the data replication-enabled broker. Only returned if pendingDataReplicationMode is set to CRDR.

+ */ + PendingDataReplicationMetadata?: DataReplicationMetadataOutput; + + /** + *

Describes whether this broker will be a part of a data replication pair after reboot.

+ */ + PendingDataReplicationMode?: DataReplicationMode | string; } /** @@ -1507,7 +1594,7 @@ export interface DescribeConfigurationRevisionResponse { Created?: Date; /** - *

Required. The base64-encoded XML configuration.

+ *

Amazon MQ for ActiveMQ: the base64-encoded XML configuration. Amazon MQ for RabbitMQ: base64-encoded Cuttlefish.

*/ Data?: string; @@ -1581,6 +1668,11 @@ export interface DescribeUserResponse { *

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.

*/ Username?: string; + + /** + *

Describes whether the user is intended for data replication

+ */ + ReplicationUser?: boolean; } /** @@ -1758,6 +1850,46 @@ export interface ListUsersResponse { Users?: UserSummary[]; } +/** + * @public + * @enum + */ +export const PromoteMode = { + FAILOVER: "FAILOVER", + SWITCHOVER: "SWITCHOVER", +} as const; + +/** + * @public + */ +export type PromoteMode = (typeof PromoteMode)[keyof typeof PromoteMode]; + +/** + * @public + *

Promotes a data replication replica broker to the primary broker role.

+ */ +export interface PromoteRequest { + /** + *

The unique ID that Amazon MQ generates for the broker.

+ */ + BrokerId: string | undefined; + + /** + *

The Promote mode requested. Note: Valid values for the parameter are SWITCHOVER, FAILOVER.

+ */ + Mode: PromoteMode | string | undefined; +} + +/** + * @public + */ +export interface PromoteResponse { + /** + *

The unique ID that Amazon MQ generates for the broker.

+ */ + BrokerId?: string; +} + /** * @public */ @@ -1827,6 +1959,11 @@ export interface UpdateBrokerRequest { *

The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers.

*/ SecurityGroups?: string[]; + + /** + *

Defines whether this broker is a part of a data replication pair.

+ */ + DataReplicationMode?: DataReplicationMode | string; } /** @@ -1882,6 +2019,26 @@ export interface UpdateBrokerResponse { *

The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers.

*/ SecurityGroups?: string[]; + + /** + *

The replication details of the data replication-enabled broker. Only returned if dataReplicationMode is set to CRDR.

+ */ + DataReplicationMetadata?: DataReplicationMetadataOutput; + + /** + *

Describes whether this broker is a part of a data replication pair.

+ */ + DataReplicationMode?: DataReplicationMode | string; + + /** + *

The pending replication details of the data replication-enabled broker. Only returned if pendingDataReplicationMode is set to CRDR.

+ */ + PendingDataReplicationMetadata?: DataReplicationMetadataOutput; + + /** + *

Describes whether this broker will be a part of a data replication pair after reboot.

+ */ + PendingDataReplicationMode?: DataReplicationMode | string; } /** @@ -1895,7 +2052,7 @@ export interface UpdateConfigurationRequest { ConfigurationId: string | undefined; /** - *

Required. The base64-encoded XML configuration.

+ *

Amazon MQ for Active MQ: The base64-encoded XML configuration. Amazon MQ for RabbitMQ: the base64-encoded Cuttlefish configuration.

*/ Data: string | undefined; @@ -1910,7 +2067,7 @@ export interface UpdateConfigurationRequest { */ export interface UpdateConfigurationResponse { /** - *

Required. The Amazon Resource Name (ARN) of the configuration.

+ *

The Amazon Resource Name (ARN) of the configuration.

*/ Arn?: string; @@ -1920,7 +2077,7 @@ export interface UpdateConfigurationResponse { Created?: Date; /** - *

Required. The unique ID that Amazon MQ generates for the configuration.

+ *

The unique ID that Amazon MQ generates for the configuration.

*/ Id?: string; @@ -1930,12 +2087,12 @@ export interface UpdateConfigurationResponse { LatestRevision?: ConfigurationRevision; /** - *

Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long.

+ *

The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long.

*/ Name?: string; /** - *

The list of the first 20 warnings about the configuration XML elements or attributes that were sanitized.

+ *

The list of the first 20 warnings about the configuration elements or attributes that were sanitized.

*/ Warnings?: SanitizationWarning[]; } @@ -1969,6 +2126,11 @@ export interface UpdateUserRequest { *

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.

*/ Username: string | undefined; + + /** + *

Defines whether the user is intended for data replication.

+ */ + ReplicationUser?: boolean; } /** diff --git a/clients/client-mq/src/protocols/Aws_restJson1.ts b/clients/client-mq/src/protocols/Aws_restJson1.ts index 7df76109b443..d714b036c5ce 100644 --- a/clients/client-mq/src/protocols/Aws_restJson1.ts +++ b/clients/client-mq/src/protocols/Aws_restJson1.ts @@ -56,6 +56,7 @@ import { import { ListConfigurationsCommandInput, ListConfigurationsCommandOutput } from "../commands/ListConfigurationsCommand"; import { ListTagsCommandInput, ListTagsCommandOutput } from "../commands/ListTagsCommand"; import { ListUsersCommandInput, ListUsersCommandOutput } from "../commands/ListUsersCommand"; +import { PromoteCommandInput, PromoteCommandOutput } from "../commands/PromoteCommand"; import { RebootBrokerCommandInput, RebootBrokerCommandOutput } from "../commands/RebootBrokerCommand"; import { UpdateBrokerCommandInput, UpdateBrokerCommandOutput } from "../commands/UpdateBrokerCommand"; import { @@ -76,6 +77,8 @@ import { ConfigurationRevision, Configurations, ConflictException, + DataReplicationCounterpart, + DataReplicationMetadataOutput, EncryptionOptions, EngineVersion, ForbiddenException, @@ -115,6 +118,8 @@ export const se_CreateBrokerCommand = async ( brokerName: [, , `BrokerName`], configuration: [, (_) => se_ConfigurationId(_, context), `Configuration`], creatorRequestId: [true, (_) => _ ?? generateIdempotencyToken(), `CreatorRequestId`], + dataReplicationMode: [, , `DataReplicationMode`], + dataReplicationPrimaryBrokerArn: [, , `DataReplicationPrimaryBrokerArn`], deploymentMode: [, , `DeploymentMode`], encryptionOptions: [, (_) => se_EncryptionOptions(_, context), `EncryptionOptions`], engineType: [, , `EngineType`], @@ -226,6 +231,7 @@ export const se_CreateUserCommand = async ( consoleAccess: [, , `ConsoleAccess`], groups: [, (_) => _json(_), `Groups`], password: [, , `Password`], + replicationUser: [, , `ReplicationUser`], }) ); return new __HttpRequest({ @@ -639,6 +645,37 @@ export const se_ListUsersCommand = async ( }); }; +/** + * serializeAws_restJson1PromoteCommand + */ +export const se_PromoteCommand = async ( + input: PromoteCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v1/brokers/{BrokerId}/promote"; + resolvedPath = __resolvedPath(resolvedPath, input, "BrokerId", () => input.BrokerId!, "{BrokerId}", false); + let body: any; + body = JSON.stringify( + take(input, { + mode: [, , `Mode`], + }) + ); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + /** * serializeAws_restJson1RebootBrokerCommand */ @@ -682,6 +719,7 @@ export const se_UpdateBrokerCommand = async ( authenticationStrategy: [, , `AuthenticationStrategy`], autoMinorVersionUpgrade: [, , `AutoMinorVersionUpgrade`], configuration: [, (_) => se_ConfigurationId(_, context), `Configuration`], + dataReplicationMode: [, , `DataReplicationMode`], engineVersion: [, , `EngineVersion`], hostInstanceType: [, , `HostInstanceType`], ldapServerMetadata: [, (_) => se_LdapServerMetadataInput(_, context), `LdapServerMetadata`], @@ -761,6 +799,7 @@ export const se_UpdateUserCommand = async ( consoleAccess: [, , `ConsoleAccess`], groups: [, (_) => _json(_), `Groups`], password: [, , `Password`], + replicationUser: [, , `ReplicationUser`], }) ); return new __HttpRequest({ @@ -1187,6 +1226,8 @@ export const de_DescribeBrokerCommand = async ( BrokerState: [, __expectString, `brokerState`], Configurations: [, (_) => de_Configurations(_, context), `configurations`], Created: [, (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), `created`], + DataReplicationMetadata: [, (_) => de_DataReplicationMetadataOutput(_, context), `dataReplicationMetadata`], + DataReplicationMode: [, __expectString, `dataReplicationMode`], DeploymentMode: [, __expectString, `deploymentMode`], EncryptionOptions: [, (_) => de_EncryptionOptions(_, context), `encryptionOptions`], EngineType: [, __expectString, `engineType`], @@ -1196,6 +1237,12 @@ export const de_DescribeBrokerCommand = async ( Logs: [, (_) => de_LogsSummary(_, context), `logs`], MaintenanceWindowStartTime: [, (_) => de_WeeklyStartTime(_, context), `maintenanceWindowStartTime`], PendingAuthenticationStrategy: [, __expectString, `pendingAuthenticationStrategy`], + PendingDataReplicationMetadata: [ + , + (_) => de_DataReplicationMetadataOutput(_, context), + `pendingDataReplicationMetadata`, + ], + PendingDataReplicationMode: [, __expectString, `pendingDataReplicationMode`], PendingEngineVersion: [, __expectString, `pendingEngineVersion`], PendingHostInstanceType: [, __expectString, `pendingHostInstanceType`], PendingLdapServerMetadata: [, (_) => de_LdapServerMetadataOutput(_, context), `pendingLdapServerMetadata`], @@ -1499,6 +1546,7 @@ export const de_DescribeUserCommand = async ( ConsoleAccess: [, __expectBoolean, `consoleAccess`], Groups: [, _json, `groups`], Pending: [, (_) => de_UserPendingChanges(_, context), `pending`], + ReplicationUser: [, __expectBoolean, `replicationUser`], Username: [, __expectString, `username`], }); Object.assign(contents, doc); @@ -1823,6 +1871,62 @@ const de_ListUsersCommandError = async ( } }; +/** + * deserializeAws_restJson1PromoteCommand + */ +export const de_PromoteCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_PromoteCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + BrokerId: [, __expectString, `brokerId`], + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1PromoteCommandError + */ +const de_PromoteCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.mq#BadRequestException": + throw await de_BadRequestExceptionRes(parsedOutput, context); + case "ForbiddenException": + case "com.amazonaws.mq#ForbiddenException": + throw await de_ForbiddenExceptionRes(parsedOutput, context); + case "InternalServerErrorException": + case "com.amazonaws.mq#InternalServerErrorException": + throw await de_InternalServerErrorExceptionRes(parsedOutput, context); + case "NotFoundException": + case "com.amazonaws.mq#NotFoundException": + throw await de_NotFoundExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_restJson1RebootBrokerCommand */ @@ -1894,11 +1998,19 @@ export const de_UpdateBrokerCommand = async ( AutoMinorVersionUpgrade: [, __expectBoolean, `autoMinorVersionUpgrade`], BrokerId: [, __expectString, `brokerId`], Configuration: [, (_) => de_ConfigurationId(_, context), `configuration`], + DataReplicationMetadata: [, (_) => de_DataReplicationMetadataOutput(_, context), `dataReplicationMetadata`], + DataReplicationMode: [, __expectString, `dataReplicationMode`], EngineVersion: [, __expectString, `engineVersion`], HostInstanceType: [, __expectString, `hostInstanceType`], LdapServerMetadata: [, (_) => de_LdapServerMetadataOutput(_, context), `ldapServerMetadata`], Logs: [, (_) => de_Logs(_, context), `logs`], MaintenanceWindowStartTime: [, (_) => de_WeeklyStartTime(_, context), `maintenanceWindowStartTime`], + PendingDataReplicationMetadata: [ + , + (_) => de_DataReplicationMetadataOutput(_, context), + `pendingDataReplicationMetadata`, + ], + PendingDataReplicationMode: [, __expectString, `pendingDataReplicationMode`], SecurityGroups: [, _json, `securityGroups`], }); Object.assign(contents, doc); @@ -2249,6 +2361,7 @@ const se_User = (input: User, context: __SerdeContext): any => { consoleAccess: [, , `ConsoleAccess`], groups: [, _json, `Groups`], password: [, , `Password`], + replicationUser: [, , `ReplicationUser`], username: [, , `Username`], }); }; @@ -2534,6 +2647,26 @@ const de_Configurations = (output: any, context: __SerdeContext): Configurations }) as any; }; +/** + * deserializeAws_restJson1DataReplicationCounterpart + */ +const de_DataReplicationCounterpart = (output: any, context: __SerdeContext): DataReplicationCounterpart => { + return take(output, { + BrokerId: [, __expectString, `brokerId`], + Region: [, __expectString, `region`], + }) as any; +}; + +/** + * deserializeAws_restJson1DataReplicationMetadataOutput + */ +const de_DataReplicationMetadataOutput = (output: any, context: __SerdeContext): DataReplicationMetadataOutput => { + return take(output, { + DataReplicationCounterpart: [, (_: any) => de_DataReplicationCounterpart(_, context), `dataReplicationCounterpart`], + DataReplicationRole: [, __expectString, `dataReplicationRole`], + }) as any; +}; + /** * deserializeAws_restJson1EncryptionOptions */ diff --git a/codegen/sdk-codegen/aws-models/mq.json b/codegen/sdk-codegen/aws-models/mq.json index c80b268d9214..da9882b2f419 100644 --- a/codegen/sdk-codegen/aws-models/mq.json +++ b/codegen/sdk-codegen/aws-models/mq.json @@ -35,36 +35,40 @@ "ActionRequiredCode": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

The code you can use to resolve your broker issue when the broker is in a CRITICAL_ACTION_REQUIRED state. You can find instructions by choosing the link for your code from the list of action required codes in Amazon MQ action required codes. Each code references a topic with detailed information, instructions, and recommendations for how to resolve the issue and prevent future occurrences.

", + "smithy.api#documentation": "

The code you can use to find instructions on the action required to resolve your broker issue.

", "smithy.api#jsonName": "actionRequiredCode" } }, "ActionRequiredInfo": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

Information about the action required to resolve your broker issue when the broker is in a CRITICAL_ACTION_REQUIRED state.

", + "smithy.api#documentation": "

Information about the action required to resolve your broker issue.

", "smithy.api#jsonName": "actionRequiredInfo" } } }, "traits": { - "smithy.api#documentation": "

The action required to resolve a broker issue when the broker is in a CRITICAL_ACTION_REQUIRED state.

" + "smithy.api#documentation": "

Action required for a broker.

" } }, "com.amazonaws.mq#AuthenticationStrategy": { - "type": "string", - "traits": { - "smithy.api#documentation": "

Optional. The authentication strategy used to secure the broker. The default is SIMPLE.

", - "smithy.api#enum": [ - { - "value": "SIMPLE", - "name": "SIMPLE" - }, - { - "value": "LDAP", - "name": "LDAP" + "type": "enum", + "members": { + "SIMPLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SIMPLE" } - ] + }, + "LDAP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LDAP" + } + } + }, + "traits": { + "smithy.api#documentation": "

Optional. The authentication strategy used to secure the broker. The default is SIMPLE.

" } }, "com.amazonaws.mq#AvailabilityZone": { @@ -208,51 +212,73 @@ } }, "com.amazonaws.mq#BrokerState": { - "type": "string", - "traits": { - "smithy.api#documentation": "

The broker's status.

", - "smithy.api#enum": [ - { - "value": "CREATION_IN_PROGRESS", - "name": "CREATION_IN_PROGRESS" - }, - { - "value": "CREATION_FAILED", - "name": "CREATION_FAILED" - }, - { - "value": "DELETION_IN_PROGRESS", - "name": "DELETION_IN_PROGRESS" - }, - { - "value": "RUNNING", - "name": "RUNNING" - }, - { - "value": "REBOOT_IN_PROGRESS", - "name": "REBOOT_IN_PROGRESS" - }, - { - "value": "CRITICAL_ACTION_REQUIRED", - "name": "CRITICAL_ACTION_REQUIRED" + "type": "enum", + "members": { + "CREATION_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATION_IN_PROGRESS" + } + }, + "CREATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATION_FAILED" + } + }, + "DELETION_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETION_IN_PROGRESS" + } + }, + "RUNNING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RUNNING" + } + }, + "REBOOT_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REBOOT_IN_PROGRESS" + } + }, + "CRITICAL_ACTION_REQUIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CRITICAL_ACTION_REQUIRED" + } + }, + "REPLICA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REPLICA" } - ] + } + }, + "traits": { + "smithy.api#documentation": "

The broker's status.

" } }, "com.amazonaws.mq#BrokerStorageType": { - "type": "string", - "traits": { - "smithy.api#documentation": "

The broker's storage type.

EFS is not supported for RabbitMQ engine type.

", - "smithy.api#enum": [ - { - "value": "EBS", - "name": "EBS" - }, - { - "value": "EFS", - "name": "EFS" + "type": "enum", + "members": { + "EBS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EBS" + } + }, + "EFS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EFS" } - ] + } + }, + "traits": { + "smithy.api#documentation": "

The broker's storage type.

EFS is not supported for RabbitMQ engine type.

" } }, "com.amazonaws.mq#BrokerSummary": { @@ -275,7 +301,7 @@ "BrokerName": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

The broker's name. This value is unique in your AWS account, 1-50 characters long, and containing only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets, wildcard characters, or special characters.

", + "smithy.api#documentation": "

The broker's name. This value is unique in your Amazon Web Services account, 1-50 characters long, and containing only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets, wildcard characters, or special characters.

", "smithy.api#jsonName": "brokerName" } }, @@ -322,23 +348,29 @@ } }, "com.amazonaws.mq#ChangeType": { - "type": "string", - "traits": { - "smithy.api#documentation": "

The type of change pending for the ActiveMQ user.

", - "smithy.api#enum": [ - { - "value": "CREATE", - "name": "CREATE" - }, - { - "value": "UPDATE", - "name": "UPDATE" - }, - { - "value": "DELETE", - "name": "DELETE" + "type": "enum", + "members": { + "CREATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATE" + } + }, + "UPDATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATE" + } + }, + "DELETE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE" } - ] + } + }, + "traits": { + "smithy.api#documentation": "

The type of change pending for the ActiveMQ user.

" } }, "com.amazonaws.mq#Configuration": { @@ -442,14 +474,13 @@ "Revision": { "target": "com.amazonaws.mq#__integer", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The revision number of the configuration.

", "smithy.api#jsonName": "revision" } } }, "traits": { - "smithy.api#documentation": "

A list of information about the configuration.

Does not apply to RabbitMQ brokers.

" + "smithy.api#documentation": "

A list of information about the configuration.

" } }, "com.amazonaws.mq#ConfigurationRevision": { @@ -473,7 +504,6 @@ "Revision": { "target": "com.amazonaws.mq#__integer", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

Required. The revision number of the configuration.

", "smithy.api#jsonName": "revision", "smithy.api#required": {} @@ -563,7 +593,7 @@ } ], "traits": { - "smithy.api#documentation": "

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.

", + "smithy.api#documentation": "

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 Amazon Web Services Credentials and Never Modify or Delete the Amazon MQ Elastic Network Interface in the Amazon MQ Developer Guide.

", "smithy.api#http": { "method": "POST", "uri": "/v1/brokers", @@ -584,7 +614,6 @@ "AutoMinorVersionUpgrade": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

Enables automatic upgrades to new minor versions for brokers, as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window of the broker or after a manual broker reboot. Set to true by default, if no value is specified.

", "smithy.api#jsonName": "autoMinorVersionUpgrade", "smithy.api#required": {} @@ -593,7 +622,7 @@ "BrokerName": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

Required. The broker's name. 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.

", + "smithy.api#documentation": "

Required. The broker's name. This value must be unique in your Amazon Web Services 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 Amazon Web Services services, including CloudWatch Logs. Broker names are not intended to be used for private or sensitive data.

", "smithy.api#jsonName": "brokerName", "smithy.api#required": {} } @@ -608,7 +637,7 @@ "CreatorRequestId": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

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.

", + "smithy.api#documentation": "

The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API action.

We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the creatorRequestId if your application doesn't require idempotency.

", "smithy.api#idempotencyToken": {}, "smithy.api#jsonName": "creatorRequestId" } @@ -624,7 +653,7 @@ "EncryptionOptions": { "target": "com.amazonaws.mq#EncryptionOptions", "traits": { - "smithy.api#documentation": "

Encryption options for the broker. Does not apply to RabbitMQ brokers.

", + "smithy.api#documentation": "

Encryption options for the broker.

", "smithy.api#jsonName": "encryptionOptions" } }, @@ -676,7 +705,6 @@ "PubliclyAccessible": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

Enables connections from applications outside of the VPC that hosts the broker's subnets. Set to false by default, if no value is provided.

", "smithy.api#jsonName": "publiclyAccessible", "smithy.api#required": {} @@ -699,7 +727,7 @@ "SubnetIds": { "target": "com.amazonaws.mq#__listOf__string", "traits": { - "smithy.api#documentation": "

The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones. 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 Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ deployment 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 endpoints in VPCs that are not owned by your AWS account.

", + "smithy.api#documentation": "

The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones. 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 Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ deployment 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 Amazon Web Services account. Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by your Amazon Web Services account.

", "smithy.api#jsonName": "subnetIds" } }, @@ -713,14 +741,29 @@ "Users": { "target": "com.amazonaws.mq#__listOfUser", "traits": { - "smithy.api#documentation": "

Required. The list of broker 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.

Amazon MQ for RabbitMQ

When you create an Amazon MQ for RabbitMQ broker, 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.

", + "smithy.api#documentation": "

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.

", "smithy.api#jsonName": "users", "smithy.api#required": {} } + }, + "DataReplicationMode": { + "target": "com.amazonaws.mq#DataReplicationMode", + "traits": { + "smithy.api#documentation": "

Defines whether this broker is a part of a data replication pair.

", + "smithy.api#jsonName": "dataReplicationMode" + } + }, + "DataReplicationPrimaryBrokerArn": { + "target": "com.amazonaws.mq#__string", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the primary broker that is used to replicate data from in a data replication pair, and is applied to the replica broker. Must be set when dataReplicationMode is set to CRDR.

", + "smithy.api#jsonName": "dataReplicationPrimaryBrokerArn" + } } }, "traits": { - "smithy.api#documentation": "

Creates a broker using the specified properties.

" + "smithy.api#documentation": "

Creates a broker using the specified properties.

", + "smithy.api#input": {} } }, "com.amazonaws.mq#CreateBrokerResponse": { @@ -740,6 +783,9 @@ "smithy.api#jsonName": "brokerId" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#CreateConfiguration": { @@ -816,7 +862,8 @@ } }, "traits": { - "smithy.api#documentation": "

Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version).

" + "smithy.api#documentation": "

Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version).

", + "smithy.api#input": {} } }, "com.amazonaws.mq#CreateConfigurationResponse": { @@ -864,6 +911,9 @@ "smithy.api#jsonName": "name" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#CreateTags": { @@ -917,7 +967,8 @@ } }, "traits": { - "smithy.api#documentation": "

A map of the key-value pairs for the resource tag.

" + "smithy.api#documentation": "

A map of the key-value pairs for the resource tag.

", + "smithy.api#input": {} } }, "com.amazonaws.mq#CreateUser": { @@ -946,7 +997,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an ActiveMQ user.

", + "smithy.api#documentation": "

Creates an ActiveMQ user.

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.

", "smithy.api#http": { "method": "POST", "uri": "/v1/brokers/{BrokerId}/users/{Username}", @@ -968,7 +1019,6 @@ "ConsoleAccess": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

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

", "smithy.api#jsonName": "consoleAccess" } @@ -995,49 +1045,139 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "ReplicationUser": { + "target": "com.amazonaws.mq#__boolean", + "traits": { + "smithy.api#documentation": "

Defines if this user is intended for CRDR replication purposes.

", + "smithy.api#jsonName": "replicationUser" + } } }, "traits": { - "smithy.api#documentation": "

Creates a new ActiveMQ user.

" + "smithy.api#documentation": "

Creates a new ActiveMQ user.

", + "smithy.api#input": {} } }, "com.amazonaws.mq#CreateUserResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, - "com.amazonaws.mq#DayOfWeek": { - "type": "string", + "com.amazonaws.mq#DataReplicationCounterpart": { + "type": "structure", + "members": { + "BrokerId": { + "target": "com.amazonaws.mq#__string", + "traits": { + "smithy.api#documentation": "

Required. The unique broker id generated by Amazon MQ.

", + "smithy.api#jsonName": "brokerId", + "smithy.api#required": {} + } + }, + "Region": { + "target": "com.amazonaws.mq#__string", + "traits": { + "smithy.api#documentation": "

Required. The region of the broker.

", + "smithy.api#jsonName": "region", + "smithy.api#required": {} + } + } + }, "traits": { - "smithy.api#enum": [ - { - "value": "MONDAY", - "name": "MONDAY" - }, - { - "value": "TUESDAY", - "name": "TUESDAY" - }, - { - "value": "WEDNESDAY", - "name": "WEDNESDAY" - }, - { - "value": "THURSDAY", - "name": "THURSDAY" - }, - { - "value": "FRIDAY", - "name": "FRIDAY" - }, - { - "value": "SATURDAY", - "name": "SATURDAY" - }, - { - "value": "SUNDAY", - "name": "SUNDAY" + "smithy.api#documentation": "

Specifies a broker in a data replication pair.

" + } + }, + "com.amazonaws.mq#DataReplicationMetadataOutput": { + "type": "structure", + "members": { + "DataReplicationCounterpart": { + "target": "com.amazonaws.mq#DataReplicationCounterpart", + "traits": { + "smithy.api#documentation": "

Describes the replica/primary broker. Only returned if this broker is currently set as a primary or replica in the broker's dataReplicationRole property.

", + "smithy.api#jsonName": "dataReplicationCounterpart" + } + }, + "DataReplicationRole": { + "target": "com.amazonaws.mq#__string", + "traits": { + "smithy.api#documentation": "

Defines the role of this broker in a data replication pair. When a replica broker is promoted to primary, this role is interchanged.

", + "smithy.api#jsonName": "dataReplicationRole", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The replication details of the data replication-enabled broker. Only returned if dataReplicationMode or pendingDataReplicationMode is set to CRDR.

" + } + }, + "com.amazonaws.mq#DataReplicationMode": { + "type": "enum", + "members": { + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" + } + }, + "CRDR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CRDR" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies whether a broker is a part of a data replication pair.

" + } + }, + "com.amazonaws.mq#DayOfWeek": { + "type": "enum", + "members": { + "MONDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MONDAY" + } + }, + "TUESDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TUESDAY" + } + }, + "WEDNESDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WEDNESDAY" + } + }, + "THURSDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "THURSDAY" + } + }, + "FRIDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FRIDAY" } - ] + }, + "SATURDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SATURDAY" + } + }, + "SUNDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUNDAY" + } + } } }, "com.amazonaws.mq#DeleteBroker": { @@ -1082,6 +1222,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#DeleteBrokerResponse": { @@ -1094,6 +1237,9 @@ "smithy.api#jsonName": "brokerId" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#DeleteTags": { @@ -1146,6 +1292,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#DeleteUser": { @@ -1198,30 +1347,42 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#DeleteUserResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.mq#DeploymentMode": { - "type": "string", - "traits": { - "smithy.api#documentation": "

The broker's deployment mode.

", - "smithy.api#enum": [ - { - "value": "SINGLE_INSTANCE", - "name": "SINGLE_INSTANCE" - }, - { - "value": "ACTIVE_STANDBY_MULTI_AZ", - "name": "ACTIVE_STANDBY_MULTI_AZ" - }, - { - "value": "CLUSTER_MULTI_AZ", - "name": "CLUSTER_MULTI_AZ" + "type": "enum", + "members": { + "SINGLE_INSTANCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SINGLE_INSTANCE" + } + }, + "ACTIVE_STANDBY_MULTI_AZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE_STANDBY_MULTI_AZ" + } + }, + "CLUSTER_MULTI_AZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLUSTER_MULTI_AZ" } - ] + } + }, + "traits": { + "smithy.api#documentation": "

The broker's deployment mode.

" } }, "com.amazonaws.mq#DescribeBroker": { @@ -1296,7 +1457,6 @@ "MaxResults": { "target": "com.amazonaws.mq#MaxResults", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of brokers that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100.

", "smithy.api#httpQuery": "maxResults" } @@ -1308,6 +1468,9 @@ "smithy.api#httpQuery": "nextToken" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#DescribeBrokerEngineTypesResponse": { @@ -1323,7 +1486,6 @@ "MaxResults": { "target": "com.amazonaws.mq#__integerMin5Max100", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

Required. The maximum number of engine types that can be returned per page (20 by default). This value must be an integer from 5 to 100.

", "smithy.api#jsonName": "maxResults" } @@ -1335,6 +1497,9 @@ "smithy.api#jsonName": "nextToken" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#DescribeBrokerInstanceOptions": { @@ -1385,7 +1550,6 @@ "MaxResults": { "target": "com.amazonaws.mq#MaxResults", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of brokers that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100.

", "smithy.api#httpQuery": "maxResults" } @@ -1404,6 +1568,9 @@ "smithy.api#httpQuery": "storageType" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#DescribeBrokerInstanceOptionsResponse": { @@ -1419,7 +1586,6 @@ "MaxResults": { "target": "com.amazonaws.mq#__integerMin5Max100", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

Required. The maximum number of instance options that can be returned per page (20 by default). This value must be an integer from 5 to 100.

", "smithy.api#jsonName": "maxResults" } @@ -1431,6 +1597,9 @@ "smithy.api#jsonName": "nextToken" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#DescribeBrokerRequest": { @@ -1444,6 +1613,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#DescribeBrokerResponse": { @@ -1452,7 +1624,7 @@ "ActionsRequired": { "target": "com.amazonaws.mq#__listOfActionRequired", "traits": { - "smithy.api#documentation": "

A list of actions required for a broker.

", + "smithy.api#documentation": "

Actions required for a broker.

", "smithy.api#jsonName": "actionsRequired" } }, @@ -1466,7 +1638,6 @@ "AutoMinorVersionUpgrade": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

Enables automatic upgrades to new minor versions for brokers, as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window of the broker or after a manual broker reboot.

", "smithy.api#jsonName": "autoMinorVersionUpgrade" } @@ -1495,7 +1666,7 @@ "BrokerName": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

The broker's name. 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.

", + "smithy.api#documentation": "

The broker's name. This value must be unique in your Amazon Web Services account 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.

", "smithy.api#jsonName": "brokerName" } }, @@ -1530,7 +1701,7 @@ "EncryptionOptions": { "target": "com.amazonaws.mq#EncryptionOptions", "traits": { - "smithy.api#documentation": "

Encryption options for the broker. Does not apply to RabbitMQ brokers.

", + "smithy.api#documentation": "

Encryption options for the broker.

", "smithy.api#jsonName": "encryptionOptions" } }, @@ -1614,7 +1785,6 @@ "PubliclyAccessible": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

Enables connections from applications outside of the VPC that hosts the broker's subnets.

", "smithy.api#jsonName": "publiclyAccessible" } @@ -1653,7 +1823,38 @@ "smithy.api#documentation": "

The list of all broker usernames for the specified broker.

", "smithy.api#jsonName": "users" } + }, + "DataReplicationMetadata": { + "target": "com.amazonaws.mq#DataReplicationMetadataOutput", + "traits": { + "smithy.api#documentation": "

The replication details of the data replication-enabled broker. Only returned if dataReplicationMode is set to CRDR.

", + "smithy.api#jsonName": "dataReplicationMetadata" + } + }, + "DataReplicationMode": { + "target": "com.amazonaws.mq#DataReplicationMode", + "traits": { + "smithy.api#documentation": "

Describes whether this broker is a part of a data replication pair.

", + "smithy.api#jsonName": "dataReplicationMode" + } + }, + "PendingDataReplicationMetadata": { + "target": "com.amazonaws.mq#DataReplicationMetadataOutput", + "traits": { + "smithy.api#documentation": "

The pending replication details of the data replication-enabled broker. Only returned if pendingDataReplicationMode is set to CRDR.

", + "smithy.api#jsonName": "pendingDataReplicationMetadata" + } + }, + "PendingDataReplicationMode": { + "target": "com.amazonaws.mq#DataReplicationMode", + "traits": { + "smithy.api#documentation": "

Describes whether this broker will be a part of a data replication pair after reboot.

", + "smithy.api#jsonName": "pendingDataReplicationMode" + } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#DescribeConfiguration": { @@ -1698,6 +1899,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#DescribeConfigurationResponse": { @@ -1773,6 +1977,9 @@ "smithy.api#jsonName": "tags" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#DescribeConfigurationRevision": { @@ -1825,6 +2032,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#DescribeConfigurationRevisionResponse": { @@ -1847,7 +2057,7 @@ "Data": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

Required. The base64-encoded XML configuration.

", + "smithy.api#documentation": "

Amazon MQ for ActiveMQ: the base64-encoded XML configuration. Amazon MQ for RabbitMQ: base64-encoded Cuttlefish.

", "smithy.api#jsonName": "data" } }, @@ -1858,6 +2068,9 @@ "smithy.api#jsonName": "description" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#DescribeUser": { @@ -1910,6 +2123,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#DescribeUserResponse": { @@ -1925,7 +2141,6 @@ "ConsoleAccess": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

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

", "smithy.api#jsonName": "consoleAccess" } @@ -1950,7 +2165,17 @@ "smithy.api#documentation": "

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.

", "smithy.api#jsonName": "username" } + }, + "ReplicationUser": { + "target": "com.amazonaws.mq#__boolean", + "traits": { + "smithy.api#documentation": "

Describes whether the user is intended for data replication

", + "smithy.api#jsonName": "replicationUser" + } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#EncryptionOptions": { @@ -1959,38 +2184,41 @@ "KmsKeyId": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

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.

", + "smithy.api#documentation": "

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

", "smithy.api#jsonName": "kmsKeyId" } }, "UseAwsOwnedKey": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Enables the use of an AWS owned CMK using AWS Key Management Service (KMS). Set to true by default, if no value is provided, for example, for RabbitMQ brokers.

", + "smithy.api#documentation": "

Enables the use of an Amazon Web Services owned CMK using KMS (KMS). Set to true by default, if no value is provided, for example, for RabbitMQ brokers.

", "smithy.api#jsonName": "useAwsOwnedKey", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Does not apply to RabbitMQ brokers.

Encryption options for the broker.

" + "smithy.api#documentation": "

Encryption options for the broker.

" } }, "com.amazonaws.mq#EngineType": { - "type": "string", - "traits": { - "smithy.api#documentation": "

The type of broker engine. Amazon MQ supports ActiveMQ and RabbitMQ.

", - "smithy.api#enum": [ - { - "value": "ACTIVEMQ", - "name": "ACTIVEMQ" - }, - { - "value": "RABBITMQ", - "name": "RABBITMQ" + "type": "enum", + "members": { + "ACTIVEMQ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVEMQ" + } + }, + "RABBITMQ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RABBITMQ" } - ] + } + }, + "traits": { + "smithy.api#documentation": "

The type of broker engine. Amazon MQ supports ActiveMQ and RabbitMQ.

" } }, "com.amazonaws.mq#EngineVersion": { @@ -2062,7 +2290,7 @@ "Hosts": { "target": "com.amazonaws.mq#__listOf__string", "traits": { - "smithy.api#documentation": "

Specifies the location of the LDAP server such as AWS Directory Service for Microsoft Active Directory . Optional failover server.

", + "smithy.api#documentation": "

Specifies the location of the LDAP server such as Directory Service for Microsoft Active Directory. Optional failover server.

", "smithy.api#jsonName": "hosts", "smithy.api#required": {} } @@ -2093,7 +2321,6 @@ "RoleSearchSubtree": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

The directory search scope for the role. If set to true, scope is to search the entire subtree.

", "smithy.api#jsonName": "roleSearchSubtree" } @@ -2140,7 +2367,6 @@ "UserSearchSubtree": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

The directory search scope for the user. If set to true, scope is to search the entire subtree.

", "smithy.api#jsonName": "userSearchSubtree" } @@ -2156,7 +2382,7 @@ "Hosts": { "target": "com.amazonaws.mq#__listOf__string", "traits": { - "smithy.api#documentation": "

Specifies the location of the LDAP server such as AWS Directory Service for Microsoft Active Directory . Optional failover server.

", + "smithy.api#documentation": "

Specifies the location of the LDAP server such as Directory Service for Microsoft Active Directory. Optional failover server.

", "smithy.api#jsonName": "hosts", "smithy.api#required": {} } @@ -2187,7 +2413,6 @@ "RoleSearchSubtree": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

The directory search scope for the role. If set to true, scope is to search the entire subtree.

", "smithy.api#jsonName": "roleSearchSubtree" } @@ -2226,7 +2451,6 @@ "UserSearchSubtree": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

The directory search scope for the user. If set to true, scope is to search the entire subtree.

", "smithy.api#jsonName": "userSearchSubtree" } @@ -2276,7 +2500,6 @@ "MaxResults": { "target": "com.amazonaws.mq#MaxResults", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of brokers that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100.

", "smithy.api#httpQuery": "maxResults" } @@ -2288,6 +2511,9 @@ "smithy.api#httpQuery": "nextToken" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#ListBrokersResponse": { @@ -2307,6 +2533,9 @@ "smithy.api#jsonName": "nextToken" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#ListConfigurationRevisions": { @@ -2354,7 +2583,6 @@ "MaxResults": { "target": "com.amazonaws.mq#MaxResults", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of brokers that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100.

", "smithy.api#httpQuery": "maxResults" } @@ -2366,6 +2594,9 @@ "smithy.api#httpQuery": "nextToken" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#ListConfigurationRevisionsResponse": { @@ -2381,7 +2612,6 @@ "MaxResults": { "target": "com.amazonaws.mq#__integer", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of configuration revisions that can be returned per page (20 by default). This value must be an integer from 5 to 100.

", "smithy.api#jsonName": "maxResults" } @@ -2400,6 +2630,9 @@ "smithy.api#jsonName": "revisions" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#ListConfigurations": { @@ -2436,7 +2669,6 @@ "MaxResults": { "target": "com.amazonaws.mq#MaxResults", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of brokers that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100.

", "smithy.api#httpQuery": "maxResults" } @@ -2448,6 +2680,9 @@ "smithy.api#httpQuery": "nextToken" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#ListConfigurationsResponse": { @@ -2463,7 +2698,6 @@ "MaxResults": { "target": "com.amazonaws.mq#__integer", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of configurations that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100.

", "smithy.api#jsonName": "maxResults" } @@ -2475,6 +2709,9 @@ "smithy.api#jsonName": "nextToken" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#ListTags": { @@ -2519,6 +2756,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#ListTagsResponse": { @@ -2531,6 +2771,9 @@ "smithy.api#jsonName": "tags" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#ListUsers": { @@ -2578,7 +2821,6 @@ "MaxResults": { "target": "com.amazonaws.mq#MaxResults", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of brokers that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100.

", "smithy.api#httpQuery": "maxResults" } @@ -2590,6 +2832,9 @@ "smithy.api#httpQuery": "nextToken" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#ListUsersResponse": { @@ -2605,7 +2850,6 @@ "MaxResults": { "target": "com.amazonaws.mq#__integerMin5Max100", "traits": { - "smithy.api#default": 0, "smithy.api#documentation": "

Required. The maximum number of ActiveMQ users that can be returned per page (20 by default). This value must be an integer from 5 to 100.

", "smithy.api#jsonName": "maxResults" } @@ -2624,6 +2868,9 @@ "smithy.api#jsonName": "users" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#Logs": { @@ -2632,7 +2879,6 @@ "Audit": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

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

", "smithy.api#jsonName": "audit" } @@ -2640,7 +2886,6 @@ "General": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

Enables general logging.

", "smithy.api#jsonName": "general" } @@ -2656,7 +2901,6 @@ "Audit": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged.

", "smithy.api#jsonName": "audit" } @@ -2671,7 +2915,6 @@ "General": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

Enables general logging.

", "smithy.api#jsonName": "general", "smithy.api#required": {} @@ -2700,7 +2943,6 @@ "com.amazonaws.mq#MaxResults": { "type": "integer", "traits": { - "smithy.api#default": 0, "smithy.api#range": { "min": 1, "max": 100 @@ -2737,7 +2979,6 @@ "Audit": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged.

", "smithy.api#jsonName": "audit" } @@ -2745,7 +2986,6 @@ "General": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

Enables general logging.

", "smithy.api#jsonName": "general" } @@ -2755,13 +2995,13 @@ "smithy.api#documentation": "

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

" } }, - "com.amazonaws.mq#RebootBroker": { + "com.amazonaws.mq#Promote": { "type": "operation", "input": { - "target": "com.amazonaws.mq#RebootBrokerRequest" + "target": "com.amazonaws.mq#PromoteRequest" }, "output": { - "target": "com.amazonaws.mq#RebootBrokerResponse" + "target": "com.amazonaws.mq#PromoteResponse" }, "errors": [ { @@ -2778,30 +3018,127 @@ } ], "traits": { - "smithy.api#documentation": "

Reboots a broker. Note: This API is asynchronous.

", + "smithy.api#documentation": "

Promotes a data replication replica broker to the primary broker role.

", "smithy.api#http": { "method": "POST", - "uri": "/v1/brokers/{BrokerId}/reboot", + "uri": "/v1/brokers/{BrokerId}/promote", "code": 200 } } }, - "com.amazonaws.mq#RebootBrokerRequest": { - "type": "structure", + "com.amazonaws.mq#PromoteMode": { + "type": "enum", "members": { - "BrokerId": { - "target": "com.amazonaws.mq#__string", + "SWITCHOVER": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The unique ID that Amazon MQ generates for the broker.

", - "smithy.api#httpLabel": {}, + "smithy.api#enumValue": "SWITCHOVER" + } + }, + "FAILOVER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILOVER" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Promote mode requested.

" + } + }, + "com.amazonaws.mq#PromoteRequest": { + "type": "structure", + "members": { + "BrokerId": { + "target": "com.amazonaws.mq#__string", + "traits": { + "smithy.api#documentation": "

The unique ID that Amazon MQ generates for the broker.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Mode": { + "target": "com.amazonaws.mq#PromoteMode", + "traits": { + "smithy.api#documentation": "

The Promote mode requested. Note: Valid values for the parameter are SWITCHOVER, FAILOVER.

", + "smithy.api#jsonName": "mode", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Promotes a data replication replica broker to the primary broker role.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.mq#PromoteResponse": { + "type": "structure", + "members": { + "BrokerId": { + "target": "com.amazonaws.mq#__string", + "traits": { + "smithy.api#documentation": "

The unique ID that Amazon MQ generates for the broker.

", + "smithy.api#jsonName": "brokerId" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mq#RebootBroker": { + "type": "operation", + "input": { + "target": "com.amazonaws.mq#RebootBrokerRequest" + }, + "output": { + "target": "com.amazonaws.mq#RebootBrokerResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mq#BadRequestException" + }, + { + "target": "com.amazonaws.mq#ForbiddenException" + }, + { + "target": "com.amazonaws.mq#InternalServerErrorException" + }, + { + "target": "com.amazonaws.mq#NotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Reboots a broker. Note: This API is asynchronous.

", + "smithy.api#http": { + "method": "POST", + "uri": "/v1/brokers/{BrokerId}/reboot", + "code": 200 + } + } + }, + "com.amazonaws.mq#RebootBrokerRequest": { + "type": "structure", + "members": { + "BrokerId": { + "target": "com.amazonaws.mq#__string", + "traits": { + "smithy.api#documentation": "

The unique ID that Amazon MQ generates for the broker.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.mq#RebootBrokerResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.mq#SanitizationWarning": { "type": "structure", @@ -2809,48 +3146,54 @@ "AttributeName": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

The name of the XML attribute that has been sanitized.

", + "smithy.api#documentation": "

The name of the configuration attribute that has been sanitized.

", "smithy.api#jsonName": "attributeName" } }, "ElementName": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

The name of the XML element that has been sanitized.

", + "smithy.api#documentation": "

The name of the configuration element that has been sanitized.

", "smithy.api#jsonName": "elementName" } }, "Reason": { "target": "com.amazonaws.mq#SanitizationWarningReason", "traits": { - "smithy.api#documentation": "

Required. The reason for which the XML elements or attributes were sanitized.

", + "smithy.api#documentation": "

The reason for which the configuration elements or attributes were sanitized.

", "smithy.api#jsonName": "reason", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Returns information about the XML element or attribute that was sanitized in the configuration.

" + "smithy.api#documentation": "

Returns information about the configuration element or attribute that was sanitized in the configuration.

" } }, "com.amazonaws.mq#SanitizationWarningReason": { - "type": "string", - "traits": { - "smithy.api#documentation": "

The reason for which the XML elements or attributes were sanitized.

", - "smithy.api#enum": [ - { - "value": "DISALLOWED_ELEMENT_REMOVED", - "name": "DISALLOWED_ELEMENT_REMOVED" - }, - { - "value": "DISALLOWED_ATTRIBUTE_REMOVED", - "name": "DISALLOWED_ATTRIBUTE_REMOVED" - }, - { - "value": "INVALID_ATTRIBUTE_VALUE_REMOVED", - "name": "INVALID_ATTRIBUTE_VALUE_REMOVED" + "type": "enum", + "members": { + "DISALLOWED_ELEMENT_REMOVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISALLOWED_ELEMENT_REMOVED" } - ] + }, + "DISALLOWED_ATTRIBUTE_REMOVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISALLOWED_ATTRIBUTE_REMOVED" + } + }, + "INVALID_ATTRIBUTE_VALUE_REMOVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_ATTRIBUTE_VALUE_REMOVED" + } + } + }, + "traits": { + "smithy.api#documentation": "

The reason for which the configuration elements or attributes were sanitized.

" } }, "com.amazonaws.mq#UnauthorizedException": { @@ -2924,7 +3267,6 @@ "AutoMinorVersionUpgrade": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

Enables automatic upgrades to new minor versions for brokers, as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window of the broker or after a manual broker reboot.

", "smithy.api#jsonName": "autoMinorVersionUpgrade" } @@ -2985,10 +3327,18 @@ "smithy.api#documentation": "

The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers.

", "smithy.api#jsonName": "securityGroups" } + }, + "DataReplicationMode": { + "target": "com.amazonaws.mq#DataReplicationMode", + "traits": { + "smithy.api#documentation": "

Defines whether this broker is a part of a data replication pair.

", + "smithy.api#jsonName": "dataReplicationMode" + } } }, "traits": { - "smithy.api#documentation": "

Updates the broker using the specified properties.

" + "smithy.api#documentation": "

Updates the broker using the specified properties.

", + "smithy.api#input": {} } }, "com.amazonaws.mq#UpdateBrokerResponse": { @@ -3004,7 +3354,6 @@ "AutoMinorVersionUpgrade": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

The new boolean value that specifies whether broker engines automatically upgrade to new minor versions as new versions are released and supported by Amazon MQ.

", "smithy.api#jsonName": "autoMinorVersionUpgrade" } @@ -3064,7 +3413,38 @@ "smithy.api#documentation": "

The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers.

", "smithy.api#jsonName": "securityGroups" } + }, + "DataReplicationMetadata": { + "target": "com.amazonaws.mq#DataReplicationMetadataOutput", + "traits": { + "smithy.api#documentation": "

The replication details of the data replication-enabled broker. Only returned if dataReplicationMode is set to CRDR.

", + "smithy.api#jsonName": "dataReplicationMetadata" + } + }, + "DataReplicationMode": { + "target": "com.amazonaws.mq#DataReplicationMode", + "traits": { + "smithy.api#documentation": "

Describes whether this broker is a part of a data replication pair.

", + "smithy.api#jsonName": "dataReplicationMode" + } + }, + "PendingDataReplicationMetadata": { + "target": "com.amazonaws.mq#DataReplicationMetadataOutput", + "traits": { + "smithy.api#documentation": "

The pending replication details of the data replication-enabled broker. Only returned if pendingDataReplicationMode is set to CRDR.

", + "smithy.api#jsonName": "pendingDataReplicationMetadata" + } + }, + "PendingDataReplicationMode": { + "target": "com.amazonaws.mq#DataReplicationMode", + "traits": { + "smithy.api#documentation": "

Describes whether this broker will be a part of a data replication pair after reboot.

", + "smithy.api#jsonName": "pendingDataReplicationMode" + } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#UpdateConfiguration": { @@ -3115,7 +3495,7 @@ "Data": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

Required. The base64-encoded XML configuration.

", + "smithy.api#documentation": "

Amazon MQ for Active MQ: The base64-encoded XML configuration. Amazon MQ for RabbitMQ: the base64-encoded Cuttlefish configuration.

", "smithy.api#jsonName": "data", "smithy.api#required": {} } @@ -3129,7 +3509,8 @@ } }, "traits": { - "smithy.api#documentation": "

Updates the specified configuration.

" + "smithy.api#documentation": "

Updates the specified configuration.

", + "smithy.api#input": {} } }, "com.amazonaws.mq#UpdateConfigurationResponse": { @@ -3138,7 +3519,7 @@ "Arn": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

Required. The Amazon Resource Name (ARN) of the configuration.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the configuration.

", "smithy.api#jsonName": "arn" } }, @@ -3152,7 +3533,7 @@ "Id": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

Required. The unique ID that Amazon MQ generates for the configuration.

", + "smithy.api#documentation": "

The unique ID that Amazon MQ generates for the configuration.

", "smithy.api#jsonName": "id" } }, @@ -3166,17 +3547,20 @@ "Name": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long.

", + "smithy.api#documentation": "

The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long.

", "smithy.api#jsonName": "name" } }, "Warnings": { "target": "com.amazonaws.mq#__listOfSanitizationWarning", "traits": { - "smithy.api#documentation": "

The list of the first 20 warnings about the configuration XML elements or attributes that were sanitized.

", + "smithy.api#documentation": "

The list of the first 20 warnings about the configuration elements or attributes that were sanitized.

", "smithy.api#jsonName": "warnings" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.mq#UpdateUser": { @@ -3227,7 +3611,6 @@ "ConsoleAccess": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

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

", "smithy.api#jsonName": "consoleAccess" } @@ -3253,15 +3636,26 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "ReplicationUser": { + "target": "com.amazonaws.mq#__boolean", + "traits": { + "smithy.api#documentation": "

Defines whether the user is intended for data replication.

", + "smithy.api#jsonName": "replicationUser" + } } }, "traits": { - "smithy.api#documentation": "

Updates the information for an ActiveMQ user.

" + "smithy.api#documentation": "

Updates the information for an ActiveMQ user.

", + "smithy.api#input": {} } }, "com.amazonaws.mq#UpdateUserResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.mq#User": { "type": "structure", @@ -3269,7 +3663,6 @@ "ConsoleAccess": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

Enables access to the ActiveMQ Web Console for the ActiveMQ user. Does not apply to RabbitMQ brokers.

", "smithy.api#jsonName": "consoleAccess" } @@ -3292,14 +3685,21 @@ "Username": { "target": "com.amazonaws.mq#__string", "traits": { - "smithy.api#documentation": "

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

/important> Amazon MQ for RabbitMQ

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.

", + "smithy.api#documentation": "

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.

  • para>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 Amazon Web Services services, including CloudWatch Logs. Broker usernames are not intended to be used for private or sensitive data.

", "smithy.api#jsonName": "username", "smithy.api#required": {} } + }, + "ReplicationUser": { + "target": "com.amazonaws.mq#__boolean", + "traits": { + "smithy.api#documentation": "

Defines if this user is intended for CRDR replication purposes.

", + "smithy.api#jsonName": "replicationUser" + } } }, "traits": { - "smithy.api#documentation": "

A user associated with the broker. 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.

" + "smithy.api#documentation": "

A user associated with the broker. 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.

" } }, "com.amazonaws.mq#UserPendingChanges": { @@ -3308,7 +3708,6 @@ "ConsoleAccess": { "target": "com.amazonaws.mq#__boolean", "traits": { - "smithy.api#default": false, "smithy.api#documentation": "

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

", "smithy.api#jsonName": "consoleAccess" } @@ -3388,21 +3787,14 @@ } }, "com.amazonaws.mq#__boolean": { - "type": "boolean", - "traits": { - "smithy.api#default": false - } + "type": "boolean" }, "com.amazonaws.mq#__integer": { - "type": "integer", - "traits": { - "smithy.api#default": 0 - } + "type": "integer" }, "com.amazonaws.mq#__integerMin5Max100": { "type": "integer", "traits": { - "smithy.api#default": 0, "smithy.api#range": { "min": 5, "max": 100 @@ -3575,6 +3967,9 @@ { "target": "com.amazonaws.mq#ListUsers" }, + { + "target": "com.amazonaws.mq#Promote" + }, { "target": "com.amazonaws.mq#RebootBroker" }, @@ -3636,13 +4031,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -3650,23 +4044,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -3675,67 +4066,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -3744,90 +4110,215 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] }, - "supportsFIPS" + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mq-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mq-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { - "conditions": [], - "endpoint": { - "url": "https://mq-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsFIPS" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mq.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -3835,7 +4326,7 @@ { "conditions": [], "endpoint": { - "url": "https://mq-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://mq.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -3844,74 +4335,13 @@ ] } ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://mq.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://mq.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } @@ -3920,1455 +4350,558 @@ "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.ap-south-1.api.aws" - } - }, - "params": { - "Region": "ap-south-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.ap-south-1.api.aws" - } - }, - "params": { - "Region": "ap-south-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.ap-south-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.eu-south-1.api.aws" - } - }, - "params": { - "Region": "eu-south-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.eu-south-1.api.aws" - } - }, - "params": { - "Region": "eu-south-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.eu-south-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.us-gov-east-1.api.aws" + "url": "https://mq.af-south-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.us-gov-east-1.amazonaws.com" + "url": "https://mq.ap-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.us-gov-east-1.api.aws" + "url": "https://mq.ap-northeast-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.us-gov-east-1.amazonaws.com" + "url": "https://mq.ap-northeast-2.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.me-central-1.api.aws" + "url": "https://mq.ap-northeast-3.amazonaws.com" } }, "params": { - "Region": "me-central-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.me-central-1.amazonaws.com" + "url": "https://mq.ap-south-1.amazonaws.com" } }, "params": { - "Region": "me-central-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.me-central-1.api.aws" + "url": "https://mq.ap-southeast-1.amazonaws.com" } }, "params": { - "Region": "me-central-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.me-central-1.amazonaws.com" + "url": "https://mq.ap-southeast-2.amazonaws.com" } }, "params": { - "Region": "me-central-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.ca-central-1.api.aws" + "url": "https://mq.ap-southeast-3.amazonaws.com" } }, "params": { - "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "ap-southeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.ca-central-1.amazonaws.com" + "url": "https://mq.ca-central-1.amazonaws.com" } }, "params": { "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.ca-central-1.api.aws" + "url": "https://mq.eu-central-1.amazonaws.com" } }, "params": { - "Region": "ca-central-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.ca-central-1.amazonaws.com" + "url": "https://mq.eu-north-1.amazonaws.com" } }, "params": { - "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.eu-central-1.api.aws" - } - }, - "params": { - "Region": "eu-central-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.eu-central-1.api.aws" - } - }, - "params": { - "Region": "eu-central-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.us-west-1.api.aws" - } - }, - "params": { - "Region": "us-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.us-west-1.api.aws" - } - }, - "params": { - "Region": "us-west-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.us-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.us-west-2.api.aws" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.us-west-2.api.aws" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.af-south-1.api.aws" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.af-south-1.api.aws" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.eu-north-1.api.aws" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.eu-north-1.api.aws" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.eu-west-3.api.aws" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.eu-west-3.api.aws" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.eu-west-1.api.aws" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.eu-west-1.api.aws" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.ap-northeast-3.api.aws" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.ap-northeast-1.api.aws" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.me-south-1.api.aws" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.me-south-1.api.aws" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.me-south-1.amazonaws.com" - } - }, - "params": { - "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.sa-east-1.api.aws" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.sa-east-1.api.aws" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.sa-east-1.amazonaws.com" - } - }, - "params": { - "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.ap-east-1.api.aws" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.ap-east-1.api.aws" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mq.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mq-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.us-gov-west-1.amazonaws.com" + "url": "https://mq.eu-south-1.amazonaws.com" } }, "params": { - "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.us-gov-west-1.api.aws" + "url": "https://mq.eu-west-1.amazonaws.com" } }, "params": { - "Region": "us-gov-west-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.us-gov-west-1.amazonaws.com" + "url": "https://mq.eu-west-2.amazonaws.com" } }, "params": { - "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.ap-southeast-1.api.aws" + "url": "https://mq.eu-west-3.amazonaws.com" } }, "params": { - "Region": "ap-southeast-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.ap-southeast-1.amazonaws.com" + "url": "https://mq.me-south-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.ap-southeast-1.api.aws" + "url": "https://mq.sa-east-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.ap-southeast-1.amazonaws.com" + "url": "https://mq.us-east-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.ap-southeast-2.api.aws" + "url": "https://mq-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.ap-southeast-2.amazonaws.com" + "url": "https://mq.us-east-2.amazonaws.com" } }, "params": { - "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.ap-southeast-2.api.aws" + "url": "https://mq-fips.us-east-2.amazonaws.com" } }, "params": { - "Region": "ap-southeast-2", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.ap-southeast-2.amazonaws.com" + "url": "https://mq.us-west-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://mq-fips.us-west-1.amazonaws.com" + } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://mq.us-west-2.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://mq-fips.us-west-2.amazonaws.com" + } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mq.us-iso-east-1.c2s.ic.gov" + "url": "https://mq-fips.us-east-1.api.aws" } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mq-fips.ap-southeast-3.api.aws" + "url": "https://mq.us-east-1.api.aws" } }, "params": { - "Region": "ap-southeast-3", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.ap-southeast-3.amazonaws.com" + "url": "https://mq.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.ap-southeast-3.api.aws" + "url": "https://mq.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "ap-southeast-3", - "UseDualStack": true, - "UseFIPS": false + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mq.ap-southeast-3.amazonaws.com" + "url": "https://mq-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.us-east-1.api.aws" + "url": "https://mq-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mq-fips.us-east-1.amazonaws.com" + "url": "https://mq.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.us-east-1.api.aws" + "url": "https://mq.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.us-east-1.amazonaws.com" + "url": "https://mq-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.us-east-2.api.aws" + "url": "https://mq.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.us-east-2.amazonaws.com" + "url": "https://mq-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mq.us-east-2.api.aws" + "url": "https://mq-fips.us-gov-east-1.api.aws" } }, "params": { - "Region": "us-east-2", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mq.us-east-2.amazonaws.com" + "url": "https://mq.us-gov-east-1.api.aws" } }, "params": { - "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://mq-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "cn-northwest-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://mq-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://mq.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "cn-northwest-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mq.cn-northwest-1.amazonaws.com.cn" + "url": "https://mq.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -5378,8 +4911,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -5391,8 +4924,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -5402,8 +4935,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -5415,12 +4948,12 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -5428,8 +4961,21 @@ }, "params": { "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -5440,8 +4986,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -5452,10 +4998,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" @@ -5463,4 +5015,4 @@ } } } -} \ No newline at end of file +}