@linzjs/cdk-tags 1.7.2 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/build/src/__test__/tags.test.js +5 -0
- package/build/src/__test__/tags.test.js.map +1 -1
- package/build/src/backup.d.ts +17 -0
- package/build/src/backup.js +10 -0
- package/build/src/backup.js.map +1 -0
- package/build/src/index.d.ts +1 -0
- package/build/src/index.js +3 -1
- package/build/src/index.js.map +1 -1
- package/build/src/responder-teams.d.ts +1 -1
- package/build/src/tags.d.ts +4 -0
- package/build/src/tags.js +10 -0
- package/build/src/tags.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ CDK construct to apply common tags to constructs
|
|
|
7
7
|
To apply the common set of tags for a s3 bucket:
|
|
8
8
|
|
|
9
9
|
```typescript
|
|
10
|
-
import { applyTags, SecurityClassification } from '@linzjs/cdk-tags';
|
|
10
|
+
import { applyTags, SecurityClassification, BackupSchedule } from '@linzjs/cdk-tags';
|
|
11
11
|
|
|
12
12
|
const bucket = new Bucket(this, 'ImageryArchive');
|
|
13
13
|
|
|
@@ -18,6 +18,10 @@ applyTags(bucket, {
|
|
|
18
18
|
classification: SecurityClassification.Unclassified,
|
|
19
19
|
data: { isMaster: true, isPublic: true, role: 'archive' },
|
|
20
20
|
impact: 'moderate',
|
|
21
|
+
backup: {
|
|
22
|
+
retention: 365,
|
|
23
|
+
schedule: BackupSchedule.WEEKLY
|
|
24
|
+
}
|
|
21
25
|
});
|
|
22
26
|
```
|
|
23
27
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const node_test_1 = require("node:test");
|
|
4
|
+
const backup_js_1 = require("../backup.js");
|
|
4
5
|
const security_js_1 = require("../security.js");
|
|
5
6
|
const tags_js_1 = require("../tags.js");
|
|
6
7
|
(0, node_test_1.describe)('applyTags', () => {
|
|
@@ -13,6 +14,10 @@ const tags_js_1 = require("../tags.js");
|
|
|
13
14
|
classification: security_js_1.SecurityClassification.Unclassified,
|
|
14
15
|
data: { isMaster: true, isPublic: true, role: 'archive' },
|
|
15
16
|
impact: 'moderate',
|
|
17
|
+
backup: {
|
|
18
|
+
retention: 365,
|
|
19
|
+
schedule: backup_js_1.BackupSchedule.WEEKLY,
|
|
20
|
+
},
|
|
16
21
|
});
|
|
17
22
|
});
|
|
18
23
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.test.js","sourceRoot":"","sources":["../../../src/__test__/tags.test.ts"],"names":[],"mappings":";;AAAA,yCAAyC;AAIzC,gDAAwD;AACxD,wCAAuC;AAEvC,IAAA,oBAAQ,EAAC,WAAW,EAAE,GAAG,EAAE;IACzB,qDAAqD;IACrD,IAAA,cAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,IAAA,mBAAS,EAAC,EAA2B,EAAE;YACrC,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,MAAM;YACnB,KAAK,EAAE,IAAI;YACX,cAAc,EAAE,oCAAsB,CAAC,YAAY;YACnD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,MAAM,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"tags.test.js","sourceRoot":"","sources":["../../../src/__test__/tags.test.ts"],"names":[],"mappings":";;AAAA,yCAAyC;AAIzC,4CAA8C;AAC9C,gDAAwD;AACxD,wCAAuC;AAEvC,IAAA,oBAAQ,EAAC,WAAW,EAAE,GAAG,EAAE;IACzB,qDAAqD;IACrD,IAAA,cAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,IAAA,mBAAS,EAAC,EAA2B,EAAE;YACrC,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,MAAM;YACnB,KAAK,EAAE,IAAI;YACX,cAAc,EAAE,oCAAsB,CAAC,YAAY;YACnD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE;gBACN,SAAS,EAAE,GAAG;gBACd,QAAQ,EAAE,0BAAc,CAAC,MAAM;aAChC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare enum BackupSchedule {
|
|
2
|
+
HOURLY = "hourly",
|
|
3
|
+
DAILY = "daily",
|
|
4
|
+
WEEKLY = "weekly"
|
|
5
|
+
}
|
|
6
|
+
export interface Backup {
|
|
7
|
+
/**
|
|
8
|
+
* How many days should the data be kept.
|
|
9
|
+
* @defaultValue 30
|
|
10
|
+
*/
|
|
11
|
+
retention?: number;
|
|
12
|
+
/**
|
|
13
|
+
* How often should this backup run. hourly, daily, weekly
|
|
14
|
+
* @defaultValue daily
|
|
15
|
+
*/
|
|
16
|
+
schedule?: BackupSchedule;
|
|
17
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BackupSchedule = void 0;
|
|
4
|
+
var BackupSchedule;
|
|
5
|
+
(function (BackupSchedule) {
|
|
6
|
+
BackupSchedule["HOURLY"] = "hourly";
|
|
7
|
+
BackupSchedule["DAILY"] = "daily";
|
|
8
|
+
BackupSchedule["WEEKLY"] = "weekly";
|
|
9
|
+
})(BackupSchedule || (exports.BackupSchedule = BackupSchedule = {}));
|
|
10
|
+
//# sourceMappingURL=backup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/backup.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,iCAAe,CAAA;IACf,mCAAiB,CAAA;AACnB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB"}
|
package/build/src/index.d.ts
CHANGED
package/build/src/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.applyTagsData = exports.applyTags = exports.SecurityClassification = exports.CommonDataTags = exports.getGitBuildInfo = void 0;
|
|
3
|
+
exports.applyTagsData = exports.applyTags = exports.SecurityClassification = exports.CommonDataTags = exports.getGitBuildInfo = exports.BackupSchedule = void 0;
|
|
4
|
+
var backup_js_1 = require("./backup.js");
|
|
5
|
+
Object.defineProperty(exports, "BackupSchedule", { enumerable: true, get: function () { return backup_js_1.BackupSchedule; } });
|
|
4
6
|
var build_js_1 = require("./build.js");
|
|
5
7
|
Object.defineProperty(exports, "getGitBuildInfo", { enumerable: true, get: function () { return build_js_1.getGitBuildInfo; } });
|
|
6
8
|
var data_js_1 = require("./data.js");
|
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AACxB,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,6CAAuD;AAA9C,qHAAA,sBAAsB,OAAA;AAE/B,qCAAqD;AAA5C,oGAAA,SAAS,OAAA;AAAE,wGAAA,aAAa,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AAApC,2GAAA,cAAc,OAAA;AAC/B,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AACxB,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,6CAAuD;AAA9C,qHAAA,sBAAsB,OAAA;AAE/B,qCAAqD;AAA5C,oGAAA,SAAS,OAAA;AAAE,wGAAA,aAAa,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type ResponderTeam = 'LANDONLINE - Common Services' | 'LANDONLINE - Datacom' | 'LANDONLINE - Dealings' | 'LANDONLINE - Enablement' | 'LANDONLINE - L2 Technical Support' | 'LANDONLINE - Legacy Landonline' | 'LANDONLINE - Search' | 'LANDONLINE - Survey External' | 'LANDONLINE - Titles Internal' | '
|
|
1
|
+
export type ResponderTeam = 'LANDONLINE - Common Services' | 'LANDONLINE - Datacom' | 'LANDONLINE - Dealings' | 'LANDONLINE - Enablement' | 'LANDONLINE - L2 Technical Support' | 'LANDONLINE - Legacy Landonline' | 'LANDONLINE - Search' | 'LANDONLINE - Survey External' | 'LANDONLINE - Titles Internal' | 'LI - Basemaps' | 'LI - Geospatial Data Engineering' | 'LINZ - Enterprise Platforms' | 'LINZ - Security';
|
package/build/src/tags.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IConstruct } from 'constructs';
|
|
2
|
+
import { Backup } from './backup.js';
|
|
2
3
|
import { TagsData } from './data.js';
|
|
3
4
|
import { ResponderTeam } from './responder-teams.js';
|
|
4
5
|
import { SecurityClassification } from './security.js';
|
|
@@ -58,6 +59,9 @@ export interface TagsBase {
|
|
|
58
59
|
skipGitInfo?: boolean;
|
|
59
60
|
/** Data classification tags */
|
|
60
61
|
data?: TagsData;
|
|
62
|
+
/** Backup requirements */
|
|
63
|
+
backup?: Backup;
|
|
61
64
|
}
|
|
62
65
|
export declare function applyTags(construct: IConstruct, ctx: TagsBase): void;
|
|
63
66
|
export declare function applyTagsData(construct: IConstruct, tags: TagsData): void;
|
|
67
|
+
export declare function applyTagsBackup(construct: IConstruct, tags: Backup): void;
|
package/build/src/tags.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.applyTags = applyTags;
|
|
4
4
|
exports.applyTagsData = applyTagsData;
|
|
5
|
+
exports.applyTagsBackup = applyTagsBackup;
|
|
5
6
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
6
7
|
const build_js_1 = require("./build.js");
|
|
7
8
|
const security_js_1 = require("./security.js");
|
|
@@ -42,10 +43,19 @@ function applyTags(construct, ctx) {
|
|
|
42
43
|
tag(construct, 'linz.security.classification', ctx.classification);
|
|
43
44
|
if (ctx.data)
|
|
44
45
|
applyTagsData(construct, ctx.data);
|
|
46
|
+
// Backup
|
|
47
|
+
if (ctx.backup)
|
|
48
|
+
applyTagsBackup(construct, ctx.backup);
|
|
45
49
|
}
|
|
46
50
|
function applyTagsData(construct, tags) {
|
|
47
51
|
tag(construct, 'linz.data.role', tags.role);
|
|
48
52
|
tag(construct, 'linz.data.is-master', String(tags.isMaster ?? false));
|
|
49
53
|
tag(construct, 'linz.data.is-public', String(tags.isPublic ?? false));
|
|
50
54
|
}
|
|
55
|
+
// Backup tags
|
|
56
|
+
function applyTagsBackup(construct, tags) {
|
|
57
|
+
tag(construct, 'linz.backup.enabled', String(true));
|
|
58
|
+
tag(construct, 'linz.backup.retention', String(tags.retention ?? '30'));
|
|
59
|
+
tag(construct, 'linz.backup.schedule', String(tags.schedule ?? 'daily'));
|
|
60
|
+
}
|
|
51
61
|
//# sourceMappingURL=tags.js.map
|
package/build/src/tags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/tags.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/tags.ts"],"names":[],"mappings":";;AAqFA,8BAkCC;AAED,sCAIC;AAGD,0CAIC;AApID,6CAAmC;AAInC,yCAA6C;AAG7C,+CAAuD;AAsEvD,6EAA6E;AAC7E,SAAS,GAAG,CAAC,SAAqB,EAAE,GAAW,EAAE,KAAgC;IAC/E,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO;IAC1B,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO;IAEzB,kBAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,SAAS,CAAC,SAAqB,EAAE,GAAa;IAC5D,iCAAiC;IACjC,IAAI,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,GAAG,CAAC,cAAc,KAAK,oCAAsB,CAAC,YAAY,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,0BAAe,GAAE,CAAC;IAElE,oBAAoB;IACpB,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,SAAS;QAAE,GAAG,CAAC,SAAS,EAAE,kBAAkB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACrE,GAAG,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAEpD,iBAAiB;IACjB,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,GAAG,CAAC,SAAS,EAAE,qBAAqB,EAAE,GAAG,CAAC,aAAa,IAAI,QAAQ,CAAC,CAAC;IACrE,GAAG,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE9C,WAAW;IACX,IAAI,SAAS;QAAE,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/D,GAAG,CAAC,SAAS,EAAE,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAE1F,mCAAmC;IACnC,IAAI,SAAS;QAAE,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAElE,WAAW;IACX,GAAG,CAAC,SAAS,EAAE,8BAA8B,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACnE,IAAI,GAAG,CAAC,IAAI;QAAE,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAEjD,SAAS;IACT,IAAI,GAAG,CAAC,MAAM;QAAE,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,aAAa,CAAC,SAAqB,EAAE,IAAc;IACjE,GAAG,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,GAAG,CAAC,SAAS,EAAE,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;IACtE,GAAG,CAAC,SAAS,EAAE,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,cAAc;AACd,SAAgB,eAAe,CAAC,SAAqB,EAAE,IAAY;IACjE,GAAG,CAAC,SAAS,EAAE,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,GAAG,CAAC,SAAS,EAAE,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC;IACxE,GAAG,CAAC,SAAS,EAAE,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC;AAC3E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@linzjs/cdk-tags",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"main": "build/src/index.js",
|
|
5
5
|
"types": "build/src/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -32,6 +32,6 @@
|
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@linzjs/style": "^5.4.0",
|
|
35
|
-
"@types/node": "^
|
|
35
|
+
"@types/node": "^24.0.10"
|
|
36
36
|
}
|
|
37
37
|
}
|