Skip to content

Commit

Permalink
feat(client-dynamodb): This release makes Amazon DynamoDB point-in-ti…
Browse files Browse the repository at this point in the history
…me-recovery (PITR) to be configurable. You can set PITR recovery period for each table individually to between 1 and 35 days.
  • Loading branch information
awstools committed Jan 7, 2025
1 parent 06dee23 commit 5e4350e
Show file tree
Hide file tree
Showing 7 changed files with 227 additions and 114 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export interface DescribeContinuousBackupsCommandOutput extends DescribeContinuo
* <code>LatestRestorableDateTime</code>. </p>
* <p>
* <code>LatestRestorableDateTime</code> is typically 5 minutes before the current time.
* You can restore your table to any point in time during the last 35 days. </p>
* You can restore your table to any point in time in the last 35 days. You can set the recovery period to any value between 1 and 35 days. </p>
* <p>You can call <code>DescribeContinuousBackups</code> at a maximum rate of 10 times per
* second.</p>
* @example
Expand All @@ -56,6 +56,7 @@ export interface DescribeContinuousBackupsCommandOutput extends DescribeContinuo
* // ContinuousBackupsStatus: "ENABLED" || "DISABLED", // required
* // PointInTimeRecoveryDescription: { // PointInTimeRecoveryDescription
* // PointInTimeRecoveryStatus: "ENABLED" || "DISABLED",
* // RecoveryPeriodInDays: Number("int"),
* // EarliestRestorableDateTime: new Date("TIMESTAMP"),
* // LatestRestorableDateTime: new Date("TIMESTAMP"),
* // },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export interface RestoreTableToPointInTimeCommandOutput extends RestoreTableToPo
/**
* <p>Restores the specified table to the specified point in time within
* <code>EarliestRestorableDateTime</code> and <code>LatestRestorableDateTime</code>.
* You can restore your table to any point in time during the last 35 days. Any number of
* You can restore your table to any point in time in the last 35 days. You can set the recovery period to any value between 1 and 35 days. Any number of
* users can execute up to 50 concurrent restores (any type of restore) in a given account. </p>
* <p>When you restore using point in time recovery, DynamoDB restores your table data to
* the state based on the selected date and time (day:hour:minute:second) to a new table. </p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export interface UpdateContinuousBackupsCommandOutput extends UpdateContinuousBa
* <code>LatestRestorableDateTime</code>. </p>
* <p>
* <code>LatestRestorableDateTime</code> is typically 5 minutes before the current time.
* You can restore your table to any point in time during the last 35 days. </p>
* You can restore your table to any point in time in the last 35 days. You can set the recovery period to any value between 1 and 35 days.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand All @@ -50,6 +50,7 @@ export interface UpdateContinuousBackupsCommandOutput extends UpdateContinuousBa
* TableName: "STRING_VALUE", // required
* PointInTimeRecoverySpecification: { // PointInTimeRecoverySpecification
* PointInTimeRecoveryEnabled: true || false, // required
* RecoveryPeriodInDays: Number("int"),
* },
* };
* const command = new UpdateContinuousBackupsCommand(input);
Expand All @@ -59,6 +60,7 @@ export interface UpdateContinuousBackupsCommandOutput extends UpdateContinuousBa
* // ContinuousBackupsStatus: "ENABLED" || "DISABLED", // required
* // PointInTimeRecoveryDescription: { // PointInTimeRecoveryDescription
* // PointInTimeRecoveryStatus: "ENABLED" || "DISABLED",
* // RecoveryPeriodInDays: Number("int"),
* // EarliestRestorableDateTime: new Date("TIMESTAMP"),
* // LatestRestorableDateTime: new Date("TIMESTAMP"),
* // },
Expand Down
2 changes: 1 addition & 1 deletion clients/client-dynamodb/src/endpoint/ruleset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,5 +47,5 @@ D=[k],
E=[l],
F=[n],
G=[o,{[J]:g,[K]:[p,"disabled"]}];
const _data={version:"1.0",parameters:{Region:i,UseDualStack:j,UseFIPS:j,Endpoint:i,AccountId:i,AccountIdEndpointMode:i},rules:[{conditions:[{[J]:b,[K]:[{[L]:"Endpoint"}]}],rules:[{conditions:D,error:"Invalid Configuration: FIPS and custom endpoint are not supported",[I]:c},{conditions:E,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",[I]:c},{endpoint:{[M]:"{Endpoint}",[N]:m,[O]:m},[I]:d}],[I]:e},{conditions:[{[J]:b,[K]:F}],rules:[{conditions:[{[J]:"aws.partition",[K]:F,assign:f}],rules:[{conditions:[{[J]:g,[K]:[n,"local"]}],rules:[{conditions:D,error:"Invalid Configuration: FIPS and local endpoint are not supported",[I]:c},{conditions:E,error:"Invalid Configuration: Dualstack and local endpoint are not supported",[I]:c},{endpoint:{[M]:"http://localhost:8000",[N]:{authSchemes:[{signingRegion:"us-east-1",signingName:"dynamodb",name:"sigv4"}]},[O]:m},[I]:d}],[I]:e},{conditions:[o,{[J]:g,[K]:[p,"required"]},{[J]:h,[K]:[q]}],error:"AccountIdEndpointMode is required but no AccountID was provided or able to be loaded.",[I]:c},{conditions:[q,s,u,v,{[J]:h,[K]:[{[J]:"isValidHostLabel",[K]:[r,a]}]}],error:"Credentials-sourced account ID parameter is invalid",[I]:c},{conditions:[k,l],rules:[{conditions:[w,x],rules:[{conditions:G,endpoint:y,[I]:d},{endpoint:y,[I]:d}],[I]:e},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",[I]:c}],[I]:e},{conditions:D,rules:[{conditions:[w],rules:[{conditions:[{[J]:g,[K]:[t,"aws-us-gov"]}],rules:[z,A],[I]:e},{conditions:G,endpoint:B,[I]:d},{endpoint:B,[I]:d}],[I]:e},{error:"FIPS is enabled but this partition does not support FIPS",[I]:c}],[I]:e},{conditions:E,rules:[{conditions:[x],rules:[{conditions:G,endpoint:C,[I]:d},{endpoint:C,[I]:d}],[I]:e},{error:"DualStack is enabled but this partition does not support DualStack",[I]:c}],[I]:e},z,{conditions:[q,s,u,v],endpoint:{[M]:"https://{AccountId}.ddb.{Region}.{PartitionResult#dnsSuffix}",[N]:m,[O]:m},[I]:d},A],[I]:e}],[I]:e},{error:"Invalid Configuration: Missing Region",[I]:c}]};
const _data={version:"1.0",parameters:{Region:i,UseDualStack:j,UseFIPS:j,Endpoint:i,AccountId:i,AccountIdEndpointMode:i},rules:[{conditions:[{[J]:b,[K]:[{[L]:"Endpoint"}]}],rules:[{conditions:D,error:"Invalid Configuration: FIPS and custom endpoint are not supported",[I]:c},{conditions:E,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",[I]:c},{endpoint:{[M]:"{Endpoint}",[N]:m,[O]:m},[I]:d}],[I]:e},{conditions:[{[J]:b,[K]:F}],rules:[{conditions:[{[J]:"aws.partition",[K]:F,assign:f}],rules:[{conditions:[{[J]:g,[K]:[n,"local"]}],rules:[{conditions:D,error:"Invalid Configuration: FIPS and local endpoint are not supported",[I]:c},{conditions:E,error:"Invalid Configuration: Dualstack and local endpoint are not supported",[I]:c},{endpoint:{[M]:"http://localhost:8000",[N]:{authSchemes:[{name:"sigv4",signingName:"dynamodb",signingRegion:"us-east-1"}]},[O]:m},[I]:d}],[I]:e},{conditions:[o,{[J]:g,[K]:[p,"required"]},{[J]:h,[K]:[q]}],error:"AccountIdEndpointMode is required but no AccountID was provided or able to be loaded.",[I]:c},{conditions:[q,s,u,v,{[J]:h,[K]:[{[J]:"isValidHostLabel",[K]:[r,a]}]}],error:"Credentials-sourced account ID parameter is invalid",[I]:c},{conditions:[k,l],rules:[{conditions:[w,x],rules:[{conditions:G,endpoint:y,[I]:d},{endpoint:y,[I]:d}],[I]:e},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",[I]:c}],[I]:e},{conditions:D,rules:[{conditions:[w],rules:[{conditions:[{[J]:g,[K]:[t,"aws-us-gov"]}],rules:[z,A],[I]:e},{conditions:G,endpoint:B,[I]:d},{endpoint:B,[I]:d}],[I]:e},{error:"FIPS is enabled but this partition does not support FIPS",[I]:c}],[I]:e},{conditions:E,rules:[{conditions:[x],rules:[{conditions:G,endpoint:C,[I]:d},{endpoint:C,[I]:d}],[I]:e},{error:"DualStack is enabled but this partition does not support DualStack",[I]:c}],[I]:e},z,{conditions:[q,s,u,v],endpoint:{[M]:"https://{AccountId}.ddb.{Region}.{PartitionResult#dnsSuffix}",[N]:m,[O]:m},[I]:d},A],[I]:e}],[I]:e},{error:"Invalid Configuration: Missing Region",[I]:c}]};
export const ruleSet: RuleSetObject = _data;
Loading

0 comments on commit 5e4350e

Please sign in to comment.