import * as core from "@terrascript/core"; export interface RotationRulesArgs extends core.SchemaArgs { automaticallyAfterDays: number | core.NumberOut; } export class RotationRules extends core.Schema { @core.attr(Number) public automaticallyAfterDays!: number | core.NumberOut; } export interface SecretRotationArgs extends core.ResourceArgs { /** * (Required) Specifies the ARN of the Lambda function that can rotate the secret. */ rotationLambdaArn: string | core.StringOut; /** * (Required) A structure that defines the rotation configuration for this secret. Defined below. */ rotationRules: RotationRules; /** * (Required) Specifies the secret to which you want to add a new version. You can specify either the A * mazon Resource Name (ARN) or the friendly name of the secret. The secret must already exist. */ secretId: string | core.StringOut; tags?: core.Map | core.MapOut; } export class SecretRotation extends core.Resource { /** * Amazon Resource Name (ARN) of the secret. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * Specifies whether automatic rotation is enabled for this secret. */ @core.attr(Boolean, { computed: true }) public rotationEnabled!: boolean | core.BooleanOut; /** * (Required) Specifies the ARN of the Lambda function that can rotate the secret. */ @core.attr(String) public rotationLambdaArn!: string | core.StringOut; /** * (Required) A structure that defines the rotation configuration for this secret. Defined below. */ @core.attr(RotationRules) public rotationRules!: RotationRules; /** * (Required) Specifies the secret to which you want to add a new version. You can specify either the A * mazon Resource Name (ARN) or the friendly name of the secret. The secret must already exist. */ @core.attr(String) public secretId!: string | core.StringOut; @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; constructor(name: string, args?: SecretRotationArgs) { super(name, "aws_secretsmanager_secret_rotation", args); } public override getNamespace(): string { return "aws_secretsmanager"; } }