@scloud/cdk-patterns
Version: 
Serverless CDK patterns for common infrastructure needs
22 lines • 3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SecretString = void 0;
const aws_cdk_lib_1 = require("aws-cdk-lib");
const aws_secretsmanager_1 = require("aws-cdk-lib/aws-secretsmanager");
/**
 * Generates a secret value.
 * see: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_secretsmanager-readme.html
 * @param scope The name of the parent construct's stack is used as a prefix in the secret name
 * @returns A simple secret. The value can be accessed as SecretValue.secretValue
 */
class SecretString extends aws_secretsmanager_1.Secret {
    constructor(scope, id, props) {
        super(scope, id, {
            description: `${aws_cdk_lib_1.Stack.of(scope).stackName}/${id}`,
            secretStringValue: typeof props.secretValue === 'string' ? aws_cdk_lib_1.SecretValue.unsafePlainText(props.secretValue) : props.secretValue,
            ...props.secretProps,
        });
    }
}
exports.SecretString = SecretString;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0U3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NlY3JldFN0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBaUQ7QUFDakQsdUVBQXFFO0FBR3JFOzs7OztHQUtHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsMkJBQU07SUFDdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFpRjtRQUN6SCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUU7WUFDakQsaUJBQWlCLEVBQUUsT0FBTyxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMseUJBQVcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVztZQUM3SCxHQUFHLEtBQUssQ0FBQyxXQUFXO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQVJELG9DQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VjcmV0VmFsdWUsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgU2VjcmV0LCBTZWNyZXRQcm9wcyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlcic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBzZWNyZXQgdmFsdWUuXG4gKiBzZWU6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jZGsvYXBpL3YyL2RvY3MvYXdzLWNkay1saWIuYXdzX3NlY3JldHNtYW5hZ2VyLXJlYWRtZS5odG1sXG4gKiBAcGFyYW0gc2NvcGUgVGhlIG5hbWUgb2YgdGhlIHBhcmVudCBjb25zdHJ1Y3QncyBzdGFjayBpcyB1c2VkIGFzIGEgcHJlZml4IGluIHRoZSBzZWNyZXQgbmFtZVxuICogQHJldHVybnMgQSBzaW1wbGUgc2VjcmV0LiBUaGUgdmFsdWUgY2FuIGJlIGFjY2Vzc2VkIGFzIFNlY3JldFZhbHVlLnNlY3JldFZhbHVlXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWNyZXRTdHJpbmcgZXh0ZW5kcyBTZWNyZXQge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogeyBzZWNyZXRWYWx1ZTogc3RyaW5nIHwgU2VjcmV0VmFsdWUsIHNlY3JldFByb3BzPzogUGFydGlhbDxTZWNyZXRQcm9wcz47IH0pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgJHtTdGFjay5vZihzY29wZSkuc3RhY2tOYW1lfS8ke2lkfWAsXG4gICAgICBzZWNyZXRTdHJpbmdWYWx1ZTogdHlwZW9mIHByb3BzLnNlY3JldFZhbHVlID09PSAnc3RyaW5nJyA/IFNlY3JldFZhbHVlLnVuc2FmZVBsYWluVGV4dChwcm9wcy5zZWNyZXRWYWx1ZSkgOiBwcm9wcy5zZWNyZXRWYWx1ZSxcbiAgICAgIC4uLnByb3BzLnNlY3JldFByb3BzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=