aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines (1 loc) • 1.29 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});const iam=require("../../aws-iam"),cdk=require("../../core"),core_1=require("../../core"),secretsmanager=require("../lib");class SecretsManagerStack extends cdk.Stack{constructor(scope,id){super(scope,id);const role=new iam.Role(this,"TestRole",{assumedBy:new iam.AccountRootPrincipal}),secret=new secretsmanager.Secret(this,"Secret");secret.grantRead(role);const user=new iam.User(this,"User",{password:secret.secretValue}),templatedSecret=new secretsmanager.Secret(this,"TemplatedSecret",{generateSecretString:{secretStringTemplate:JSON.stringify({username:"user"}),generateStringKey:"password"}});new iam.User(this,"OtherUser",{userName:templatedSecret.secretValueFromJson("username").unsafeUnwrap(),password:templatedSecret.secretValueFromJson("password")});const accessKey=new iam.AccessKey(this,"AccessKey",{user});new secretsmanager.Secret(this,"PredefinedSecret",{secretStringValue:accessKey.secretAccessKey}),new secretsmanager.Secret(this,"JSONSecret",{secretObjectValue:{username:core_1.SecretValue.unsafePlainText(user.userName),database:core_1.SecretValue.unsafePlainText("foo"),password:accessKey.secretAccessKey}})}}const app=new cdk.App;new SecretsManagerStack(app,"Integ-SecretsManager-Secret"),app.synth();