UNPKG

@cdklabs/aws-data-solutions-framework

Version:
28 lines 4.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const cdk = require("aws-cdk-lib"); const dsf = require("../../index"); const aws_iam_1 = require("aws-cdk-lib/aws-iam"); class ExampleOpenSearchApiStackDeps extends cdk.Stack { constructor(scope, id, props) { super(scope, id, props); this.node.setContext('@data-solutions-framework-on-aws/removeDataOnDestroy', true); /// !show const domainEndpoint = 'search-XXXXXX.XXXXXX.es.amazonaws.com'; const apiRole = aws_iam_1.Role.fromRoleName(this, 'ApiRole', '<IAMRoleWithOpenSearchPermissions>'); const osApi = new dsf.consumption.OpenSearchApi(this, 'MyOpenSearchApi', { iamHandlerRole: apiRole, openSearchEndpoint: domainEndpoint, openSearchClusterType: dsf.consumption.OpenSearchClusterType.PROVISIONED, removalPolicy: cdk.RemovalPolicy.DESTROY }); const firstCall = osApi.addRoleMapping('AnotherAdmin', 'all_access', '<IAMRole>', true); const secondCall = osApi.addRoleMapping('AnotherAdmin', 'all_access', '<IAMRole>', true); //dependency to enforce sequential API calls secondCall.node.addDependency(firstCall); /// !hide } } const app = new cdk.App(); new ExampleOpenSearchApiStackDeps(app, 'ExampleOpenSearchApiStandaloneDepsStack', { env: { region: 'us-east-1' } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbnNlYXJjaC1hcGktc3RhbmRhbG9uZS1kZXBzLmxpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25zdW1wdGlvbi9leGFtcGxlcy9vcGVuc2VhcmNoLWFwaS1zdGFuZGFsb25lLWRlcHMubGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUNBQW1DO0FBRW5DLG1DQUFtQztBQUNuQyxpREFBMkM7QUFHM0MsTUFBTSw2QkFBOEIsU0FBUSxHQUFHLENBQUMsS0FBSztJQUVuRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFHLEtBQW9CO1FBRTdELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNEQUFzRCxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25GLFNBQVM7UUFDVCxNQUFNLGNBQWMsR0FBQyx1Q0FBdUMsQ0FBQztRQUM3RCxNQUFNLE9BQU8sR0FBRyxjQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsb0NBQW9DLENBQUMsQ0FBQztRQUN6RixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBQztZQUN0RSxjQUFjLEVBQUMsT0FBTztZQUN0QixrQkFBa0IsRUFBQyxjQUFjO1lBQ2pDLHFCQUFxQixFQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsV0FBVztZQUN2RSxhQUFhLEVBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPO1NBQ3hDLENBQUMsQ0FBQztRQUVILE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLFlBQVksRUFBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkYsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV4Riw0Q0FBNEM7UUFDNUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekMsU0FBUztJQUVYLENBQUM7Q0FDRjtBQUVELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzFCLElBQUksNkJBQTZCLENBQUMsR0FBRyxFQUFFLHlDQUF5QyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxFQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIGRzZiBmcm9tICcuLi8uLi9pbmRleCc7XG5pbXBvcnQgeyBSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5cblxuY2xhc3MgRXhhbXBsZU9wZW5TZWFyY2hBcGlTdGFja0RlcHMgZXh0ZW5kcyBjZGsuU3RhY2sge1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcgLCBwcm9wczpjZGsuU3RhY2tQcm9wcykge1xuXG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgdGhpcy5ub2RlLnNldENvbnRleHQoJ0BkYXRhLXNvbHV0aW9ucy1mcmFtZXdvcmstb24tYXdzL3JlbW92ZURhdGFPbkRlc3Ryb3knLCB0cnVlKTtcbiAgICAvLy8gIXNob3dcbiAgICBjb25zdCBkb21haW5FbmRwb2ludD0nc2VhcmNoLVhYWFhYWC5YWFhYWFguZXMuYW1hem9uYXdzLmNvbSc7XG4gICAgY29uc3QgYXBpUm9sZSA9IFJvbGUuZnJvbVJvbGVOYW1lKHRoaXMsICdBcGlSb2xlJywgJzxJQU1Sb2xlV2l0aE9wZW5TZWFyY2hQZXJtaXNzaW9ucz4nKTtcbiAgICBjb25zdCBvc0FwaSA9IG5ldyBkc2YuY29uc3VtcHRpb24uT3BlblNlYXJjaEFwaSh0aGlzLCAnTXlPcGVuU2VhcmNoQXBpJyx7XG4gICAgICBpYW1IYW5kbGVyUm9sZTphcGlSb2xlLFxuICAgICAgb3BlblNlYXJjaEVuZHBvaW50OmRvbWFpbkVuZHBvaW50LFxuICAgICAgb3BlblNlYXJjaENsdXN0ZXJUeXBlOmRzZi5jb25zdW1wdGlvbi5PcGVuU2VhcmNoQ2x1c3RlclR5cGUuUFJPVklTSU9ORUQsXG4gICAgICByZW1vdmFsUG9saWN5OmNkay5SZW1vdmFsUG9saWN5LkRFU1RST1lcbiAgICB9KTtcblxuICAgIGNvbnN0IGZpcnN0Q2FsbCA9IG9zQXBpLmFkZFJvbGVNYXBwaW5nKCdBbm90aGVyQWRtaW4nLCAnYWxsX2FjY2VzcycsJzxJQU1Sb2xlPicsIHRydWUpO1xuICAgIGNvbnN0IHNlY29uZENhbGwgPSBvc0FwaS5hZGRSb2xlTWFwcGluZygnQW5vdGhlckFkbWluJywgJ2FsbF9hY2Nlc3MnLCc8SUFNUm9sZT4nLCB0cnVlKTtcbiAgICBcbiAgICAvL2RlcGVuZGVuY3kgdG8gZW5mb3JjZSBzZXF1ZW50aWFsIEFQSSBjYWxsc1xuICAgIHNlY29uZENhbGwubm9kZS5hZGREZXBlbmRlbmN5KGZpcnN0Q2FsbCk7XG4gICAgLy8vICFoaWRlXG5cbiAgfVxufVxuXG5jb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xubmV3IEV4YW1wbGVPcGVuU2VhcmNoQXBpU3RhY2tEZXBzKGFwcCwgJ0V4YW1wbGVPcGVuU2VhcmNoQXBpU3RhbmRhbG9uZURlcHNTdGFjaycsIHsgZW52OiB7cmVnaW9uOid1cy1lYXN0LTEnfSB9KTsiXX0=