Class CfnRotationSchedule

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:41.250Z") @Stability(Stable) public class CfnRotationSchedule extends CfnResource implements IInspectable
A CloudFormation AWS::SecretsManager::RotationSchedule.

Sets the rotation schedule and Lambda rotation function for a secret. For more information, see How rotation works .

For Amazon RDS master user credentials, see AWS::RDS::DBCluster MasterUserSecret .

For the rotation function, you have two options:

For database secrets, if you define both the secret and the database or service in the AWS CloudFormation template, then you need to define the AWS::SecretsManager::SecretTargetAttachment resource to populate the secret with the connection details of the database or service before you attempt to configure rotation.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.secretsmanager.*;
 CfnRotationSchedule cfnRotationSchedule = CfnRotationSchedule.Builder.create(this, "MyCfnRotationSchedule")
         .secretId("secretId")
         // the properties below are optional
         .hostedRotationLambda(HostedRotationLambdaProperty.builder()
                 .rotationType("rotationType")
                 // the properties below are optional
                 .excludeCharacters("excludeCharacters")
                 .kmsKeyArn("kmsKeyArn")
                 .masterSecretArn("masterSecretArn")
                 .masterSecretKmsKeyArn("masterSecretKmsKeyArn")
                 .rotationLambdaName("rotationLambdaName")
                 .runtime("runtime")
                 .superuserSecretArn("superuserSecretArn")
                 .superuserSecretKmsKeyArn("superuserSecretKmsKeyArn")
                 .vpcSecurityGroupIds("vpcSecurityGroupIds")
                 .vpcSubnetIds("vpcSubnetIds")
                 .build())
         .rotateImmediatelyOnUpdate(false)
         .rotationLambdaArn("rotationLambdaArn")
         .rotationRules(RotationRulesProperty.builder()
                 .automaticallyAfterDays(123)
                 .duration("duration")
                 .scheduleExpression("scheduleExpression")
                 .build())
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnRotationSchedule

      protected CfnRotationSchedule(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnRotationSchedule

      protected CfnRotationSchedule(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnRotationSchedule

      @Stability(Stable) public CfnRotationSchedule(@NotNull Construct scope, @NotNull String id, @NotNull CfnRotationScheduleProps props)
      Create a new AWS::SecretsManager::RotationSchedule.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getSecretId

      @Stability(Stable) @NotNull public String getSecretId()
      The ARN or name of the secret to rotate.

      To reference a secret also created in this template, use the Ref function with the secret's logical ID.

    • setSecretId

      @Stability(Stable) public void setSecretId(@NotNull String value)
      The ARN or name of the secret to rotate.

      To reference a secret also created in this template, use the Ref function with the secret's logical ID.

    • getHostedRotationLambda

      @Stability(Stable) @Nullable public Object getHostedRotationLambda()
      Creates a new Lambda rotation function based on one of the Secrets Manager rotation function templates . To use a rotation function that already exists, specify RotationLambdaARN instead.

      For Amazon RDS master user credentials, see AWS::RDS::DBCluster MasterUserSecret .

    • setHostedRotationLambda

      @Stability(Stable) public void setHostedRotationLambda(@Nullable CfnRotationSchedule.HostedRotationLambdaProperty value)
      Creates a new Lambda rotation function based on one of the Secrets Manager rotation function templates . To use a rotation function that already exists, specify RotationLambdaARN instead.

      For Amazon RDS master user credentials, see AWS::RDS::DBCluster MasterUserSecret .

    • setHostedRotationLambda

      @Stability(Stable) public void setHostedRotationLambda(@Nullable IResolvable value)
      Creates a new Lambda rotation function based on one of the Secrets Manager rotation function templates . To use a rotation function that already exists, specify RotationLambdaARN instead.

      For Amazon RDS master user credentials, see AWS::RDS::DBCluster MasterUserSecret .

    • getRotateImmediatelyOnUpdate

      @Stability(Stable) @Nullable public Object getRotateImmediatelyOnUpdate()
      Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window.

      The rotation schedule is defined in RotationRules .

      If you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the testSecret step of the Lambda rotation function. The test creates an AWSPENDING version of the secret and then removes it.

      If you don't specify this value, then by default, Secrets Manager rotates the secret immediately.

      Rotation is an asynchronous process. For more information, see How rotation works .

    • setRotateImmediatelyOnUpdate

      @Stability(Stable) public void setRotateImmediatelyOnUpdate(@Nullable Boolean value)
      Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window.

      The rotation schedule is defined in RotationRules .

      If you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the testSecret step of the Lambda rotation function. The test creates an AWSPENDING version of the secret and then removes it.

      If you don't specify this value, then by default, Secrets Manager rotates the secret immediately.

      Rotation is an asynchronous process. For more information, see How rotation works .

    • setRotateImmediatelyOnUpdate

      @Stability(Stable) public void setRotateImmediatelyOnUpdate(@Nullable IResolvable value)
      Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window.

      The rotation schedule is defined in RotationRules .

      If you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the testSecret step of the Lambda rotation function. The test creates an AWSPENDING version of the secret and then removes it.

      If you don't specify this value, then by default, Secrets Manager rotates the secret immediately.

      Rotation is an asynchronous process. For more information, see How rotation works .

    • getRotationLambdaArn

      @Stability(Stable) @Nullable public String getRotationLambdaArn()
      The ARN of an existing Lambda rotation function.

      To specify a rotation function that is also defined in this template, use the Ref function.

      For Amazon RDS master user credentials, see AWS::RDS::DBCluster MasterUserSecret .

      To create a new rotation function based on one of the Secrets Manager rotation function templates , specify HostedRotationLambda instead.

    • setRotationLambdaArn

      @Stability(Stable) public void setRotationLambdaArn(@Nullable String value)
      The ARN of an existing Lambda rotation function.

      To specify a rotation function that is also defined in this template, use the Ref function.

      For Amazon RDS master user credentials, see AWS::RDS::DBCluster MasterUserSecret .

      To create a new rotation function based on one of the Secrets Manager rotation function templates , specify HostedRotationLambda instead.

    • getRotationRules

      @Stability(Stable) @Nullable public Object getRotationRules()
      A structure that defines the rotation configuration for this secret.
    • setRotationRules

      @Stability(Stable) public void setRotationRules(@Nullable IResolvable value)
      A structure that defines the rotation configuration for this secret.
    • setRotationRules

      @Stability(Stable) public void setRotationRules(@Nullable CfnRotationSchedule.RotationRulesProperty value)
      A structure that defines the rotation configuration for this secret.