package awsrds import ( "github.com/aws/aws-cdk-go/awscdk/v2" "github.com/aws/aws-cdk-go/awscdk/v2/awsec2" "github.com/aws/aws-cdk-go/awscdk/v2/awssecretsmanager" ) // Options to add the multi user rotation. // // Example: // var instance databaseInstance // var myImportedSecret databaseSecret // // instance.addRotationMultiUser(jsii.String("MyUser"), &RotationMultiUserOptions{ // Secret: myImportedSecret, // }) // type RotationMultiUserOptions struct { // Specifies the number of days after the previous rotation before Secrets Manager triggers the next automatic rotation. AutomaticallyAfter awscdk.Duration `field:"optional" json:"automaticallyAfter" yaml:"automaticallyAfter"` // The VPC interface endpoint to use for the Secrets Manager API. // // If you enable private DNS hostnames for your VPC private endpoint (the default), you don't // need to specify an endpoint. The standard Secrets Manager DNS hostname the Secrets Manager // CLI and SDKs use by default (https://secretsmanager..amazonaws.com) automatically // resolves to your VPC endpoint. Endpoint awsec2.IInterfaceVpcEndpoint `field:"optional" json:"endpoint" yaml:"endpoint"` // Specifies characters to not include in generated passwords. ExcludeCharacters *string `field:"optional" json:"excludeCharacters" yaml:"excludeCharacters"` // Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. RotateImmediatelyOnUpdate *bool `field:"optional" json:"rotateImmediatelyOnUpdate" yaml:"rotateImmediatelyOnUpdate"` // The security group for the Lambda rotation function. SecurityGroup awsec2.ISecurityGroup `field:"optional" json:"securityGroup" yaml:"securityGroup"` // Where to place the rotation Lambda function. VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` // The secret to rotate. // // It must be a JSON string with the following format: // ``` // { // "engine": , // "host": , // "username": , // "password": , // "dbname": , // "port": , // "masterarn": // } // ```. Secret awssecretsmanager.ISecret `field:"required" json:"secret" yaml:"secret"` }