1 | ;
|
2 | var _a;
|
3 | Object.defineProperty(exports, "__esModule", { value: true });
|
4 | exports.Cache = exports.LocalCacheMode = void 0;
|
5 | const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
|
6 | const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
7 | const core_1 = require("@aws-cdk/core");
|
8 | /**
|
9 | * Local cache modes to enable for the CodeBuild Project
|
10 | */
|
11 | var LocalCacheMode;
|
12 | (function (LocalCacheMode) {
|
13 | /**
|
14 | * Caches Git metadata for primary and secondary sources
|
15 | */
|
16 | LocalCacheMode["SOURCE"] = "LOCAL_SOURCE_CACHE";
|
17 | /**
|
18 | * Caches existing Docker layers
|
19 | */
|
20 | LocalCacheMode["DOCKER_LAYER"] = "LOCAL_DOCKER_LAYER_CACHE";
|
21 | /**
|
22 | * Caches directories you specify in the buildspec file
|
23 | */
|
24 | LocalCacheMode["CUSTOM"] = "LOCAL_CUSTOM_CACHE";
|
25 | })(LocalCacheMode = exports.LocalCacheMode || (exports.LocalCacheMode = {}));
|
26 | /**
|
27 | * Cache options for CodeBuild Project.
|
28 | * A cache can store reusable pieces of your build environment and use them across multiple builds.
|
29 | * @see https://docs.aws.amazon.com/codebuild/latest/userguide/build-caching.html
|
30 | */
|
31 | class Cache {
|
32 | static none() {
|
33 | return {
|
34 | _toCloudFormation() {
|
35 | return { type: 'NO_CACHE' };
|
36 | },
|
37 | _bind() {
|
38 | },
|
39 | };
|
40 | }
|
41 | /**
|
42 | * Create a local caching strategy.
|
43 | * @param modes the mode(s) to enable for local caching
|
44 | */
|
45 | static local(...modes) {
|
46 | try {
|
47 | jsiiDeprecationWarnings._aws_cdk_aws_codebuild_LocalCacheMode(modes);
|
48 | }
|
49 | catch (error) {
|
50 | if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
51 | Error.captureStackTrace(error, this.local);
|
52 | }
|
53 | throw error;
|
54 | }
|
55 | return {
|
56 | _toCloudFormation: () => ({
|
57 | type: 'LOCAL',
|
58 | modes,
|
59 | }),
|
60 | _bind: () => { return; },
|
61 | };
|
62 | }
|
63 | /**
|
64 | * Create an S3 caching strategy.
|
65 | * @param bucket the S3 bucket to use for caching
|
66 | * @param options additional options to pass to the S3 caching
|
67 | */
|
68 | static bucket(bucket, options) {
|
69 | try {
|
70 | jsiiDeprecationWarnings._aws_cdk_aws_codebuild_BucketCacheOptions(options);
|
71 | }
|
72 | catch (error) {
|
73 | if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
74 | Error.captureStackTrace(error, this.bucket);
|
75 | }
|
76 | throw error;
|
77 | }
|
78 | return {
|
79 | _toCloudFormation: () => ({
|
80 | type: 'S3',
|
81 | location: core_1.Fn.join('/', [bucket.bucketName, options && options.prefix || core_1.Aws.NO_VALUE]),
|
82 | }),
|
83 | _bind: (project) => {
|
84 | bucket.grantReadWrite(project);
|
85 | },
|
86 | };
|
87 | }
|
88 | }
|
89 | exports.Cache = Cache;
|
90 | _a = JSII_RTTI_SYMBOL_1;
|
91 | Cache[_a] = { fqn: "@aws-cdk/aws-codebuild.Cache", version: "1.197.0" };
|
92 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSx3Q0FBd0M7QUFXeEM7O0dBRUc7QUFDSCxJQUFZLGNBZVg7QUFmRCxXQUFZLGNBQWM7SUFDeEI7O09BRUc7SUFDSCwrQ0FBNkIsQ0FBQTtJQUU3Qjs7T0FFRztJQUNILDJEQUF5QyxDQUFBO0lBRXpDOztPQUVHO0lBQ0gsK0NBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQWZXLGNBQWMsR0FBZCxzQkFBYyxLQUFkLHNCQUFjLFFBZXpCO0FBRUQ7Ozs7R0FJRztBQUNILE1BQXNCLEtBQUs7SUFDbEIsTUFBTSxDQUFDLElBQUk7UUFDaEIsT0FBTztZQUNMLGlCQUFpQjtnQkFDZixPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQzlCLENBQUM7WUFDRCxLQUFLO1lBQ0wsQ0FBQztTQUNGLENBQUM7S0FDSDtJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUF1Qjs7Ozs7Ozs7OztRQUM1QyxPQUFPO1lBQ0wsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDeEIsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsS0FBSzthQUNOLENBQUM7WUFDRixLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7U0FDekIsQ0FBQztLQUNIO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBZSxFQUFFLE9BQTRCOzs7Ozs7Ozs7O1FBQ2hFLE9BQU87WUFDTCxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUN4QixJQUFJLEVBQUUsSUFBSTtnQkFDVixRQUFRLEVBQUUsU0FBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLFVBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN2RixDQUFDO1lBQ0YsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ2pCLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakMsQ0FBQztTQUNGLENBQUM7S0FDSDs7QUF4Q0gsc0JBbURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gJ0Bhd3MtY2RrL2F3cy1zMyc7XG5pbXBvcnQgeyBBd3MsIEZuIH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgeyBDZm5Qcm9qZWN0IH0gZnJvbSAnLi9jb2RlYnVpbGQuZ2VuZXJhdGVkJztcbmltcG9ydCB7IElQcm9qZWN0IH0gZnJvbSAnLi9wcm9qZWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRDYWNoZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHByZWZpeCB0byB1c2UgdG8gc3RvcmUgdGhlIGNhY2hlIGluIHRoZSBidWNrZXRcbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBMb2NhbCBjYWNoZSBtb2RlcyB0byBlbmFibGUgZm9yIHRoZSBDb2RlQnVpbGQgUHJvamVjdFxuICovXG5leHBvcnQgZW51bSBMb2NhbENhY2hlTW9kZSB7XG4gIC8qKlxuICAgKiBDYWNoZXMgR2l0IG1ldGFkYXRhIGZvciBwcmltYXJ5IGFuZCBzZWNvbmRhcnkgc291cmNlc1xuICAgKi9cbiAgU09VUkNFID0gJ0xPQ0FMX1NPVVJDRV9DQUNIRScsXG5cbiAgLyoqXG4gICAqIENhY2hlcyBleGlzdGluZyBEb2NrZXIgbGF5ZXJzXG4gICAqL1xuICBET0NLRVJfTEFZRVIgPSAnTE9DQUxfRE9DS0VSX0xBWUVSX0NBQ0hFJyxcblxuICAvKipcbiAgICogQ2FjaGVzIGRpcmVjdG9yaWVzIHlvdSBzcGVjaWZ5IGluIHRoZSBidWlsZHNwZWMgZmlsZVxuICAgKi9cbiAgQ1VTVE9NID0gJ0xPQ0FMX0NVU1RPTV9DQUNIRScsXG59XG5cbi8qKlxuICogQ2FjaGUgb3B0aW9ucyBmb3IgQ29kZUJ1aWxkIFByb2plY3QuXG4gKiBBIGNhY2hlIGNhbiBzdG9yZSByZXVzYWJsZSBwaWVjZXMgb2YgeW91ciBidWlsZCBlbnZpcm9ubWVudCBhbmQgdXNlIHRoZW0gYWNyb3NzIG11bHRpcGxlIGJ1aWxkcy5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZGVidWlsZC9sYXRlc3QvdXNlcmd1aWRlL2J1aWxkLWNhY2hpbmcuaHRtbFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2FjaGUge1xuICBwdWJsaWMgc3RhdGljIG5vbmUoKTogQ2FjaGUge1xuICAgIHJldHVybiB7XG4gICAgICBfdG9DbG91ZEZvcm1hdGlvbigpOiBDZm5Qcm9qZWN0LlByb2plY3RDYWNoZVByb3BlcnR5IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogJ05PX0NBQ0hFJyB9O1xuICAgICAgfSxcbiAgICAgIF9iaW5kKCk6IHZvaWQge1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGxvY2FsIGNhY2hpbmcgc3RyYXRlZ3kuXG4gICAqIEBwYXJhbSBtb2RlcyB0aGUgbW9kZShzKSB0byBlbmFibGUgZm9yIGxvY2FsIGNhY2hpbmdcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbG9jYWwoLi4ubW9kZXM6IExvY2FsQ2FjaGVNb2RlW10pOiBDYWNoZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF90b0Nsb3VkRm9ybWF0aW9uOiAoKSA9PiAoe1xuICAgICAgICB0eXBlOiAnTE9DQUwnLFxuICAgICAgICBtb2RlcyxcbiAgICAgIH0pLFxuICAgICAgX2JpbmQ6ICgpID0+IHsgcmV0dXJuOyB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIFMzIGNhY2hpbmcgc3RyYXRlZ3kuXG4gICAqIEBwYXJhbSBidWNrZXQgdGhlIFMzIGJ1Y2tldCB0byB1c2UgZm9yIGNhY2hpbmdcbiAgICogQHBhcmFtIG9wdGlvbnMgYWRkaXRpb25hbCBvcHRpb25zIHRvIHBhc3MgdG8gdGhlIFMzIGNhY2hpbmdcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYnVja2V0KGJ1Y2tldDogSUJ1Y2tldCwgb3B0aW9ucz86IEJ1Y2tldENhY2hlT3B0aW9ucyk6IENhY2hlIHtcbiAgICByZXR1cm4ge1xuICAgICAgX3RvQ2xvdWRGb3JtYXRpb246ICgpID0+ICh7XG4gICAgICAgIHR5cGU6ICdTMycsXG4gICAgICAgIGxvY2F0aW9uOiBGbi5qb2luKCcvJywgW2J1Y2tldC5idWNrZXROYW1lLCBvcHRpb25zICYmIG9wdGlvbnMucHJlZml4IHx8IEF3cy5OT19WQUxVRV0pLFxuICAgICAgfSksXG4gICAgICBfYmluZDogKHByb2plY3QpID0+IHtcbiAgICAgICAgYnVja2V0LmdyYW50UmVhZFdyaXRlKHByb2plY3QpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IF90b0Nsb3VkRm9ybWF0aW9uKCk6IENmblByb2plY3QuUHJvamVjdENhY2hlUHJvcGVydHkgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IF9iaW5kKHByb2plY3Q6IElQcm9qZWN0KTogdm9pZDtcbn1cbiJdfQ== |
\ | No newline at end of file |