@pdmlab/cdk-constructs
Version:
Shared constructs for AWS CDK
49 lines • 5.12 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const assert_1 = require("@aws-cdk/assert");
const cdk = require("@aws-cdk/core");
const CdkConstructs = require("../lib/index");
const CDK_DEFAULT_ACCOUNT = '123';
const CDK_DEFAULT_REGION = 'eu-central-1';
test('AllowHostedZoneChangeResourceRecordSetsPolicy created', () => {
const app = new cdk.App();
const stack = new cdk.Stack(app, 'TestStack', {
env: {
account: CDK_DEFAULT_ACCOUNT,
region: CDK_DEFAULT_REGION
}
});
// WHEN
new CdkConstructs.AllowHostedZoneChangeResourceRecordSetsPolicy(stack, 'MyTestConstruct', {
domainName: 'mydomain.com'
});
// THEN
assert_1.expect(stack).to(assert_1.haveResource('AWS::IAM::ManagedPolicy', {
PolicyDocument: {
Statement: [
{
Action: 'route53:ChangeResourceRecordSets',
Effect: 'Allow',
Resource: 'arn:aws:route53:::hostedzone/DUMMY'
},
{
Action: 'route53:ListHostedZonesByName',
Effect: 'Allow',
Resource: '*'
},
{
Action: 'route53:GetHostedZone',
Effect: 'Allow',
Resource: 'arn:aws:route53:::hostedzone/DUMMY'
},
{
Action: 'route53:GetChange',
Effect: 'Allow',
Resource: 'arn:aws:route53:::change/*'
}
],
Version: '2012-10-17'
}
}));
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNvbnN0cnVjdHMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1jb25zdHJ1Y3RzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0Q0FBZ0Y7QUFDaEYscUNBQXNDO0FBQ3RDLDhDQUErQztBQUUvQyxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQTtBQUNqQyxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FBQTtBQUV6QyxJQUFJLENBQUMsdURBQXVELEVBQUUsR0FBRyxFQUFFO0lBQ2pFLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFO1FBQzVDLEdBQUcsRUFBRTtZQUNILE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsTUFBTSxFQUFFLGtCQUFrQjtTQUMzQjtLQUNGLENBQUMsQ0FBQTtJQUNGLE9BQU87SUFDUCxJQUFJLGFBQWEsQ0FBQyw2Q0FBNkMsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7UUFDeEYsVUFBVSxFQUFFLGNBQWM7S0FDM0IsQ0FBQyxDQUFBO0lBQ0YsT0FBTztJQUNQLGVBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQ2pCLHFCQUFZLENBQUMseUJBQXlCLEVBQUU7UUFDdEMsY0FBYyxFQUFFO1lBQ2QsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE1BQU0sRUFBRSxrQ0FBa0M7b0JBQzFDLE1BQU0sRUFBRSxPQUFPO29CQUNmLFFBQVEsRUFBRSxvQ0FBb0M7aUJBQy9DO2dCQUNEO29CQUNFLE1BQU0sRUFBRSwrQkFBK0I7b0JBQ3ZDLE1BQU0sRUFBRSxPQUFPO29CQUNmLFFBQVEsRUFBRSxHQUFHO2lCQUNkO2dCQUNEO29CQUNFLE1BQU0sRUFBRSx1QkFBdUI7b0JBQy9CLE1BQU0sRUFBRSxPQUFPO29CQUNmLFFBQVEsRUFBRSxvQ0FBb0M7aUJBQy9DO2dCQUNEO29CQUNFLE1BQU0sRUFBRSxtQkFBbUI7b0JBQzNCLE1BQU0sRUFBRSxPQUFPO29CQUNmLFFBQVEsRUFBRSw0QkFBNEI7aUJBQ3ZDO2FBQ0Y7WUFDRCxPQUFPLEVBQUUsWUFBWTtTQUN0QjtLQUNGLENBQUMsQ0FDSCxDQUFBO0FBQ0gsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleHBlY3QgYXMgZXhwZWN0Q0RLLCBoYXZlUmVzb3VyY2UsIFN5bnRoVXRpbHMgfSBmcm9tICdAYXdzLWNkay9hc3NlcnQnO1xuaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NvcmUnKTtcbmltcG9ydCBDZGtDb25zdHJ1Y3RzID0gcmVxdWlyZSgnLi4vbGliL2luZGV4Jyk7XG5cbmNvbnN0IENES19ERUZBVUxUX0FDQ09VTlQgPSAnMTIzJ1xuY29uc3QgQ0RLX0RFRkFVTFRfUkVHSU9OID0gJ2V1LWNlbnRyYWwtMSdcblxudGVzdCgnQWxsb3dIb3N0ZWRab25lQ2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzUG9saWN5IGNyZWF0ZWQnLCAoKSA9PiB7XG4gIGNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKClcbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKGFwcCwgJ1Rlc3RTdGFjaycsIHtcbiAgICBlbnY6IHtcbiAgICAgIGFjY291bnQ6IENES19ERUZBVUxUX0FDQ09VTlQsXG4gICAgICByZWdpb246IENES19ERUZBVUxUX1JFR0lPTlxuICAgIH1cbiAgfSlcbiAgLy8gV0hFTlxuICBuZXcgQ2RrQ29uc3RydWN0cy5BbGxvd0hvc3RlZFpvbmVDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNQb2xpY3koc3RhY2ssICdNeVRlc3RDb25zdHJ1Y3QnLCB7XG4gICAgZG9tYWluTmFtZTogJ215ZG9tYWluLmNvbSdcbiAgfSlcbiAgLy8gVEhFTlxuICBleHBlY3RDREsoc3RhY2spLnRvKFxuICAgIGhhdmVSZXNvdXJjZSgnQVdTOjpJQU06Ok1hbmFnZWRQb2xpY3knLCB7XG4gICAgICBQb2xpY3lEb2N1bWVudDoge1xuICAgICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBBY3Rpb246ICdyb3V0ZTUzOkNoYW5nZVJlc291cmNlUmVjb3JkU2V0cycsXG4gICAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgICBSZXNvdXJjZTogJ2Fybjphd3M6cm91dGU1Mzo6Omhvc3RlZHpvbmUvRFVNTVknXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBBY3Rpb246ICdyb3V0ZTUzOkxpc3RIb3N0ZWRab25lc0J5TmFtZScsXG4gICAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgICBSZXNvdXJjZTogJyonXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBBY3Rpb246ICdyb3V0ZTUzOkdldEhvc3RlZFpvbmUnLFxuICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgUmVzb3VyY2U6ICdhcm46YXdzOnJvdXRlNTM6Ojpob3N0ZWR6b25lL0RVTU1ZJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgQWN0aW9uOiAncm91dGU1MzpHZXRDaGFuZ2UnLFxuICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgUmVzb3VyY2U6ICdhcm46YXdzOnJvdXRlNTM6OjpjaGFuZ2UvKidcbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3J1xuICAgICAgfVxuICAgIH0pXG4gIClcbn0pIl19