UNPKG

@scloud/cdk-patterns

Version:

Serverless CDK patterns for common infrastructure needs

61 lines 4.3 kB
"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 () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.EcrRepository = void 0; const cdk = __importStar(require("aws-cdk-lib")); const aws_ecr_1 = require("aws-cdk-lib/aws-ecr"); const GithubActions_1 = require("./GithubActions"); /** * An ECR repository. * * This construct automatically adds itself to the list of resources Github Actions needs to access. * * The removal policy is set to DESTROY by default. * This won't actually delete any container images if the stack is deleted, * but it will clean up the repository if it's empty. * * You can customise the construct via the oprional props parameter. */ class EcrRepository extends aws_ecr_1.Repository { constructor(scope, id, props) { super(scope, `${id}Repository`, { removalPolicy: cdk.RemovalPolicy.DESTROY, ...props, }); (0, GithubActions_1.githubActions)(scope).addGhaRepository(id, this); } } exports.EcrRepository = EcrRepository; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWNyUmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9FY3JSZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUFtQztBQUVuQyxpREFBa0U7QUFDbEUsbURBQWdEO0FBRWhEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFhLGFBQWMsU0FBUSxvQkFBVTtJQUMzQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdDO1FBQ3hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRTtZQUM5QixhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPO1lBQ3hDLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztRQUNILElBQUEsNkJBQWEsRUFBQyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBUkQsc0NBUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBSZXBvc2l0b3J5LCBSZXBvc2l0b3J5UHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNyJztcbmltcG9ydCB7IGdpdGh1YkFjdGlvbnMgfSBmcm9tICcuL0dpdGh1YkFjdGlvbnMnO1xuXG4vKipcbiAqIEFuIEVDUiByZXBvc2l0b3J5LlxuICpcbiAqIFRoaXMgY29uc3RydWN0IGF1dG9tYXRpY2FsbHkgYWRkcyBpdHNlbGYgdG8gdGhlIGxpc3Qgb2YgcmVzb3VyY2VzIEdpdGh1YiBBY3Rpb25zIG5lZWRzIHRvIGFjY2Vzcy5cbiAqXG4gKiBUaGUgcmVtb3ZhbCBwb2xpY3kgaXMgc2V0IHRvIERFU1RST1kgYnkgZGVmYXVsdC5cbiAqIFRoaXMgd29uJ3QgYWN0dWFsbHkgZGVsZXRlIGFueSBjb250YWluZXIgaW1hZ2VzIGlmIHRoZSBzdGFjayBpcyBkZWxldGVkLFxuICogYnV0IGl0IHdpbGwgY2xlYW4gdXAgdGhlIHJlcG9zaXRvcnkgaWYgaXQncyBlbXB0eS5cbiAqXG4gKiBZb3UgY2FuIGN1c3RvbWlzZSB0aGUgY29uc3RydWN0IHZpYSB0aGUgb3ByaW9uYWwgcHJvcHMgcGFyYW1ldGVyLlxuICovXG5leHBvcnQgY2xhc3MgRWNyUmVwb3NpdG9yeSBleHRlbmRzIFJlcG9zaXRvcnkge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFBhcnRpYWw8UmVwb3NpdG9yeVByb3BzPikge1xuICAgIHN1cGVyKHNjb3BlLCBgJHtpZH1SZXBvc2l0b3J5YCwge1xuICAgICAgcmVtb3ZhbFBvbGljeTogY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICAgIGdpdGh1YkFjdGlvbnMoc2NvcGUpLmFkZEdoYVJlcG9zaXRvcnkoaWQsIHRoaXMpO1xuICB9XG59XG4iXX0=