Skip to content

Commit

Permalink
feat(client-rds): This release adds support for Aurora MySQL local wr…
Browse files Browse the repository at this point in the history
…ite forwarding, which allows for forwarding of write operations from reader DB instances to the writer DB instance.
  • Loading branch information
awstools committed Jul 31, 2023
1 parent 49eb24c commit 6543b57
Show file tree
Hide file tree
Showing 21 changed files with 197 additions and 43 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ export interface CreateCustomDBEngineVersionCommandOutput extends DBEngineVersio
* // SupportsParallelQuery: true || false,
* // SupportsGlobalDatabases: true || false,
* // SupportsBabelfish: true || false,
* // SupportsLocalWriteForwarding: true || false,
* // },
* // ],
* // SupportedTimezones: [ // SupportedTimezonesList
Expand Down Expand Up @@ -140,6 +141,7 @@ export interface CreateCustomDBEngineVersionCommandOutput extends DBEngineVersio
* // SupportedCACertificateIdentifiers: [ // CACertificateIdentifiersList
* // "STRING_VALUE",
* // ],
* // SupportsLocalWriteForwarding: true || false,
* // };
*
* ```
Expand Down
2 changes: 2 additions & 0 deletions clients/client-rds/src/commands/CreateDBClusterCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ export interface CreateDBClusterCommandOutput extends CreateDBClusterResult, __M
* DBSystemId: "STRING_VALUE",
* ManageMasterUserPassword: true || false,
* MasterUserSecretKmsKeyId: "STRING_VALUE",
* EnableLocalWriteForwarding: true || false,
* };
* const command = new CreateDBClusterCommand(input);
* const response = await client.send(command);
Expand Down Expand Up @@ -284,6 +285,7 @@ export interface CreateDBClusterCommandOutput extends CreateDBClusterResult, __M
* // KmsKeyId: "STRING_VALUE",
* // },
* // IOOptimizedNextAllowedModificationTime: new Date("TIMESTAMP"),
* // LocalWriteForwardingStatus: "enabled" || "disabled" || "enabling" || "disabling" || "requested",
* // },
* // };
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ export interface DeleteCustomDBEngineVersionCommandOutput extends DBEngineVersio
* // SupportsParallelQuery: true || false,
* // SupportsGlobalDatabases: true || false,
* // SupportsBabelfish: true || false,
* // SupportsLocalWriteForwarding: true || false,
* // },
* // ],
* // SupportedTimezones: [ // SupportedTimezonesList
Expand Down Expand Up @@ -148,6 +149,7 @@ export interface DeleteCustomDBEngineVersionCommandOutput extends DBEngineVersio
* // SupportedCACertificateIdentifiers: [ // CACertificateIdentifiersList
* // "STRING_VALUE",
* // ],
* // SupportsLocalWriteForwarding: true || false,
* // };
*
* ```
Expand Down
1 change: 1 addition & 0 deletions clients/client-rds/src/commands/DeleteDBClusterCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ export interface DeleteDBClusterCommandOutput extends DeleteDBClusterResult, __M
* // KmsKeyId: "STRING_VALUE",
* // },
* // IOOptimizedNextAllowedModificationTime: new Date("TIMESTAMP"),
* // LocalWriteForwardingStatus: "enabled" || "disabled" || "enabling" || "disabling" || "requested",
* // },
* // };
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@ export interface DescribeDBClustersCommandOutput extends DBClusterMessage, __Met
* // KmsKeyId: "STRING_VALUE",
* // },
* // IOOptimizedNextAllowedModificationTime: new Date("TIMESTAMP"),
* // LocalWriteForwardingStatus: "enabled" || "disabled" || "enabling" || "disabling" || "requested",
* // },
* // ],
* // };
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ export interface DescribeDBEngineVersionsCommandOutput extends DBEngineVersionMe
* // SupportsParallelQuery: true || false,
* // SupportsGlobalDatabases: true || false,
* // SupportsBabelfish: true || false,
* // SupportsLocalWriteForwarding: true || false,
* // },
* // ],
* // SupportedTimezones: [ // SupportedTimezonesList
Expand Down Expand Up @@ -146,6 +147,7 @@ export interface DescribeDBEngineVersionsCommandOutput extends DBEngineVersionMe
* // SupportedCACertificateIdentifiers: [ // CACertificateIdentifiersList
* // "STRING_VALUE",
* // ],
* // SupportsLocalWriteForwarding: true || false,
* // },
* // ],
* // };
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ import {
SerdeContext as __SerdeContext,
} from "@smithy/types";

