UNPKG

raindancers-network

Version:
44 lines 6.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EnterpriseZoneHelpers = void 0; const path = require("path"); const aws_cdk_lib_1 = require("aws-cdk-lib"); const cdk = require("aws-cdk-lib"); const constructs = require("constructs"); class EnterpriseZoneHelpers extends constructs.Construct { constructor(scope, id, props) { super(scope, id); const associateCentralVpcwithZone = new aws_cdk_lib_1.aws_lambda.SingletonFunction(this, 'associatezoneLambda', { uuid: 'FAAD00440', runtime: aws_cdk_lib_1.aws_lambda.Runtime.PYTHON_3_9, logRetention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_MONTH, handler: 'associateCentralVPC.on_event', code: aws_cdk_lib_1.aws_lambda.Code.fromAsset(path.join(__dirname, '../../lambda/dns')), timeout: cdk.Duration.seconds(899), }); associateCentralVpcwithZone.addToRolePolicy(new aws_cdk_lib_1.aws_iam.PolicyStatement({ actions: [ 'sts:AssumeRole', 'route53:AssociateVpcWithHostedZone', 'route53:DisassociateVpcFromHostedZone', 'ec2:DescribeVpcs', ], effect: aws_cdk_lib_1.aws_iam.Effect.ALLOW, resources: ['*'], })); this.customResource = new cdk.CustomResource(this, 'associateVPCcustomResources', { resourceType: 'Custom::AssociateInternalZone', properties: { ZoneId: props.zoneId, Region: props.region, SearchTagKey: props.searchTag.key, SearchTagValue: props.searchTag.value, }, serviceToken: new aws_cdk_lib_1.custom_resources.Provider(this, 'associateProvider', { onEventHandler: associateCentralVpcwithZone, }).serviceToken, }); } } exports.EnterpriseZoneHelpers = EnterpriseZoneHelpers; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50ZXJwcmlzZVpvbmVoZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Rucy9lbnRlcnByaXNlWm9uZWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBQzdCLDZDQUtxQjtBQUVyQixtQ0FBbUM7QUFDbkMseUNBQXlDO0FBUXpDLE1BQWEscUJBQXNCLFNBQVEsVUFBVSxDQUFDLFNBQVM7SUFJN0QsWUFDRSxLQUEyQixFQUMzQixFQUFVLEVBQ1YsS0FBaUM7UUFFakMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLDJCQUEyQixHQUFHLElBQUksd0JBQVUsQ0FBQyxpQkFBaUIsQ0FDbEUsSUFBSSxFQUNKLHFCQUFxQixFQUNyQjtZQUNFLElBQUksRUFBRSxXQUFXO1lBQ2pCLE9BQU8sRUFBRSx3QkFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1lBQ3RDLFlBQVksRUFBRSxzQkFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTO1lBQzFDLE9BQU8sRUFBRSw4QkFBOEI7WUFDdkMsSUFBSSxFQUFFLHdCQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FDekM7WUFDRCxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1NBQ25DLENBQ0YsQ0FBQztRQUVGLDJCQUEyQixDQUFDLGVBQWUsQ0FDekMsSUFBSSxxQkFBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUU7Z0JBQ1AsZ0JBQWdCO2dCQUNoQixvQ0FBb0M7Z0JBQ3BDLHVDQUF1QztnQkFDdkMsa0JBQWtCO2FBQ25CO1lBQ0QsTUFBTSxFQUFFLHFCQUFHLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDeEIsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO1NBQ2pCLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQzFDLElBQUksRUFDSiw2QkFBNkIsRUFDN0I7WUFDRSxZQUFZLEVBQUUsK0JBQStCO1lBQzdDLFVBQVUsRUFBRTtnQkFDVixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07Z0JBQ3BCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtnQkFDcEIsWUFBWSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRztnQkFDdkMsY0FBYyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSzthQUNoQztZQUNELFlBQVksRUFBRSxJQUFJLDhCQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRTtnQkFDdkQsY0FBYyxFQUFFLDJCQUEyQjthQUM1QyxDQUFDLENBQUMsWUFBWTtTQUNoQixDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF4REQsc0RBd0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7XG4gIGN1c3RvbV9yZXNvdXJjZXMgYXMgY3IsXG4gIGF3c19sb2dzIGFzIGxvZ3MsXG4gIGF3c19sYW1iZGEsXG4gIGF3c19pYW0gYXMgaWFtLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5cbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudGVycHJpc2Vab25lSGVscGVyc1Byb3BzIHtcbiAgem9uZUlkOiBzdHJpbmc7XG4gIHJlZ2lvbjogc3RyaW5nO1xuICBzZWFyY2hUYWc6IGNkay5UYWc7XG59XG5cbmV4cG9ydCBjbGFzcyBFbnRlcnByaXNlWm9uZUhlbHBlcnMgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG5cbiAgY3VzdG9tUmVzb3VyY2U6IGNkay5DdXN0b21SZXNvdXJjZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogRW50ZXJwcmlzZVpvbmVIZWxwZXJzUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBhc3NvY2lhdGVDZW50cmFsVnBjd2l0aFpvbmUgPSBuZXcgYXdzX2xhbWJkYS5TaW5nbGV0b25GdW5jdGlvbihcbiAgICAgIHRoaXMsXG4gICAgICAnYXNzb2NpYXRlem9uZUxhbWJkYScsXG4gICAgICB7XG4gICAgICAgIHV1aWQ6ICdGQUFEMDA0NDAnLFxuICAgICAgICBydW50aW1lOiBhd3NfbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfOSxcbiAgICAgICAgbG9nUmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX01PTlRILFxuICAgICAgICBoYW5kbGVyOiAnYXNzb2NpYXRlQ2VudHJhbFZQQy5vbl9ldmVudCcsXG4gICAgICAgIGNvZGU6IGF3c19sYW1iZGEuQ29kZS5mcm9tQXNzZXQoXG4gICAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uLy4uL2xhbWJkYS9kbnMnKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLnNlY29uZHMoODk5KSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGFzc29jaWF0ZUNlbnRyYWxWcGN3aXRoWm9uZS5hZGRUb1JvbGVQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAnc3RzOkFzc3VtZVJvbGUnLFxuICAgICAgICAgICdyb3V0ZTUzOkFzc29jaWF0ZVZwY1dpdGhIb3N0ZWRab25lJyxcbiAgICAgICAgICAncm91dGU1MzpEaXNhc3NvY2lhdGVWcGNGcm9tSG9zdGVkWm9uZScsXG4gICAgICAgICAgJ2VjMjpEZXNjcmliZVZwY3MnLFxuICAgICAgICBdLFxuICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy5jdXN0b21SZXNvdXJjZSA9IG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UoXG4gICAgICB0aGlzLFxuICAgICAgJ2Fzc29jaWF0ZVZQQ2N1c3RvbVJlc291cmNlcycsXG4gICAgICB7XG4gICAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6QXNzb2NpYXRlSW50ZXJuYWxab25lJyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIFpvbmVJZDogcHJvcHMuem9uZUlkLCAvLyB0aGlzIGlzIHRoZSB6b25lXG4gICAgICAgICAgUmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICAgICAgU2VhcmNoVGFnS2V5OiBwcm9wcy5zZWFyY2hUYWcua2V5LFxuXHRcdCAgU2VhcmNoVGFnVmFsdWU6IHByb3BzLnNlYXJjaFRhZy52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgc2VydmljZVRva2VuOiBuZXcgY3IuUHJvdmlkZXIodGhpcywgJ2Fzc29jaWF0ZVByb3ZpZGVyJywge1xuICAgICAgICAgIG9uRXZlbnRIYW5kbGVyOiBhc3NvY2lhdGVDZW50cmFsVnBjd2l0aFpvbmUsXG4gICAgICAgIH0pLnNlcnZpY2VUb2tlbixcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxufVxuIl19