@scloud/cdk-patterns
Version:
Serverless CDK patterns for common infrastructure needs
61 lines • 4.3 kB
JavaScript
;
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=