Skip to content
v2.274.0

RotationScheduleProps Struct ​

Construction properties for a RotationSchedule.

Example ​

ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as cdk from 'aws-cdk-lib';
import { aws_lambda as lambda } from 'aws-cdk-lib';
import { aws_secretsmanager as secretsmanager } from 'aws-cdk-lib';

declare const function_: lambda.Function;
declare const hostedRotation: secretsmanager.HostedRotation;
declare const secret: secretsmanager.Secret;
const rotationScheduleProps: secretsmanager.RotationScheduleProps = {
  secret: secret,

  // the properties below are optional
  automaticallyAfter: cdk.Duration.minutes(30),
  hostedRotation: hostedRotation,
  rotateImmediatelyOnUpdate: false,
  rotationLambda: function_,
};

Properties ​

automaticallyAfteroptionalDurationautomatically_afteroptionalDurationautomaticallyAfteroptionalDurationAutomaticallyAfteroptionalDurationAutomaticallyAfteroptionalDuration= Duration.days(30)#
Specifies the number of days after the previous rotation before Secrets Manager triggers the next automatic rotation.

The minimum value is 4 hours. The maximum value is 1000 days.

A value of zero (Duration.days(0)) will not create RotationRules.

hostedRotationoptionalHostedRotationhosted_rotationoptionalHostedRotationhostedRotationoptionalHostedRotationHostedRotationoptionalHostedRotationHostedRotationoptionalHostedRotation#
Hosted rotation.

Default: either rotationLambda or hostedRotation must be specified

rotateImmediatelyOnUpdateoptionalbooleanrotate_immediately_on_updateoptionalboolrotateImmediatelyOnUpdateoptionalBooleanRotateImmediatelyOnUpdateoptionalboolRotateImmediatelyOnUpdateoptional*bool= true#
Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window.
rotationLambdaoptionalIFunctionrotation_lambdaoptionalIFunctionrotationLambdaoptionalIFunctionRotationLambdaoptionalIFunctionRotationLambdaoptionalIFunction#
A Lambda function that can rotate the secret.

Default: either rotationLambda or hostedRotation must be specified

secretISecretsecretISecretsecretISecretSecretISecretSecretISecretrequired#
The secret to rotate.
notes

If hosted rotation is used, this must be a JSON string with the following format:

{
  "engine": <required: database engine>,
  "host": <required: instance host name>,
  "username": <required: username>,
  "password": <required: password>,
  "dbname": <optional: database name>,
  "port": <optional: if not specified, default port will be used>,
  "masterarn": <required for multi user rotation: the arn of the master secret which will be used to create users/change passwords>
}

This is typically the case for a secret referenced from an AWS::SecretsManager::SecretTargetAttachment or an ISecret returned by the attach() method of Secret.