import { DBParameterGroupsMessage, DescribeDBParameterGroupsMessage } from "../models/models_0";
import { DBParameterGroupsMessage } from "../models/models_0";
import { DescribeDBParameterGroupsMessage } from "../models/models_1";
import { de_DescribeDBParameterGroupsCommand, se_DescribeDBParameterGroupsCommand } from "../protocols/Aws_query";
import { RDSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RDSClient";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,7 @@ export interface FailoverDBClusterCommandOutput extends FailoverDBClusterResult,
* // KmsKeyId: "STRING_VALUE",
* // },
* // IOOptimizedNextAllowedModificationTime: new Date("TIMESTAMP"),
* // LocalWriteForwardingStatus: "enabled" || "disabled" || "enabling" || "disabling" || "requested",
* // },
* // };
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ export interface ModifyCustomDBEngineVersionCommandOutput extends DBEngineVersio
* // SupportsParallelQuery: true || false,
* // SupportsGlobalDatabases: true || false,
* // SupportsBabelfish: true || false,
* // SupportsLocalWriteForwarding: true || false,
* // },
* // ],
* // SupportedTimezones: [ // SupportedTimezonesList
Expand Down Expand Up @@ -141,6 +142,7 @@ export interface ModifyCustomDBEngineVersionCommandOutput extends DBEngineVersio
* // SupportedCACertificateIdentifiers: [ // CACertificateIdentifiersList
* // "STRING_VALUE",
* // ],
* // SupportsLocalWriteForwarding: true || false,
* // };
*
* ```
Expand Down
2 changes: 2 additions & 0 deletions clients/client-rds/src/commands/ModifyDBClusterCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ export interface ModifyDBClusterCommandOutput extends ModifyDBClusterResult, __M
* MasterUserSecretKmsKeyId: "STRING_VALUE",
* EngineMode: "STRING_VALUE",
* AllowEngineModeChange: true || false,
* EnableLocalWriteForwarding: true || false,
* };
* const command = new ModifyDBClusterCommand(input);
* const response = await client.send(command);
Expand Down Expand Up @@ -268,6 +269,7 @@ export interface ModifyDBClusterCommandOutput extends ModifyDBClusterResult, __M
* // KmsKeyId: "STRING_VALUE",
* // },
* // IOOptimizedNextAllowedModificationTime: new Date("TIMESTAMP"),
* // LocalWriteForwardingStatus: "enabled" || "disabled" || "enabling" || "disabling" || "requested",
* // },
* // };
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ export interface PromoteReadReplicaDBClusterCommandOutput extends PromoteReadRep
* // KmsKeyId: "STRING_VALUE",
* // },
* // IOOptimizedNextAllowedModificationTime: new Date("TIMESTAMP"),
* // LocalWriteForwardingStatus: "enabled" || "disabled" || "enabling" || "disabling" || "requested",
* // },
* // };
*
Expand Down
1 change: 1 addition & 0 deletions clients/client-rds/src/commands/RebootDBClusterCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ export interface RebootDBClusterCommandOutput extends RebootDBClusterResult, __M
* // KmsKeyId: "STRING_VALUE",
* // },
* // IOOptimizedNextAllowedModificationTime: new Date("TIMESTAMP"),
* // LocalWriteForwardingStatus: "enabled" || "disabled" || "enabling" || "disabling" || "requested",
* // },
* // };
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,7 @@ export interface RestoreDBClusterFromS3CommandOutput extends RestoreDBClusterFro
* // KmsKeyId: "STRING_VALUE",
* // },
* // IOOptimizedNextAllowedModificationTime: new Date("TIMESTAMP"),
* // LocalWriteForwardingStatus: "enabled" || "disabled" || "enabling" || "disabling" || "requested",
* // },
* // };
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,7 @@ export interface RestoreDBClusterFromSnapshotCommandOutput
* // KmsKeyId: "STRING_VALUE",
* // },
* // IOOptimizedNextAllowedModificationTime: new Date("TIMESTAMP"),
* // LocalWriteForwardingStatus: "enabled" || "disabled" || "enabling" || "disabling" || "requested",
* // },
* // };
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,7 @@ export interface RestoreDBClusterToPointInTimeCommandOutput
* // KmsKeyId: "STRING_VALUE",
* // },
* // IOOptimizedNextAllowedModificationTime: new Date("TIMESTAMP"),
* // LocalWriteForwardingStatus: "enabled" || "disabled" || "enabling" || "disabling" || "requested",
* // },
* // };
*
Expand Down
1 change: 1 addition & 0 deletions clients/client-rds/src/commands/StartDBClusterCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ export interface StartDBClusterCommandOutput extends StartDBClusterResult, __Met
* // KmsKeyId: "STRING_VALUE",
* // },
* // IOOptimizedNextAllowedModificationTime: new Date("TIMESTAMP"),
* // LocalWriteForwardingStatus: "enabled" || "disabled" || "enabling" || "disabling" || "requested",
* // },
* // };
*
Expand Down
1 change: 1 addition & 0 deletions clients/client-rds/src/commands/StopDBClusterCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@ export interface StopDBClusterCommandOutput extends StopDBClusterResult, __Metad
* // KmsKeyId: "STRING_VALUE",
* // },
* // IOOptimizedNextAllowedModificationTime: new Date("TIMESTAMP"),
* // LocalWriteForwardingStatus: "enabled" || "disabled" || "enabling" || "disabling" || "requested",
* // },
* // };
*
Expand Down
85 changes: 44 additions & 41 deletions clients/client-rds/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3525,6 +3525,13 @@ export interface UpgradeTarget {
* <p>A value that indicates whether you can use Babelfish for Aurora PostgreSQL with the target engine version.</p>
*/
SupportsBabelfish?: boolean;

/**
* <p>A value that indicates whether the target engine version supports forwarding write operations from reader DB instances
* to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.</p>
* <p>Valid for: Aurora DB clusters only</p>
*/
SupportsLocalWriteForwarding?: boolean;
}

/**
Expand Down Expand Up @@ -3715,6 +3722,13 @@ export interface DBEngineVersion {
* User Guide</i>.</p>
*/
SupportedCACertificateIdentifiers?: string[];

/**
* <p>A value that indicates whether the DB engine version supports forwarding write operations from reader DB instances
* to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.</p>
* <p>Valid for: Aurora DB clusters only</p>
*/
SupportsLocalWriteForwarding?: boolean;
}

/**
Expand Down Expand Up @@ -4552,6 +4566,13 @@ export interface CreateDBClusterMessage {
* <p>Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters</p>
*/
MasterUserSecretKmsKeyId?: string;

/**
* <p>Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. By
* default, write operations aren't allowed on reader DB instances.</p>
* <p>Valid for: Aurora DB clusters only</p>
*/
EnableLocalWriteForwarding?: boolean;
}

/**
Expand Down Expand Up @@ -4696,6 +4717,23 @@ export const WriteForwardingStatus = {
*/
export type WriteForwardingStatus = (typeof WriteForwardingStatus)[keyof typeof WriteForwardingStatus];

/**
* @public
* @enum
*/
export const LocalWriteForwardingStatus = {
DISABLED: "disabled",
DISABLING: "disabling",
ENABLED: "enabled",
ENABLING: "enabling",
REQUESTED: "requested",
} as const;

/**
* @public
*/
export type LocalWriteForwardingStatus = (typeof LocalWriteForwardingStatus)[keyof typeof LocalWriteForwardingStatus];

/**
* @public
* <p>Contains the secret managed by RDS in Amazon Web Services Secrets Manager for the master user password.</p>
Expand Down Expand Up @@ -5366,6 +5404,12 @@ export interface DBCluster {
* <p>This setting is only for Aurora DB clusters.</p>
*/
IOOptimizedNextAllowedModificationTime?: Date;

/**
* <p>Specifies whether an Aurora DB cluster has in-cluster write forwarding enabled, not enabled, requested, or is in the process
* of enabling it.</p>
*/
LocalWriteForwardingStatus?: LocalWriteForwardingStatus | string;
}

/**
Expand Down Expand Up @@ -13224,44 +13268,3 @@ export interface DBParameterGroupsMessage {
*/
DBParameterGroups?: DBParameterGroup[];
}

/**
* @public
* <p></p>
*/
export interface DescribeDBParameterGroupsMessage {
/**
* <p>The name of a specific DB parameter group to return details for.</p>
* <p>Constraints:</p>
* <ul>
* <li>
* <p>If supplied, must match the name of an existing DBClusterParameterGroup.</p>
* </li>
* </ul>
*/
DBParameterGroupName?: string;

/**
* <p>This parameter isn't currently supported.</p>
*/
Filters?: Filter[];

/**
* <p>The maximum number of records to include in the response.
* If more records exist than the specified <code>MaxRecords</code> value,
* a pagination token called a marker is included in the response so that
* you can retrieve the remaining results.</p>
* <p>Default: 100</p>
* <p>Constraints: Minimum 20, maximum 100.</p>
*/
MaxRecords?: number;

/**
* <p>An optional pagination token provided by a previous
* <code>DescribeDBParameterGroups</code> request.
* If this parameter is specified, the response includes
* only records beyond the marker,
* up to the value specified by <code>MaxRecords</code>.</p>
*/
Marker?: string;
}
48 changes: 48 additions & 0 deletions clients/client-rds/src/models/models_1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,47 @@ import {
} from "./models_0";
import { RDSServiceException as __BaseException } from "./RDSServiceException";

/**
* @public
* <p></p>
*/
export interface DescribeDBParameterGroupsMessage {
/**
* <p>The name of a specific DB parameter group to return details for.</p>
* <p>Constraints:</p>
* <ul>
* <li>
* <p>If supplied, must match the name of an existing DBClusterParameterGroup.</p>
* </li>
* </ul>
*/
DBParameterGroupName?: string;

/**
* <p>This parameter isn't currently supported.</p>
*/
Filters?: Filter[];

/**
* <p>The maximum number of records to include in the response.
* If more records exist than the specified <code>MaxRecords</code> value,
* a pagination token called a marker is included in the response so that
* you can retrieve the remaining results.</p>
* <p>Default: 100</p>
* <p>Constraints: Minimum 20, maximum 100.</p>
*/
MaxRecords?: number;

/**
* <p>An optional pagination token provided by a previous
* <code>DescribeDBParameterGroups</code> request.
* If this parameter is specified, the response includes
* only records beyond the marker,
* up to the value specified by <code>MaxRecords</code>.</p>
*/
Marker?: string;
}

/**
* @public
* <p>Contains the result of a successful invocation of the <code>DescribeDBParameters</code> action.</p>
Expand Down Expand Up @@ -4241,6 +4282,13 @@ export interface ModifyDBClusterMessage {
* </ul>
*/
AllowEngineModeChange?: boolean;

/**
* <p>Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. By
* default, write operations aren't allowed on reader DB instances.</p>
* <p>Valid for: Aurora DB clusters only</p>
*/
EnableLocalWriteForwarding?: boolean;
}

/**
Expand Down
Loading

0 comments on commit 6543b57

Please sign in to comment.