11import { Construct } from "constructs"
2- import * as cdk from "aws-cdk-lib"
32import * as ssm from "aws-cdk-lib/aws-ssm"
43import * as secretsmanager from "aws-cdk-lib/aws-secretsmanager"
4+ import { SecretWithParameter } from "../constructs/SecretWithParameter"
55
66export interface SecretsProps {
77 slackBotToken : string
@@ -17,36 +17,23 @@ export class Secrets extends Construct {
1717 constructor ( scope : Construct , id : string , props : SecretsProps ) {
1818 super ( scope , id )
1919
20- // Create secrets in Secrets Manager
21- this . slackBotTokenSecret = new secretsmanager . Secret ( this , "SlackBotTokenSecret" , {
20+ const slackBotToken = new SecretWithParameter ( this , "SlackBotToken" , {
2221 secretName : "/eps-assist/slack/bot-token" ,
22+ parameterName : "/eps-assist/slack/bot-token/parameter" ,
2323 description : "Slack Bot OAuth Token for EPS Assist" ,
24- secretStringValue : cdk . SecretValue . unsafePlainText ( JSON . stringify ( {
25- token : props . slackBotToken
26- } ) )
24+ secretValue : JSON . stringify ( { token : props . slackBotToken } )
2725 } )
2826
29- this . slackBotSigningSecret = new secretsmanager . Secret ( this , "SlackBotSigningSecret " , {
27+ const slackBotSigning = new SecretWithParameter ( this , "SlackBotSigning " , {
3028 secretName : "/eps-assist/slack/signing-secret" ,
29+ parameterName : "/eps-assist/slack/signing-secret/parameter" ,
3130 description : "Slack Signing Secret" ,
32- secretStringValue : cdk . SecretValue . unsafePlainText ( JSON . stringify ( {
33- secret : props . slackSigningSecret
34- } ) )
31+ secretValue : JSON . stringify ( { secret : props . slackSigningSecret } )
3532 } )
3633
37- // Create SSM parameters that reference the secrets
38- this . slackBotTokenParameter = new ssm . StringParameter ( this , "SlackBotTokenParameter" , {
39- parameterName : "/eps-assist/slack/bot-token/parameter" ,
40- stringValue : `{{resolve:secretsmanager:${ this . slackBotTokenSecret . secretName } }}` ,
41- description : "Reference to Slack Bot Token in Secrets Manager" ,
42- tier : ssm . ParameterTier . STANDARD
43- } )
44-
45- this . slackSigningSecretParameter = new ssm . StringParameter ( this , "SlackSigningSecretParameter" , {
46- parameterName : "/eps-assist/slack/signing-secret/parameter" ,
47- stringValue : `{{resolve:secretsmanager:${ this . slackBotSigningSecret . secretName } }}` ,
48- description : "Reference to Slack Signing Secret in Secrets Manager" ,
49- tier : ssm . ParameterTier . STANDARD
50- } )
34+ this . slackBotTokenSecret = slackBotToken . secret
35+ this . slackBotSigningSecret = slackBotSigning . secret
36+ this . slackBotTokenParameter = slackBotToken . parameter
37+ this . slackSigningSecretParameter = slackBotSigning . parameter
5138 }
5239}
0 commit comments