private ISecret SetDatabasePassword(DatabaseOptions databaseOption) { ISecret passwordSecret; if (string.IsNullOrWhiteSpace(databaseOption.Password)) { if (databaseOption.Secrets.ContainsKey(DatabaseOptionConsts.PasswordAttributeName)) { if (!StackResources.Lambdas.TryGetValue(databaseOption.RotationLambdaId, out var rotationLambda)) { throw new ArgumentException($"The database {databaseOption.Id} lambda id {databaseOption.RotationLambdaId} was not found"); } var rotationPeriod = databaseOption.PasswordRotationDaysPeriod.HasValue ? Duration.Days(databaseOption.PasswordRotationDaysPeriod.Value) : null; passwordSecret = AwsCdkHandler.AddSecret(databaseOption.Secrets[DatabaseOptionConsts.PasswordAttributeName], rotationPeriod: rotationPeriod, rotationLambda: rotationLambda); } else { throw new ArgumentException($"The database {databaseOption.DatabaseName} has no secret to store the password"); } } else { passwordSecret = null; } return(passwordSecret); }