@rio-cloud/cdk-v2-constructs 7.11.0 → 7.12.0-alpha.1
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/.jsii +111 -107
- package/docs/API.md +79 -66
- package/docs/changelog.md +9 -0
- package/lib/datadogv2/datadog-lambda-instrumentation.d.ts +8 -0
- package/lib/datadogv2/datadog-lambda-instrumentation.js +12 -1
- package/lib/kafka/kafka-event-spec.d.ts +9 -23
- package/lib/kafka/kafka-event-spec.js +14 -73
- package/package.json +6 -2
- package/version.json +1 -1
|
@@ -3,104 +3,45 @@ var _a, _b;
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.KafkaEventSpecSource = exports.KafkaEventSpec = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
const fs = require("fs");
|
|
7
|
-
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
8
|
-
const kms = require("aws-cdk-lib/aws-kms");
|
|
9
|
-
const cr = require("aws-cdk-lib/custom-resources");
|
|
10
6
|
const constructs_1 = require("constructs");
|
|
11
|
-
const yaml = require("js-yaml");
|
|
12
7
|
/**
|
|
13
|
-
*
|
|
8
|
+
* @deprecated Events are no longer provided through this construct. Specify the event in the catalog-info.yaml. See the Backstage documentation for more information.
|
|
14
9
|
*/
|
|
15
10
|
class KafkaEventSpec extends constructs_1.Construct {
|
|
16
|
-
constructor(scope, id,
|
|
11
|
+
constructor(scope, id, _props) {
|
|
17
12
|
super(scope, id);
|
|
18
|
-
const snsTopicArn = 'arn:aws:sns:eu-west-1:186993757734:event-specification-upload';
|
|
19
|
-
const action = {
|
|
20
|
-
service: 'SNS',
|
|
21
|
-
action: 'publish',
|
|
22
|
-
parameters: {
|
|
23
|
-
TopicArn: snsTopicArn,
|
|
24
|
-
Message: props.source.toSnsMessage(),
|
|
25
|
-
MessageAttributes: {
|
|
26
|
-
accountId: {
|
|
27
|
-
DataType: 'String',
|
|
28
|
-
StringValue: aws_cdk_lib_1.Stack.of(this).account,
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
physicalResourceId: cr.PhysicalResourceId.of(`arn:aws:s3:::event-specification-store-186993757734/${props.source.eventName}.yaml`),
|
|
33
|
-
};
|
|
34
|
-
const eventSpecCustomResource = new cr.AwsCustomResource(this, 'KafkaEventSpec', {
|
|
35
|
-
onCreate: action,
|
|
36
|
-
onUpdate: action,
|
|
37
|
-
policy: cr.AwsCustomResourcePolicy.fromSdkCalls({ resources: [snsTopicArn] }),
|
|
38
|
-
});
|
|
39
|
-
const kmsKey = kms.Key.fromKeyArn(this, 'eventSpecSnsTopicKey', 'arn:aws:kms:eu-west-1:186993757734:key/1f72dd59-f32d-4d52-9b2b-447df88b3fa3');
|
|
40
|
-
kmsKey.grantEncryptDecrypt(eventSpecCustomResource);
|
|
41
13
|
}
|
|
42
14
|
}
|
|
43
15
|
exports.KafkaEventSpec = KafkaEventSpec;
|
|
44
16
|
_a = JSII_RTTI_SYMBOL_1;
|
|
45
17
|
KafkaEventSpec[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.KafkaEventSpec", version: "0.0.0" };
|
|
46
18
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* @see https://bitbucket.collaboration-man.com/projects/RSEVTBU/repos/topic-creation-example for
|
|
50
|
-
* further information about the yaml spec.
|
|
19
|
+
* @deprecated Events are no longer provided through this construct. Specify the event in the catalog-info.yaml. See the Backstage documentation for more information.
|
|
51
20
|
*/
|
|
52
21
|
class KafkaEventSpecSource {
|
|
53
22
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* @param filename - The filename of the event specification file. Must either be an absolute path or a path relative to CDK's working directory.
|
|
57
|
-
* @returns a KafkaEventSpecSource
|
|
23
|
+
* Legacy method retained for compatibility; always returns a dummy event spec.
|
|
58
24
|
*/
|
|
59
|
-
static fromYamlFile(
|
|
60
|
-
return
|
|
25
|
+
static fromYamlFile(_filename) {
|
|
26
|
+
return new KafkaEventSpecSource();
|
|
61
27
|
}
|
|
62
28
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
* @param spec - EventSpec as yaml formatted string
|
|
66
|
-
* @returns a KafkaEventSpecSource
|
|
29
|
+
* Legacy method retained for compatibility; always returns a dummy event spec.
|
|
67
30
|
*/
|
|
68
|
-
static fromYamlString(
|
|
69
|
-
|
|
70
|
-
return new KafkaEventSpecSource(parsedSpec);
|
|
31
|
+
static fromYamlString(_spec) {
|
|
32
|
+
return new KafkaEventSpecSource();
|
|
71
33
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
if (!this.isKafkaEventSpecification(parsedYamlSpec)) {
|
|
75
|
-
throw Error('Expecting event spec to be describe an object with the property [info.x-event].');
|
|
76
|
-
}
|
|
77
|
-
return parsedYamlSpec;
|
|
78
|
-
}
|
|
79
|
-
static isKafkaEventSpecification(parsedYamlSpec) {
|
|
80
|
-
return typeof parsedYamlSpec === 'object' && parsedYamlSpec?.info?.['x-event'];
|
|
81
|
-
}
|
|
82
|
-
static determineEventNameFromSpecification(spec) {
|
|
83
|
-
const eventNames = Object.keys(spec.info['x-event']);
|
|
84
|
-
if (eventNames.length === 0) {
|
|
85
|
-
throw Error('Expecting at least one event at [info.x-event].');
|
|
86
|
-
}
|
|
87
|
-
return this.removeYamlFileEnding(eventNames[0]);
|
|
88
|
-
}
|
|
89
|
-
static removeYamlFileEnding(filename) {
|
|
90
|
-
return filename.replace(/\.ya?ml$/, '');
|
|
91
|
-
}
|
|
92
|
-
constructor(spec) {
|
|
93
|
-
this.spec = spec;
|
|
94
|
-
this.eventName = KafkaEventSpecSource.determineEventNameFromSpecification(spec);
|
|
34
|
+
constructor() {
|
|
35
|
+
this.eventName = '';
|
|
95
36
|
}
|
|
96
37
|
/**
|
|
97
|
-
*
|
|
38
|
+
* Legacy method retained for compatibility; always returns an empty string.
|
|
98
39
|
*/
|
|
99
40
|
toSnsMessage() {
|
|
100
|
-
return
|
|
41
|
+
return '';
|
|
101
42
|
}
|
|
102
43
|
}
|
|
103
44
|
exports.KafkaEventSpecSource = KafkaEventSpecSource;
|
|
104
45
|
_b = JSII_RTTI_SYMBOL_1;
|
|
105
46
|
KafkaEventSpecSource[_b] = { fqn: "@rio-cloud/cdk-v2-constructs.KafkaEventSpecSource", version: "0.0.0" };
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2EtZXZlbnQtc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rYWZrYS9rYWZrYS1ldmVudC1zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkNBQXVDO0FBTXZDOztHQUVHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFDM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxNQUEyQjtRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25CLENBQUM7O0FBSEgsd0NBSUM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7SUFDL0I7O09BRUc7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQWlCO1FBQ25DLE9BQU8sSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBYTtRQUNqQyxPQUFPLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBSUQ7UUFGUyxjQUFTLEdBQUcsRUFBRSxDQUFDO0lBRUQsQ0FBQztJQUV4Qjs7T0FFRztJQUNILFlBQVk7UUFDVixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7O0FBeEJILG9EQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEthZmthRXZlbnRTcGVjUHJvcHMge1xuICByZWFkb25seSBzb3VyY2U6IEthZmthRXZlbnRTcGVjU291cmNlO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIEV2ZW50cyBhcmUgbm8gbG9uZ2VyIHByb3ZpZGVkIHRocm91Z2ggdGhpcyBjb25zdHJ1Y3QuIFNwZWNpZnkgdGhlIGV2ZW50IGluIHRoZSBjYXRhbG9nLWluZm8ueWFtbC4gU2VlIHRoZSBCYWNrc3RhZ2UgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEthZmthRXZlbnRTcGVjIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgX3Byb3BzOiBLYWZrYUV2ZW50U3BlY1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIEV2ZW50cyBhcmUgbm8gbG9uZ2VyIHByb3ZpZGVkIHRocm91Z2ggdGhpcyBjb25zdHJ1Y3QuIFNwZWNpZnkgdGhlIGV2ZW50IGluIHRoZSBjYXRhbG9nLWluZm8ueWFtbC4gU2VlIHRoZSBCYWNrc3RhZ2UgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEthZmthRXZlbnRTcGVjU291cmNlIHtcbiAgLyoqXG4gICAqIExlZ2FjeSBtZXRob2QgcmV0YWluZWQgZm9yIGNvbXBhdGliaWxpdHk7IGFsd2F5cyByZXR1cm5zIGEgZHVtbXkgZXZlbnQgc3BlYy5cbiAgICovXG4gIHN0YXRpYyBmcm9tWWFtbEZpbGUoX2ZpbGVuYW1lOiBzdHJpbmcpOiBLYWZrYUV2ZW50U3BlY1NvdXJjZSB7XG4gICAgcmV0dXJuIG5ldyBLYWZrYUV2ZW50U3BlY1NvdXJjZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIExlZ2FjeSBtZXRob2QgcmV0YWluZWQgZm9yIGNvbXBhdGliaWxpdHk7IGFsd2F5cyByZXR1cm5zIGEgZHVtbXkgZXZlbnQgc3BlYy5cbiAgICovXG4gIHN0YXRpYyBmcm9tWWFtbFN0cmluZyhfc3BlYzogc3RyaW5nKTogS2Fma2FFdmVudFNwZWNTb3VyY2Uge1xuICAgIHJldHVybiBuZXcgS2Fma2FFdmVudFNwZWNTb3VyY2UoKTtcbiAgfVxuXG4gIHJlYWRvbmx5IGV2ZW50TmFtZSA9ICcnO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBMZWdhY3kgbWV0aG9kIHJldGFpbmVkIGZvciBjb21wYXRpYmlsaXR5OyBhbHdheXMgcmV0dXJucyBhbiBlbXB0eSBzdHJpbmcuXG4gICAqL1xuICB0b1Nuc01lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
],
|
|
16
16
|
"main": "lib/index.js",
|
|
17
17
|
"license": "Apache-2.0",
|
|
18
|
-
"version": "7.
|
|
18
|
+
"version": "7.12.0-alpha.1",
|
|
19
19
|
"types": "lib/index.d.ts",
|
|
20
20
|
"stability": "stable",
|
|
21
21
|
"exports": {
|
|
@@ -97,6 +97,7 @@
|
|
|
97
97
|
"tmp": "^0.2.3",
|
|
98
98
|
"ts-jest": "^29.2.5",
|
|
99
99
|
"ts-node": "^10.9.2",
|
|
100
|
+
"datadog-cdk-constructs-v2": "1.21.0",
|
|
100
101
|
"typescript": "~5.6.3"
|
|
101
102
|
},
|
|
102
103
|
"peerDependencies": {
|
|
@@ -118,7 +119,10 @@
|
|
|
118
119
|
},
|
|
119
120
|
"optionalDependencies": {
|
|
120
121
|
"@pepperize/cdk-autoscaling-gitlab-runner": "^0.2.624",
|
|
121
|
-
"
|
|
122
|
+
"@pepperize/cdk-private-bucket": "^0.0.351",
|
|
123
|
+
"@pepperize/cdk-security-group": "^0.0.439",
|
|
124
|
+
"@pepperize/cdk-vpc": "^0.0.558",
|
|
125
|
+
"datadog-cdk-constructs-v2": "^1.21.0"
|
|
122
126
|
},
|
|
123
127
|
"bundleDependencies": [
|
|
124
128
|
"@aws-lambda-powertools/parameters",
|
package/version.json
CHANGED