UNPKG

automation-deploy-template-iac

Version:

AWS CDK Infrastructure as Code templates for deploying full-stack applications with FastAPI backend, Vue.js frontend, and automated deployment

67 lines 7.94 kB
#!/usr/bin/env node "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); const cdk = __importStar(require("aws-cdk-lib")); const network_stack_1 = require("../lib/network-stack"); const env_1 = require("../lib/config/env"); const constants_1 = require("../lib/config/constants"); const app = new cdk.App(); const projectName = (0, env_1.getProjectName)(); // 環境変数またはコンテキストから環境を取得(デフォルトはdev) const environment = (0, env_1.getEnvironment)(app); const costLevel = (0, env_1.getCostLevel)(app); const stackName = (0, constants_1.createStackName)(projectName, environment, constants_1.STACK_TYPES.NETWORK); // バリデーション (0, env_1.validateCostLevel)(costLevel); console.log(`Project Name: ${projectName}`); console.log(`Environment: ${environment}`); console.log(`Cost Level: ${costLevel}`); console.log(`Stack Name: ${stackName}`); try { // NetworkStackを作成 new network_stack_1.NetworkStack(app, stackName, { projectName, costLevel: costLevel, environment: environment, /* If you don't specify 'env', this stack will be environment-agnostic. * Account/Region-dependent features and context lookups will not work, * but a single synthesized template can be deployed anywhere. */ /* Uncomment the next line to specialize this stack for the AWS Account * and Region that are implied by the current CLI configuration. */ env: { account: (0, env_1.getCdkDefaultAccount)(), region: (0, env_1.getCdkDefaultRegion)() }, /* Uncomment the next line if you know exactly what Account and Region you * want to deploy the stack to. */ // env: { account: '123456789012', region: 'us-east-1' }, /* For more information, see https://docs.aws.amazon.com/cdk/latest/guide/environments.html */ tags: (0, constants_1.createDefaultTags)(projectName, environment, constants_1.STACK_TYPES.NETWORK, costLevel) }); console.log(`Successfully created ${stackName} with cost level: ${costLevel}`); } catch (error) { console.error('Failed to create NetworkStack:', error.message); process.exit(1); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2Jpbi9uZXR3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsaURBQW1DO0FBQ25DLHdEQUFvRDtBQUNwRCwyQ0FBK0k7QUFDL0ksdURBQTBGO0FBRTFGLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzFCLE1BQU0sV0FBVyxHQUFHLElBQUEsb0JBQWMsR0FBRSxDQUFDO0FBRXJDLGtDQUFrQztBQUNsQyxNQUFNLFdBQVcsR0FBRyxJQUFBLG9CQUFjLEVBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEMsTUFBTSxTQUFTLEdBQUcsSUFBQSxrQkFBWSxFQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUEsMkJBQWUsRUFBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLHVCQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7QUFFakYsVUFBVTtBQUNWLElBQUEsdUJBQWlCLEVBQUMsU0FBUyxDQUFDLENBQUM7QUFFN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUM1QyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0FBRXhDLElBQUksQ0FBQztJQUNILGtCQUFrQjtJQUNsQixJQUFJLDRCQUFZLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRTtRQUMvQixXQUFXO1FBQ1gsU0FBUyxFQUFFLFNBQXlEO1FBQ3BFLFdBQVcsRUFBRSxXQUFXO1FBQ3hCOzt5RUFFaUU7UUFFakU7MkVBQ21FO1FBQ25FLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFBLDBCQUFvQixHQUFFLEVBQUUsTUFBTSxFQUFFLElBQUEseUJBQW1CLEdBQUUsRUFBRTtRQUV2RTswQ0FDa0M7UUFDbEMseURBQXlEO1FBRXpELDhGQUE4RjtRQUM5RixJQUFJLEVBQUUsSUFBQSw2QkFBaUIsRUFBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLHVCQUFXLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQztLQUNsRixDQUFDLENBQUM7SUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixTQUFTLHFCQUFxQixTQUFTLEVBQUUsQ0FBQyxDQUFDO0FBQ2pGLENBQUM7QUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO0lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRyxLQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IE5ldHdvcmtTdGFjayB9IGZyb20gJy4uL2xpYi9uZXR3b3JrLXN0YWNrJztcbmltcG9ydCB7IGdldFByb2plY3ROYW1lLCBnZXRFbnZpcm9ubWVudCwgZ2V0Q29zdExldmVsLCBnZXRDZGtEZWZhdWx0QWNjb3VudCwgZ2V0Q2RrRGVmYXVsdFJlZ2lvbiwgdmFsaWRhdGVDb3N0TGV2ZWwgfSBmcm9tICcuLi9saWIvY29uZmlnL2Vudic7XG5pbXBvcnQgeyBTVEFDS19UWVBFUywgY3JlYXRlU3RhY2tOYW1lLCBjcmVhdGVEZWZhdWx0VGFncyB9IGZyb20gJy4uL2xpYi9jb25maWcvY29uc3RhbnRzJztcblxuY29uc3QgYXBwID0gbmV3IGNkay5BcHAoKTtcbmNvbnN0IHByb2plY3ROYW1lID0gZ2V0UHJvamVjdE5hbWUoKTtcblxuLy8g55Kw5aKD5aSJ5pWw44G+44Gf44Gv44Kz44Oz44OG44Kt44K544OI44GL44KJ55Kw5aKD44KS5Y+W5b6X77yI44OH44OV44Kp44Or44OI44GvZGV277yJXG5jb25zdCBlbnZpcm9ubWVudCA9IGdldEVudmlyb25tZW50KGFwcCk7XG5jb25zdCBjb3N0TGV2ZWwgPSBnZXRDb3N0TGV2ZWwoYXBwKTtcbmNvbnN0IHN0YWNrTmFtZSA9IGNyZWF0ZVN0YWNrTmFtZShwcm9qZWN0TmFtZSwgZW52aXJvbm1lbnQsIFNUQUNLX1RZUEVTLk5FVFdPUkspO1xuXG4vLyDjg5Djg6rjg4fjg7zjgrfjg6fjg7NcbnZhbGlkYXRlQ29zdExldmVsKGNvc3RMZXZlbCk7XG5cbmNvbnNvbGUubG9nKGBQcm9qZWN0IE5hbWU6ICR7cHJvamVjdE5hbWV9YCk7XG5jb25zb2xlLmxvZyhgRW52aXJvbm1lbnQ6ICR7ZW52aXJvbm1lbnR9YCk7XG5jb25zb2xlLmxvZyhgQ29zdCBMZXZlbDogJHtjb3N0TGV2ZWx9YCk7XG5jb25zb2xlLmxvZyhgU3RhY2sgTmFtZTogJHtzdGFja05hbWV9YCk7XG5cbnRyeSB7XG4gIC8vIE5ldHdvcmtTdGFja+OCkuS9nOaIkFxuICBuZXcgTmV0d29ya1N0YWNrKGFwcCwgc3RhY2tOYW1lLCB7XG4gICAgcHJvamVjdE5hbWUsXG4gICAgY29zdExldmVsOiBjb3N0TGV2ZWwgYXMgJ21pbmltYWwnIHwgJ3N0YW5kYXJkJyB8ICdoaWdoLWF2YWlsYWJpbGl0eScsXG4gICAgZW52aXJvbm1lbnQ6IGVudmlyb25tZW50LFxuICAgIC8qIElmIHlvdSBkb24ndCBzcGVjaWZ5ICdlbnYnLCB0aGlzIHN0YWNrIHdpbGwgYmUgZW52aXJvbm1lbnQtYWdub3N0aWMuXG4gICAgICogQWNjb3VudC9SZWdpb24tZGVwZW5kZW50IGZlYXR1cmVzIGFuZCBjb250ZXh0IGxvb2t1cHMgd2lsbCBub3Qgd29yayxcbiAgICAgKiBidXQgYSBzaW5nbGUgc3ludGhlc2l6ZWQgdGVtcGxhdGUgY2FuIGJlIGRlcGxveWVkIGFueXdoZXJlLiAqL1xuXG4gICAgLyogVW5jb21tZW50IHRoZSBuZXh0IGxpbmUgdG8gc3BlY2lhbGl6ZSB0aGlzIHN0YWNrIGZvciB0aGUgQVdTIEFjY291bnRcbiAgICAgKiBhbmQgUmVnaW9uIHRoYXQgYXJlIGltcGxpZWQgYnkgdGhlIGN1cnJlbnQgQ0xJIGNvbmZpZ3VyYXRpb24uICovXG4gICAgZW52OiB7IGFjY291bnQ6IGdldENka0RlZmF1bHRBY2NvdW50KCksIHJlZ2lvbjogZ2V0Q2RrRGVmYXVsdFJlZ2lvbigpIH0sXG5cbiAgICAvKiBVbmNvbW1lbnQgdGhlIG5leHQgbGluZSBpZiB5b3Uga25vdyBleGFjdGx5IHdoYXQgQWNjb3VudCBhbmQgUmVnaW9uIHlvdVxuICAgICAqIHdhbnQgdG8gZGVwbG95IHRoZSBzdGFjayB0by4gKi9cbiAgICAvLyBlbnY6IHsgYWNjb3VudDogJzEyMzQ1Njc4OTAxMicsIHJlZ2lvbjogJ3VzLWVhc3QtMScgfSxcblxuICAgIC8qIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nkay9sYXRlc3QvZ3VpZGUvZW52aXJvbm1lbnRzLmh0bWwgKi9cbiAgICB0YWdzOiBjcmVhdGVEZWZhdWx0VGFncyhwcm9qZWN0TmFtZSwgZW52aXJvbm1lbnQsIFNUQUNLX1RZUEVTLk5FVFdPUkssIGNvc3RMZXZlbClcbiAgfSk7XG5cbiAgY29uc29sZS5sb2coYFN1Y2Nlc3NmdWxseSBjcmVhdGVkICR7c3RhY2tOYW1lfSB3aXRoIGNvc3QgbGV2ZWw6ICR7Y29zdExldmVsfWApO1xufSBjYXRjaCAoZXJyb3IpIHtcbiAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGNyZWF0ZSBOZXR3b3JrU3RhY2s6JywgKGVycm9yIGFzIEVycm9yKS5tZXNzYWdlKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufSAiXX0=