UNPKG

@cdklabs/cdk-ethereum-node

Version:

CDK construct to deploy an Ethereum node running on Amazon Managed Blockchain

78 lines 6.94 kB
"use strict"; // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 Object.defineProperty(exports, "__esModule", { value: true }); exports.SUPPORTED_AVAILABILITY_ZONES = exports.SUPPORTED_REGIONS = void 0; exports.validateRegion = validateRegion; exports.validateAvailabilityZone = validateAvailabilityZone; /** * Regions where Managed Blockchain is supported, for details see * https://aws.amazon.com/managed-blockchain/pricing/hyperledger/ */ exports.SUPPORTED_REGIONS = [ 'ap-northeast-1', 'ap-northeast-2', 'ap-southeast-1', 'eu-west-1', 'eu-west-2', 'us-east-1', ]; /** * Map of supported regions to their availability zones */ exports.SUPPORTED_AVAILABILITY_ZONES = { 'ap-northeast-1': [ 'ap-northeast-1a', 'ap-northeast-1b', 'ap-northeast-1c', ], 'ap-northeast-2': [ 'ap-northeast-2a', 'ap-northeast-2b', 'ap-northeast-2c', 'ap-northeast-2d', ], 'ap-southeast-1': [ 'ap-southeast-1a', 'ap-southeast-1b', 'ap-southeast-1c', ], 'eu-west-1': [ 'eu-west-1a', 'eu-west-1b', 'eu-west-1c', ], 'eu-west-2': [ 'eu-west-2a', 'eu-west-2b', 'eu-west-2c', ], 'us-east-1': [ 'us-east-1a', 'us-east-1b', 'us-east-1c', 'us-east-1d', 'us-east-1e', 'us-east-1f', ], }; /** * Throw an error if provided region is not in the supported list */ function validateRegion(region) { if (!exports.SUPPORTED_REGIONS.includes(region)) { const regionList = exports.SUPPORTED_REGIONS.join(', '); throw new Error(`Managed Blockchain is only available in the following regions: ${regionList}.`); } } /** * Throw an error if provided availability zone is not in the supported list */ function validateAvailabilityZone(region, availabilityZone) { const availabililtyZonesForRegion = exports.SUPPORTED_AVAILABILITY_ZONES[region]; if (typeof availabilityZone === 'undefined' || !availabililtyZonesForRegion.includes(availabilityZone)) { const availabilityZoneList = availabililtyZonesForRegion.join(', '); throw new Error(`Managed Blockchain in ${region} is only available in the following availability zones: ${availabilityZoneList}.`); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3V0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUVBQXFFO0FBQ3JFLGlDQUFpQzs7O0FBMERqQyx3Q0FLQztBQUtELDREQU1DO0FBeEVEOzs7RUFHRTtBQUNXLFFBQUEsaUJBQWlCLEdBQUc7SUFDL0IsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLFdBQVc7SUFDWCxXQUFXO0NBQ1osQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSw0QkFBNEIsR0FBa0M7SUFDekUsZ0JBQWdCLEVBQUU7UUFDaEIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixpQkFBaUI7S0FDbEI7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixpQkFBaUI7S0FDbEI7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtLQUNsQjtJQUNELFdBQVcsRUFBRTtRQUNYLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtLQUNiO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO0tBQ2I7SUFDRCxXQUFXLEVBQUU7UUFDWCxZQUFZO1FBQ1osWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLFlBQVk7S0FDYjtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxNQUFjO0lBQzNDLElBQUksQ0FBQyx5QkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxNQUFNLFVBQVUsR0FBRyx5QkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxrRUFBa0UsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNuRyxDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0Isd0JBQXdCLENBQUMsTUFBYyxFQUFFLGdCQUF5QjtJQUNoRixNQUFNLDJCQUEyQixHQUFHLG9DQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLElBQUksT0FBTyxnQkFBZ0IsS0FBSyxXQUFXLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1FBQ3ZHLE1BQU0sb0JBQW9CLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLE1BQU0sMkRBQTJELG9CQUFvQixHQUFHLENBQUMsQ0FBQztJQUNySSxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVC0wXG5cbi8qKlxuICogUmVnaW9ucyB3aGVyZSBNYW5hZ2VkIEJsb2NrY2hhaW4gaXMgc3VwcG9ydGVkLCBmb3IgZGV0YWlscyBzZWVcbiAqIGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vbWFuYWdlZC1ibG9ja2NoYWluL3ByaWNpbmcvaHlwZXJsZWRnZXIvXG4qL1xuZXhwb3J0IGNvbnN0IFNVUFBPUlRFRF9SRUdJT05TID0gW1xuICAnYXAtbm9ydGhlYXN0LTEnLFxuICAnYXAtbm9ydGhlYXN0LTInLFxuICAnYXAtc291dGhlYXN0LTEnLFxuICAnZXUtd2VzdC0xJyxcbiAgJ2V1LXdlc3QtMicsXG4gICd1cy1lYXN0LTEnLFxuXTtcblxuLyoqXG4gKiBNYXAgb2Ygc3VwcG9ydGVkIHJlZ2lvbnMgdG8gdGhlaXIgYXZhaWxhYmlsaXR5IHpvbmVzXG4gKi9cbmV4cG9ydCBjb25zdCBTVVBQT1JURURfQVZBSUxBQklMSVRZX1pPTkVTOiBSZWNvcmQ8c3RyaW5nLCBBcnJheTxzdHJpbmc+PiA9IHtcbiAgJ2FwLW5vcnRoZWFzdC0xJzogW1xuICAgICdhcC1ub3J0aGVhc3QtMWEnLFxuICAgICdhcC1ub3J0aGVhc3QtMWInLFxuICAgICdhcC1ub3J0aGVhc3QtMWMnLFxuICBdLFxuICAnYXAtbm9ydGhlYXN0LTInOiBbXG4gICAgJ2FwLW5vcnRoZWFzdC0yYScsXG4gICAgJ2FwLW5vcnRoZWFzdC0yYicsXG4gICAgJ2FwLW5vcnRoZWFzdC0yYycsXG4gICAgJ2FwLW5vcnRoZWFzdC0yZCcsXG4gIF0sXG4gICdhcC1zb3V0aGVhc3QtMSc6IFtcbiAgICAnYXAtc291dGhlYXN0LTFhJyxcbiAgICAnYXAtc291dGhlYXN0LTFiJyxcbiAgICAnYXAtc291dGhlYXN0LTFjJyxcbiAgXSxcbiAgJ2V1LXdlc3QtMSc6IFtcbiAgICAnZXUtd2VzdC0xYScsXG4gICAgJ2V1LXdlc3QtMWInLFxuICAgICdldS13ZXN0LTFjJyxcbiAgXSxcbiAgJ2V1LXdlc3QtMic6IFtcbiAgICAnZXUtd2VzdC0yYScsXG4gICAgJ2V1LXdlc3QtMmInLFxuICAgICdldS13ZXN0LTJjJyxcbiAgXSxcbiAgJ3VzLWVhc3QtMSc6IFtcbiAgICAndXMtZWFzdC0xYScsXG4gICAgJ3VzLWVhc3QtMWInLFxuICAgICd1cy1lYXN0LTFjJyxcbiAgICAndXMtZWFzdC0xZCcsXG4gICAgJ3VzLWVhc3QtMWUnLFxuICAgICd1cy1lYXN0LTFmJyxcbiAgXSxcbn07XG5cbi8qKlxuICogVGhyb3cgYW4gZXJyb3IgaWYgcHJvdmlkZWQgcmVnaW9uIGlzIG5vdCBpbiB0aGUgc3VwcG9ydGVkIGxpc3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUmVnaW9uKHJlZ2lvbjogc3RyaW5nKSB7XG4gIGlmICghU1VQUE9SVEVEX1JFR0lPTlMuaW5jbHVkZXMocmVnaW9uKSkge1xuICAgIGNvbnN0IHJlZ2lvbkxpc3QgPSBTVVBQT1JURURfUkVHSU9OUy5qb2luKCcsICcpO1xuICAgIHRocm93IG5ldyBFcnJvcihgTWFuYWdlZCBCbG9ja2NoYWluIGlzIG9ubHkgYXZhaWxhYmxlIGluIHRoZSBmb2xsb3dpbmcgcmVnaW9uczogJHtyZWdpb25MaXN0fS5gKTtcbiAgfVxufVxuXG4vKipcbiAqIFRocm93IGFuIGVycm9yIGlmIHByb3ZpZGVkIGF2YWlsYWJpbGl0eSB6b25lIGlzIG5vdCBpbiB0aGUgc3VwcG9ydGVkIGxpc3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQXZhaWxhYmlsaXR5Wm9uZShyZWdpb246IHN0cmluZywgYXZhaWxhYmlsaXR5Wm9uZT86IHN0cmluZykge1xuICBjb25zdCBhdmFpbGFiaWxpbHR5Wm9uZXNGb3JSZWdpb24gPSBTVVBQT1JURURfQVZBSUxBQklMSVRZX1pPTkVTW3JlZ2lvbl07XG4gIGlmICh0eXBlb2YgYXZhaWxhYmlsaXR5Wm9uZSA9PT0gJ3VuZGVmaW5lZCcgfHwgIWF2YWlsYWJpbGlsdHlab25lc0ZvclJlZ2lvbi5pbmNsdWRlcyhhdmFpbGFiaWxpdHlab25lKSkge1xuICAgIGNvbnN0IGF2YWlsYWJpbGl0eVpvbmVMaXN0ID0gYXZhaWxhYmlsaWx0eVpvbmVzRm9yUmVnaW9uLmpvaW4oJywgJyk7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBNYW5hZ2VkIEJsb2NrY2hhaW4gaW4gJHtyZWdpb259IGlzIG9ubHkgYXZhaWxhYmxlIGluIHRoZSBmb2xsb3dpbmcgYXZhaWxhYmlsaXR5IHpvbmVzOiAke2F2YWlsYWJpbGl0eVpvbmVMaXN0fS5gKTtcbiAgfVxufVxuIl19