@rio-cloud/cdk-v2-constructs 6.20.0 → 6.21.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 +83 -3
- package/docs/API.md +154 -0
- package/docs/changelog.md +11 -0
- package/esbuild.mjs +4 -0
- package/lib/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test-custom-resource/handler.cjs +192802 -0
- package/lib/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test-custom-resource/handler.d.ts +4 -0
- package/lib/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test-custom-resource/handler.js +101 -0
- package/lib/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test.d.ts +29 -0
- package/lib/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test.js +81 -0
- package/lib/contributions/team-transport-two/datadog-synthetics/index.d.ts +1 -0
- package/lib/contributions/team-transport-two/datadog-synthetics/index.js +18 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/package.json +1 -1
- package/version.json +1 -1
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handler = handler;
|
|
4
|
+
const secrets_1 = require("@aws-lambda-powertools/parameters/secrets");
|
|
5
|
+
const datadog_api_client_1 = require("@datadog/datadog-api-client");
|
|
6
|
+
async function handler(event, _context) {
|
|
7
|
+
const { apiKey, appKey, site: datadogSite } = await getDatadogSecret();
|
|
8
|
+
const configuration = datadog_api_client_1.client.createConfiguration({
|
|
9
|
+
authMethods: {
|
|
10
|
+
apiKeyAuth: apiKey,
|
|
11
|
+
appKeyAuth: appKey,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
configuration.setServerVariables({ site: datadogSite });
|
|
15
|
+
const apiInstance = new datadog_api_client_1.v1.SyntheticsApi(configuration);
|
|
16
|
+
try {
|
|
17
|
+
switch (event.RequestType) {
|
|
18
|
+
case 'Create':
|
|
19
|
+
return await createSyntheticsTest(apiInstance, event);
|
|
20
|
+
case 'Update':
|
|
21
|
+
return await updateSyntheticsTest(apiInstance, event);
|
|
22
|
+
case 'Delete':
|
|
23
|
+
return await deleteSyntheticsTest(apiInstance, event);
|
|
24
|
+
default:
|
|
25
|
+
// noinspection ExceptionCaughtLocallyJS
|
|
26
|
+
throw new Error(`Unsupported request type ${event}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.error(error);
|
|
31
|
+
throw new Error(`Failed to process request: ${error}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const getDatadogSecret = async () => {
|
|
35
|
+
const datadogSecretArn = process.env.DATADOG_SECRET_ARN;
|
|
36
|
+
if (!datadogSecretArn) {
|
|
37
|
+
throw new Error('Datadog secret ARN must be set in the DATADOG_SECRET_ARN environment');
|
|
38
|
+
}
|
|
39
|
+
const secretString = await (0, secrets_1.getSecret)(datadogSecretArn);
|
|
40
|
+
const secret = JSON.parse(secretString);
|
|
41
|
+
return {
|
|
42
|
+
apiKey: secret.ApiKey,
|
|
43
|
+
appKey: secret.ApplicationKey,
|
|
44
|
+
site: secret.Site,
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
async function createSyntheticsTest(apiInstance, event) {
|
|
48
|
+
const testConfig = JSON.parse(event.ResourceProperties.TestConfig);
|
|
49
|
+
let response;
|
|
50
|
+
switch (testConfig.type) {
|
|
51
|
+
case 'api':
|
|
52
|
+
response = await apiInstance.createSyntheticsAPITest({ body: testConfig });
|
|
53
|
+
break;
|
|
54
|
+
case 'browser':
|
|
55
|
+
response = await apiInstance.createSyntheticsBrowserTest({ body: testConfig });
|
|
56
|
+
break;
|
|
57
|
+
case 'mobile':
|
|
58
|
+
response = await apiInstance.createSyntheticsMobileTest({ body: testConfig });
|
|
59
|
+
break;
|
|
60
|
+
default:
|
|
61
|
+
throw new Error(`Unsupported test type ${testConfig.type}`);
|
|
62
|
+
}
|
|
63
|
+
return { PhysicalResourceId: response.publicId };
|
|
64
|
+
}
|
|
65
|
+
async function updateSyntheticsTest(apiInstance, event) {
|
|
66
|
+
const testId = event.PhysicalResourceId;
|
|
67
|
+
const testConfig = JSON.parse(event.ResourceProperties.TestConfig);
|
|
68
|
+
switch (testConfig.type) {
|
|
69
|
+
case 'api':
|
|
70
|
+
await apiInstance.updateAPITest({
|
|
71
|
+
publicId: testId,
|
|
72
|
+
body: testConfig,
|
|
73
|
+
});
|
|
74
|
+
break;
|
|
75
|
+
case 'browser':
|
|
76
|
+
await apiInstance.updateBrowserTest({
|
|
77
|
+
publicId: testId,
|
|
78
|
+
body: testConfig,
|
|
79
|
+
});
|
|
80
|
+
break;
|
|
81
|
+
case 'mobile':
|
|
82
|
+
await apiInstance.updateMobileTest({
|
|
83
|
+
publicId: testId,
|
|
84
|
+
body: testConfig,
|
|
85
|
+
});
|
|
86
|
+
break;
|
|
87
|
+
default:
|
|
88
|
+
throw new Error(`Unsupported test type ${testConfig.type}`);
|
|
89
|
+
}
|
|
90
|
+
return { PhysicalResourceId: testId };
|
|
91
|
+
}
|
|
92
|
+
async function deleteSyntheticsTest(apiInstance, event) {
|
|
93
|
+
const testId = event.PhysicalResourceId;
|
|
94
|
+
await apiInstance.deleteTests({
|
|
95
|
+
body: {
|
|
96
|
+
publicIds: [testId],
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
return { PhysicalResourceId: testId };
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb250cmlidXRpb25zL3RlYW0tdHJhbnNwb3J0LXR3by9kYXRhZG9nLXN5bnRoZXRpY3MvZGF0YWRvZy1zeW50aGV0aWNzLXRlc3QtY3VzdG9tLXJlc291cmNlL2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFZQSwwQkE4QkM7QUExQ0QsdUVBQXNFO0FBQ3RFLG9FQUF3RTtBQVdqRSxLQUFLLFVBQVUsT0FBTyxDQUFDLEtBQXdDLEVBQUUsUUFBaUI7SUFFdkYsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztJQUV2RSxNQUFNLGFBQWEsR0FBRywyQkFBTSxDQUFDLG1CQUFtQixDQUFDO1FBQy9DLFdBQVcsRUFBRTtZQUNYLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLFVBQVUsRUFBRSxNQUFNO1NBQ25CO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFeEQsTUFBTSxXQUFXLEdBQUcsSUFBSSx1QkFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUV4RCxJQUFJLENBQUM7UUFDSCxRQUFRLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxNQUFNLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxNQUFNLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxNQUFNLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RDtnQkFDRSx3Q0FBd0M7Z0JB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QyxDQUFDLENBQUM7WUFDSCxNQUFNO1FBQ1I7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ3hDLENBQUM7QUFFRCxLQUFLLFVBQVUsb0JBQW9CLENBQUMsV0FBNkIsRUFBRSxLQUE4QztJQUMvRyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUM7SUFDeEMsTUFBTSxXQUFXLENBQUMsV0FBVyxDQUFDO1FBQzVCLElBQUksRUFBRTtZQUNKLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQztTQUNwQjtLQUNGLENBQUMsQ0FBQztJQUNILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0U2VjcmV0IH0gZnJvbSAnQGF3cy1sYW1iZGEtcG93ZXJ0b29scy9wYXJhbWV0ZXJzL3NlY3JldHMnO1xuaW1wb3J0IHsgY2xpZW50LCB2MSBhcyBkYXRhZG9nLCB2MSB9IGZyb20gJ0BkYXRhZG9nL2RhdGFkb2ctYXBpLWNsaWVudCc7XG5pbXBvcnQge1xuICBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlQ3JlYXRlRXZlbnQsXG4gIENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VEZWxldGVFdmVudCxcbiAgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50LFxuICBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQsXG4gIENvbnRleHQsXG59IGZyb20gJ2F3cy1sYW1iZGEnO1xuXG50eXBlIFN5bnRoZXRpY3NUZXN0ID0gZGF0YWRvZy5TeW50aGV0aWNzQVBJVGVzdCB8IGRhdGFkb2cuU3ludGhldGljc0Jyb3dzZXJUZXN0IHwgZGF0YWRvZy5TeW50aGV0aWNzTW9iaWxlVGVzdDtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQ6IENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCwgX2NvbnRleHQ6IENvbnRleHQpIHtcblxuICBjb25zdCB7IGFwaUtleSwgYXBwS2V5LCBzaXRlOiBkYXRhZG9nU2l0ZSB9ID0gYXdhaXQgZ2V0RGF0YWRvZ1NlY3JldCgpO1xuXG4gIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBjbGllbnQuY3JlYXRlQ29uZmlndXJhdGlvbih7XG4gICAgYXV0aE1ldGhvZHM6IHtcbiAgICAgIGFwaUtleUF1dGg6IGFwaUtleSxcbiAgICAgIGFwcEtleUF1dGg6IGFwcEtleSxcbiAgICB9LFxuICB9KTtcbiAgY29uZmlndXJhdGlvbi5zZXRTZXJ2ZXJWYXJpYWJsZXMoeyBzaXRlOiBkYXRhZG9nU2l0ZSB9KTtcblxuICBjb25zdCBhcGlJbnN0YW5jZSA9IG5ldyB2MS5TeW50aGV0aWNzQXBpKGNvbmZpZ3VyYXRpb24pO1xuXG4gIHRyeSB7XG4gICAgc3dpdGNoIChldmVudC5SZXF1ZXN0VHlwZSkge1xuICAgICAgY2FzZSAnQ3JlYXRlJzpcbiAgICAgICAgcmV0dXJuIGF3YWl0IGNyZWF0ZVN5bnRoZXRpY3NUZXN0KGFwaUluc3RhbmNlLCBldmVudCk7XG4gICAgICBjYXNlICdVcGRhdGUnOlxuICAgICAgICByZXR1cm4gYXdhaXQgdXBkYXRlU3ludGhldGljc1Rlc3QoYXBpSW5zdGFuY2UsIGV2ZW50KTtcbiAgICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICAgIHJldHVybiBhd2FpdCBkZWxldGVTeW50aGV0aWNzVGVzdChhcGlJbnN0YW5jZSwgZXZlbnQpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgLy8gbm9pbnNwZWN0aW9uIEV4Y2VwdGlvbkNhdWdodExvY2FsbHlKU1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHJlcXVlc3QgdHlwZSAke2V2ZW50fWApO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBwcm9jZXNzIHJlcXVlc3Q6ICR7ZXJyb3J9YCk7XG4gIH1cbn1cblxuY29uc3QgZ2V0RGF0YWRvZ1NlY3JldCA9IGFzeW5jICgpID0+IHtcbiAgY29uc3QgZGF0YWRvZ1NlY3JldEFybiA9IHByb2Nlc3MuZW52LkRBVEFET0dfU0VDUkVUX0FSTjtcblxuICBpZiAoIWRhdGFkb2dTZWNyZXRBcm4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0RhdGFkb2cgc2VjcmV0IEFSTiBtdXN0IGJlIHNldCBpbiB0aGUgREFUQURPR19TRUNSRVRfQVJOIGVudmlyb25tZW50Jyk7XG4gIH1cbiAgY29uc3Qgc2VjcmV0U3RyaW5nID0gYXdhaXQgZ2V0U2VjcmV0KGRhdGFkb2dTZWNyZXRBcm4pO1xuICBjb25zdCBzZWNyZXQgPSBKU09OLnBhcnNlKHNlY3JldFN0cmluZyEgYXMgc3RyaW5nKTtcbiAgcmV0dXJuIHtcbiAgICBhcGlLZXk6IHNlY3JldC5BcGlLZXksXG4gICAgYXBwS2V5OiBzZWNyZXQuQXBwbGljYXRpb25LZXksXG4gICAgc2l0ZTogc2VjcmV0LlNpdGUsXG4gIH07XG59O1xuXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVTeW50aGV0aWNzVGVzdChhcGlJbnN0YW5jZTogdjEuU3ludGhldGljc0FwaSwgZXZlbnQ6IENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VDcmVhdGVFdmVudCkge1xuICBjb25zdCB0ZXN0Q29uZmlnID0gSlNPTi5wYXJzZShldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuVGVzdENvbmZpZykgYXMgU3ludGhldGljc1Rlc3Q7XG5cbiAgbGV0IHJlc3BvbnNlO1xuICBzd2l0Y2ggKHRlc3RDb25maWcudHlwZSkge1xuICAgIGNhc2UgJ2FwaSc6XG4gICAgICByZXNwb25zZSA9IGF3YWl0IGFwaUluc3RhbmNlLmNyZWF0ZVN5bnRoZXRpY3NBUElUZXN0KHsgYm9keTogdGVzdENvbmZpZyBhcyB2MS5TeW50aGV0aWNzQVBJVGVzdCB9KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2Jyb3dzZXInOlxuICAgICAgcmVzcG9uc2UgPSBhd2FpdCBhcGlJbnN0YW5jZS5jcmVhdGVTeW50aGV0aWNzQnJvd3NlclRlc3QoeyBib2R5OiB0ZXN0Q29uZmlnIGFzIHYxLlN5bnRoZXRpY3NCcm93c2VyVGVzdCB9KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ21vYmlsZSc6XG4gICAgICByZXNwb25zZSA9IGF3YWl0IGFwaUluc3RhbmNlLmNyZWF0ZVN5bnRoZXRpY3NNb2JpbGVUZXN0KHsgYm9keTogdGVzdENvbmZpZyBhcyB2MS5TeW50aGV0aWNzTW9iaWxlVGVzdCB9KTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHRlc3QgdHlwZSAke3Rlc3RDb25maWcudHlwZX1gKTtcbiAgfVxuICByZXR1cm4geyBQaHlzaWNhbFJlc291cmNlSWQ6IHJlc3BvbnNlLnB1YmxpY0lkIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVN5bnRoZXRpY3NUZXN0KGFwaUluc3RhbmNlOiB2MS5TeW50aGV0aWNzQXBpLCBldmVudDogQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVVwZGF0ZUV2ZW50KSB7XG4gIGNvbnN0IHRlc3RJZCA9IGV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZDtcbiAgY29uc3QgdGVzdENvbmZpZyA9IEpTT04ucGFyc2UoZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlRlc3RDb25maWcpIGFzIFN5bnRoZXRpY3NUZXN0O1xuXG4gIHN3aXRjaCAodGVzdENvbmZpZy50eXBlKSB7XG4gICAgY2FzZSAnYXBpJzpcbiAgICAgIGF3YWl0IGFwaUluc3RhbmNlLnVwZGF0ZUFQSVRlc3Qoe1xuICAgICAgICBwdWJsaWNJZDogdGVzdElkLFxuICAgICAgICBib2R5OiB0ZXN0Q29uZmlnIGFzIHYxLlN5bnRoZXRpY3NBUElUZXN0LFxuICAgICAgfSk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdicm93c2VyJzpcbiAgICAgIGF3YWl0IGFwaUluc3RhbmNlLnVwZGF0ZUJyb3dzZXJUZXN0KHtcbiAgICAgICAgcHVibGljSWQ6IHRlc3RJZCxcbiAgICAgICAgYm9keTogdGVzdENvbmZpZyBhcyB2MS5TeW50aGV0aWNzQnJvd3NlclRlc3QsXG4gICAgICB9KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ21vYmlsZSc6XG4gICAgICBhd2FpdCBhcGlJbnN0YW5jZS51cGRhdGVNb2JpbGVUZXN0KHtcbiAgICAgICAgcHVibGljSWQ6IHRlc3RJZCxcbiAgICAgICAgYm9keTogdGVzdENvbmZpZyBhcyB2MS5TeW50aGV0aWNzTW9iaWxlVGVzdCxcbiAgICAgIH0pO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgdGVzdCB0eXBlICR7dGVzdENvbmZpZy50eXBlfWApO1xuICB9XG5cbiAgcmV0dXJuIHsgUGh5c2ljYWxSZXNvdXJjZUlkOiB0ZXN0SWQgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZGVsZXRlU3ludGhldGljc1Rlc3QoYXBpSW5zdGFuY2U6IHYxLlN5bnRoZXRpY3NBcGksIGV2ZW50OiBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRGVsZXRlRXZlbnQpIHtcbiAgY29uc3QgdGVzdElkID0gZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkO1xuICBhd2FpdCBhcGlJbnN0YW5jZS5kZWxldGVUZXN0cyh7XG4gICAgYm9keToge1xuICAgICAgcHVibGljSWRzOiBbdGVzdElkXSxcbiAgICB9LFxuICB9KTtcbiAgcmV0dXJuIHsgUGh5c2ljYWxSZXNvdXJjZUlkOiB0ZXN0SWQgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { v1 as datadog } from '@datadog/datadog-api-client';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
3
|
+
type SyntheticsTest = datadog.SyntheticsAPITest | datadog.SyntheticsBrowserTest | datadog.SyntheticsMobileTest;
|
|
4
|
+
export interface DatadogSyntheticsTestProps {
|
|
5
|
+
/**
|
|
6
|
+
* The name of the service to which the test belongs.
|
|
7
|
+
*
|
|
8
|
+
* Used to enhance the test name and apply the `service` tag.
|
|
9
|
+
*/
|
|
10
|
+
readonly serviceName: string;
|
|
11
|
+
/**
|
|
12
|
+
* @jsii ignore
|
|
13
|
+
*/
|
|
14
|
+
readonly testConfig: SyntheticsTest;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Creates a Datadog Synthetics test via Datadog API through a custom resource.
|
|
18
|
+
*
|
|
19
|
+
* See https://docs.datadoghq.com/api/latest/synthetics/ for more information (especially the typescript examples).
|
|
20
|
+
* Currently, tests of type `api`, `browser` and `mobile` are supported.
|
|
21
|
+
*
|
|
22
|
+
* The resource does the following modification to the passed `testConfig`:
|
|
23
|
+
* - Adds team name and service name to the test name.
|
|
24
|
+
* - Adds the usual tags (account_id, account_name, service, team, team_identifier) to the test tags.
|
|
25
|
+
*/
|
|
26
|
+
export declare class DatadogSyntheticsTest extends Construct {
|
|
27
|
+
constructor(scope: Construct, id: string, props: DatadogSyntheticsTestProps);
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.DatadogSyntheticsTest = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
const path = require("path");
|
|
8
|
+
const cdk = require("aws-cdk-lib");
|
|
9
|
+
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
10
|
+
const logs = require("aws-cdk-lib/aws-logs");
|
|
11
|
+
const customResources = require("aws-cdk-lib/custom-resources");
|
|
12
|
+
const constructs_1 = require("constructs");
|
|
13
|
+
const constants_1 = require("../../../constants");
|
|
14
|
+
const datadogv2_1 = require("../../../datadogv2");
|
|
15
|
+
const rio_claidometer_1 = require("../../../rio-claidometer");
|
|
16
|
+
const rio_landing_zone_1 = require("../../../rio-landing-zone");
|
|
17
|
+
/**
|
|
18
|
+
* Creates a Datadog Synthetics test via Datadog API through a custom resource.
|
|
19
|
+
*
|
|
20
|
+
* See https://docs.datadoghq.com/api/latest/synthetics/ for more information (especially the typescript examples).
|
|
21
|
+
* Currently, tests of type `api`, `browser` and `mobile` are supported.
|
|
22
|
+
*
|
|
23
|
+
* The resource does the following modification to the passed `testConfig`:
|
|
24
|
+
* - Adds team name and service name to the test name.
|
|
25
|
+
* - Adds the usual tags (account_id, account_name, service, team, team_identifier) to the test tags.
|
|
26
|
+
*/
|
|
27
|
+
class DatadogSyntheticsTest extends constructs_1.Construct {
|
|
28
|
+
constructor(scope, id, props) {
|
|
29
|
+
super(scope, id);
|
|
30
|
+
const datadogSecret = datadogv2_1.DatadogSharedSecret.credentialsSecret(this);
|
|
31
|
+
const teamName = rio_landing_zone_1.RioLandingZone.getTeamNameParameter(this).stringValue;
|
|
32
|
+
const teamIdentifier = rio_landing_zone_1.RioLandingZone.getTeamIdentifierParameter(this).stringValue;
|
|
33
|
+
const accountName = rio_landing_zone_1.RioLandingZone.getAccountNameParameter(this).stringValue;
|
|
34
|
+
const datadogHandler = new lambda.Function(this, 'DatadogSyntheticsHandler', {
|
|
35
|
+
runtime: constants_1.DEFAULT_NODE_RUNTIME,
|
|
36
|
+
code: lambda.Code.fromAsset((0, path_1.join)(__dirname, 'datadog-synthetics-test-custom-resource'), {
|
|
37
|
+
exclude: ['*.js', '*.d.ts'],
|
|
38
|
+
}),
|
|
39
|
+
handler: 'handler.handler',
|
|
40
|
+
environment: {
|
|
41
|
+
DATADOG_SECRET_ARN: datadogSecret.secretArn,
|
|
42
|
+
},
|
|
43
|
+
logRetention: logs.RetentionDays.ONE_WEEK,
|
|
44
|
+
});
|
|
45
|
+
datadogSecret.grantRead(datadogHandler);
|
|
46
|
+
const provider = new customResources.Provider(this, 'DatadogSyntheticsProvider', {
|
|
47
|
+
onEventHandler: datadogHandler,
|
|
48
|
+
});
|
|
49
|
+
const enhancedName = `${teamName} ${props.serviceName} ${props.testConfig.name}`;
|
|
50
|
+
const enhancedTags = [
|
|
51
|
+
...props.testConfig.tags ?? [],
|
|
52
|
+
`account_id:${cdk.Stack.of(this).account}`,
|
|
53
|
+
`account_name:${accountName}`,
|
|
54
|
+
`service:${props.serviceName}`,
|
|
55
|
+
`team:${teamName}`,
|
|
56
|
+
`team_identifier:${teamIdentifier}`,
|
|
57
|
+
];
|
|
58
|
+
const enhancedTestConfig = {
|
|
59
|
+
...props.testConfig,
|
|
60
|
+
name: enhancedName,
|
|
61
|
+
tags: enhancedTags,
|
|
62
|
+
};
|
|
63
|
+
new cdk.CustomResource(this, 'DatadogSyntheticsTestResource', {
|
|
64
|
+
serviceToken: provider.serviceToken,
|
|
65
|
+
properties: {
|
|
66
|
+
TestConfig: JSON.stringify(enhancedTestConfig),
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
const [feature, packageName] = __dirname.split(path.sep).reverse();
|
|
70
|
+
new rio_claidometer_1.Claidometer(this, 'Claidometer', {
|
|
71
|
+
product: rio_claidometer_1.ClaidometerProduct.CDK_CONTRIBUTION,
|
|
72
|
+
packageName,
|
|
73
|
+
feature,
|
|
74
|
+
version: '0.0.1',
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.DatadogSyntheticsTest = DatadogSyntheticsTest;
|
|
79
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
80
|
+
DatadogSyntheticsTest[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.DatadogSyntheticsTest", version: "0.0.0" };
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy1zeW50aGV0aWNzLXRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vZGF0YWRvZy1zeW50aGV0aWNzL2RhdGFkb2ctc3ludGhldGljcy10ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQTRCO0FBQzVCLDZCQUE2QjtBQUU3QixtQ0FBbUM7QUFDbkMsaURBQWlEO0FBQ2pELDZDQUE2QztBQUM3QyxnRUFBZ0U7QUFDaEUsMkNBQXVDO0FBQ3ZDLGtEQUEwRDtBQUMxRCxrREFBeUQ7QUFDekQsOERBQTJFO0FBQzNFLGdFQUEyRDtBQWtCM0Q7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSxzQkFBUztJQUNsRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWlDO1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxhQUFhLEdBQUcsK0JBQW1CLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbEUsTUFBTSxRQUFRLEdBQUcsaUNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDdkUsTUFBTSxjQUFjLEdBQUcsaUNBQWMsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDbkYsTUFBTSxXQUFXLEdBQUcsaUNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFFN0UsTUFBTSxjQUFjLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSwwQkFBMEIsRUFBRTtZQUMzRSxPQUFPLEVBQUUsZ0NBQW9CO1lBQzdCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUseUNBQXlDLENBQUMsRUFBRTtnQkFDdEYsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQzthQUM1QixDQUFDO1lBQ0YsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUU7Z0JBQ1gsa0JBQWtCLEVBQUUsYUFBYSxDQUFDLFNBQVM7YUFDNUM7WUFDRCxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRO1NBQzFDLENBQUMsQ0FBQztRQUNILGFBQWEsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFeEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSwyQkFBMkIsRUFBRTtZQUMvRSxjQUFjLEVBQUUsY0FBYztTQUMvQixDQUFDLENBQUM7UUFFSCxNQUFNLFlBQVksR0FBRyxHQUFHLFFBQVEsSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakYsTUFBTSxZQUFZLEdBQUc7WUFDbkIsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFO1lBQzlCLGNBQWMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFO1lBQzFDLGdCQUFnQixXQUFXLEVBQUU7WUFDN0IsV0FBVyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQzlCLFFBQVEsUUFBUSxFQUFFO1lBQ2xCLG1CQUFtQixjQUFjLEVBQUU7U0FDcEMsQ0FBQztRQUNGLE1BQU0sa0JBQWtCLEdBQW1CO1lBQ3pDLEdBQUcsS0FBSyxDQUFDLFVBQVU7WUFDbkIsSUFBSSxFQUFFLFlBQVk7WUFDbEIsSUFBSSxFQUFFLFlBQVk7U0FDbkIsQ0FBQztRQUVGLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsK0JBQStCLEVBQUU7WUFDNUQsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZO1lBQ25DLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQzthQUMvQztTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkUsSUFBSSw2QkFBVyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDbkMsT0FBTyxFQUFFLG9DQUFrQixDQUFDLGdCQUFnQjtZQUM1QyxXQUFXO1lBQ1gsT0FBTztZQUNQLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBeERILHNEQXlEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyB2MSBhcyBkYXRhZG9nIH0gZnJvbSAnQGRhdGFkb2cvZGF0YWRvZy1hcGktY2xpZW50JztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIGN1c3RvbVJlc291cmNlcyBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgREVGQVVMVF9OT0RFX1JVTlRJTUUgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRGF0YWRvZ1NoYXJlZFNlY3JldCB9IGZyb20gJy4uLy4uLy4uL2RhdGFkb2d2Mic7XG5pbXBvcnQgeyBDbGFpZG9tZXRlciwgQ2xhaWRvbWV0ZXJQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vcmlvLWNsYWlkb21ldGVyJztcbmltcG9ydCB7IFJpb0xhbmRpbmdab25lIH0gZnJvbSAnLi4vLi4vLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cbnR5cGUgU3ludGhldGljc1Rlc3QgPSBkYXRhZG9nLlN5bnRoZXRpY3NBUElUZXN0IHwgZGF0YWRvZy5TeW50aGV0aWNzQnJvd3NlclRlc3QgfCBkYXRhZG9nLlN5bnRoZXRpY3NNb2JpbGVUZXN0O1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFkb2dTeW50aGV0aWNzVGVzdFByb3BzIHtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgdG8gd2hpY2ggdGhlIHRlc3QgYmVsb25ncy5cbiAgICpcbiAgICogVXNlZCB0byBlbmhhbmNlIHRoZSB0ZXN0IG5hbWUgYW5kIGFwcGx5IHRoZSBgc2VydmljZWAgdGFnLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEBqc2lpIGlnbm9yZVxuICAgKi9cbiAgcmVhZG9ubHkgdGVzdENvbmZpZzogU3ludGhldGljc1Rlc3Q7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIERhdGFkb2cgU3ludGhldGljcyB0ZXN0IHZpYSBEYXRhZG9nIEFQSSB0aHJvdWdoIGEgY3VzdG9tIHJlc291cmNlLlxuICpcbiAqIFNlZSBodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9hcGkvbGF0ZXN0L3N5bnRoZXRpY3MvIGZvciBtb3JlIGluZm9ybWF0aW9uIChlc3BlY2lhbGx5IHRoZSB0eXBlc2NyaXB0IGV4YW1wbGVzKS5cbiAqIEN1cnJlbnRseSwgdGVzdHMgb2YgdHlwZSBgYXBpYCwgYGJyb3dzZXJgIGFuZCBgbW9iaWxlYCBhcmUgc3VwcG9ydGVkLlxuICpcbiAqIFRoZSByZXNvdXJjZSBkb2VzIHRoZSBmb2xsb3dpbmcgbW9kaWZpY2F0aW9uIHRvIHRoZSBwYXNzZWQgYHRlc3RDb25maWdgOlxuICogLSBBZGRzIHRlYW0gbmFtZSBhbmQgc2VydmljZSBuYW1lIHRvIHRoZSB0ZXN0IG5hbWUuXG4gKiAtIEFkZHMgdGhlIHVzdWFsIHRhZ3MgKGFjY291bnRfaWQsIGFjY291bnRfbmFtZSwgc2VydmljZSwgdGVhbSwgdGVhbV9pZGVudGlmaWVyKSB0byB0aGUgdGVzdCB0YWdzLlxuICovXG5leHBvcnQgY2xhc3MgRGF0YWRvZ1N5bnRoZXRpY3NUZXN0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dTeW50aGV0aWNzVGVzdFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRhdGFkb2dTZWNyZXQgPSBEYXRhZG9nU2hhcmVkU2VjcmV0LmNyZWRlbnRpYWxzU2VjcmV0KHRoaXMpO1xuXG4gICAgY29uc3QgdGVhbU5hbWUgPSBSaW9MYW5kaW5nWm9uZS5nZXRUZWFtTmFtZVBhcmFtZXRlcih0aGlzKS5zdHJpbmdWYWx1ZTtcbiAgICBjb25zdCB0ZWFtSWRlbnRpZmllciA9IFJpb0xhbmRpbmdab25lLmdldFRlYW1JZGVudGlmaWVyUGFyYW1ldGVyKHRoaXMpLnN0cmluZ1ZhbHVlO1xuICAgIGNvbnN0IGFjY291bnROYW1lID0gUmlvTGFuZGluZ1pvbmUuZ2V0QWNjb3VudE5hbWVQYXJhbWV0ZXIodGhpcykuc3RyaW5nVmFsdWU7XG5cbiAgICBjb25zdCBkYXRhZG9nSGFuZGxlciA9IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgJ0RhdGFkb2dTeW50aGV0aWNzSGFuZGxlcicsIHtcbiAgICAgIHJ1bnRpbWU6IERFRkFVTFRfTk9ERV9SVU5USU1FLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KGpvaW4oX19kaXJuYW1lLCAnZGF0YWRvZy1zeW50aGV0aWNzLXRlc3QtY3VzdG9tLXJlc291cmNlJyksIHtcbiAgICAgICAgZXhjbHVkZTogWycqLmpzJywgJyouZC50cyddLFxuICAgICAgfSksXG4gICAgICBoYW5kbGVyOiAnaGFuZGxlci5oYW5kbGVyJyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIERBVEFET0dfU0VDUkVUX0FSTjogZGF0YWRvZ1NlY3JldC5zZWNyZXRBcm4sXG4gICAgICB9LFxuICAgICAgbG9nUmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX1dFRUssXG4gICAgfSk7XG4gICAgZGF0YWRvZ1NlY3JldC5ncmFudFJlYWQoZGF0YWRvZ0hhbmRsZXIpO1xuXG4gICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgY3VzdG9tUmVzb3VyY2VzLlByb3ZpZGVyKHRoaXMsICdEYXRhZG9nU3ludGhldGljc1Byb3ZpZGVyJywge1xuICAgICAgb25FdmVudEhhbmRsZXI6IGRhdGFkb2dIYW5kbGVyLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZW5oYW5jZWROYW1lID0gYCR7dGVhbU5hbWV9ICR7cHJvcHMuc2VydmljZU5hbWV9ICR7cHJvcHMudGVzdENvbmZpZy5uYW1lfWA7XG4gICAgY29uc3QgZW5oYW5jZWRUYWdzID0gW1xuICAgICAgLi4ucHJvcHMudGVzdENvbmZpZy50YWdzID8/IFtdLFxuICAgICAgYGFjY291bnRfaWQ6JHtjZGsuU3RhY2sub2YodGhpcykuYWNjb3VudH1gLFxuICAgICAgYGFjY291bnRfbmFtZToke2FjY291bnROYW1lfWAsXG4gICAgICBgc2VydmljZToke3Byb3BzLnNlcnZpY2VOYW1lfWAsXG4gICAgICBgdGVhbToke3RlYW1OYW1lfWAsXG4gICAgICBgdGVhbV9pZGVudGlmaWVyOiR7dGVhbUlkZW50aWZpZXJ9YCxcbiAgICBdO1xuICAgIGNvbnN0IGVuaGFuY2VkVGVzdENvbmZpZzogU3ludGhldGljc1Rlc3QgPSB7XG4gICAgICAuLi5wcm9wcy50ZXN0Q29uZmlnLFxuICAgICAgbmFtZTogZW5oYW5jZWROYW1lLFxuICAgICAgdGFnczogZW5oYW5jZWRUYWdzLFxuICAgIH07XG5cbiAgICBuZXcgY2RrLkN1c3RvbVJlc291cmNlKHRoaXMsICdEYXRhZG9nU3ludGhldGljc1Rlc3RSZXNvdXJjZScsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogcHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBUZXN0Q29uZmlnOiBKU09OLnN0cmluZ2lmeShlbmhhbmNlZFRlc3RDb25maWcpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IFtmZWF0dXJlLCBwYWNrYWdlTmFtZV0gPSBfX2Rpcm5hbWUuc3BsaXQocGF0aC5zZXApLnJldmVyc2UoKTtcbiAgICBuZXcgQ2xhaWRvbWV0ZXIodGhpcywgJ0NsYWlkb21ldGVyJywge1xuICAgICAgcHJvZHVjdDogQ2xhaWRvbWV0ZXJQcm9kdWN0LkNES19DT05UUklCVVRJT04sXG4gICAgICBwYWNrYWdlTmFtZSxcbiAgICAgIGZlYXR1cmUsXG4gICAgICB2ZXJzaW9uOiAnMC4wLjEnLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './datadog-synthetics-test';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./datadog-synthetics-test"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vZGF0YWRvZy1zeW50aGV0aWNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0REFBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGFkb2ctc3ludGhldGljcy10ZXN0JztcbiJdfQ==
|
package/lib/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export * as datadog from './datadog';
|
|
|
18
18
|
export * as datadogv2 from './datadogv2';
|
|
19
19
|
export * from './contributions/cop-frontend/cloudfront';
|
|
20
20
|
export * from './contributions/team-transport-two/datadog';
|
|
21
|
+
export * from './contributions/team-transport-two/datadog-synthetics';
|
|
21
22
|
export * from './contributions/team-transport-two/pipeline';
|
|
22
23
|
export * from './contributions/team-claid/aws-backup-monitoring';
|
|
23
24
|
export * from './contributions/team-claid/datadog-usage-monitoring';
|
package/lib/index.js
CHANGED
|
@@ -35,6 +35,7 @@ exports.datadog = require("./datadog");
|
|
|
35
35
|
exports.datadogv2 = require("./datadogv2");
|
|
36
36
|
__exportStar(require("./contributions/cop-frontend/cloudfront"), exports);
|
|
37
37
|
__exportStar(require("./contributions/team-transport-two/datadog"), exports);
|
|
38
|
+
__exportStar(require("./contributions/team-transport-two/datadog-synthetics"), exports);
|
|
38
39
|
__exportStar(require("./contributions/team-transport-two/pipeline"), exports);
|
|
39
40
|
__exportStar(require("./contributions/team-claid/aws-backup-monitoring"), exports);
|
|
40
41
|
__exportStar(require("./contributions/team-claid/datadog-usage-monitoring"), exports);
|
|
@@ -44,4 +45,4 @@ exports.backup = require("./backup");
|
|
|
44
45
|
exports.ecr = require("./ecr");
|
|
45
46
|
__exportStar(require("./test"), exports);
|
|
46
47
|
__exportStar(require("./contributions/smart-route/gitlab-runner"), exports);
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBMkI7QUFFM0IsNkNBQTJDO0FBRTNDLHFEQUFtQztBQUNuQyxzREFBb0M7QUFDcEMsb0RBQWtDO0FBRWxDLGdFQUE4QztBQUM5QyxpRkFBK0Q7QUFDL0QsdUNBQXFDO0FBRXJDLHlFQUF1RDtBQUN2RCw4RUFBNEQ7QUFDNUQsK0RBQTZDO0FBRTdDLDBDQUF3QjtBQUN4QixtQ0FBaUM7QUFFakMsd0NBQXNCO0FBQ3RCLCtCQUE2QjtBQUU3Qiw0Q0FBMEI7QUFDMUIsdUNBQXFDO0FBQ3JDLDJDQUF5QztBQUV6QywwRUFBd0Q7QUFFeEQsNkVBQTJEO0FBQzNELHdGQUFzRTtBQUN0RSw4RUFBNEQ7QUFFNUQsbUZBQWlFO0FBQ2pFLHNGQUFvRTtBQUVwRSw0R0FBMEY7QUFFMUYsMkNBQXlCO0FBQ3pCLHFDQUFtQztBQUVuQywrQkFBNkI7QUFDN0IseUNBQXVCO0FBRXZCLDRFQUEwRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2F0Y2hmdWwnO1xuXG5leHBvcnQgKiBhcyB3YXRjaGZ1bHYyIGZyb20gJy4vd2F0Y2hmdWx2Mic7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmlvLWxhbmRpbmctem9uZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jpby1sb2FkLWJhbGFuY2VyJztcbmV4cG9ydCAqIGZyb20gJy4vcmlvLWNsYWlkb21ldGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9mYXJnYXRlL3Jpby1mYXJnYXRlLXNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mYXJnYXRlL3Jpby1mYXJnYXRlLXNlcnZpY2UtYmx1ZS1ncmVlbi1hbHBoYSc7XG5leHBvcnQgKiBhcyBmYXJnYXRlIGZyb20gJy4vZmFyZ2F0ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcGlwZWxpbmUvcmlvLWJpdGJ1Y2tldC1zb3VyY2UtYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZWxpbmUvcmlvLWJhY2t1cC1zZWNyZXRzLXJlc3RvcmUtc3RhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZS9yaW8tcGlwZWxpbmUtdHlwZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4va2Fma2EnO1xuZXhwb3J0ICogYXMga2Fma2EgZnJvbSAnLi9rYWZrYSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VzJztcbmV4cG9ydCAqIGFzIHNlcyBmcm9tICcuL3Nlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZGF0YWRvZyc7XG5leHBvcnQgKiBhcyBkYXRhZG9nIGZyb20gJy4vZGF0YWRvZyc7XG5leHBvcnQgKiBhcyBkYXRhZG9ndjIgZnJvbSAnLi9kYXRhZG9ndjInO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyaWJ1dGlvbnMvY29wLWZyb250ZW5kL2Nsb3VkZnJvbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyaWJ1dGlvbnMvdGVhbS10cmFuc3BvcnQtdHdvL2RhdGFkb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250cmlidXRpb25zL3RlYW0tdHJhbnNwb3J0LXR3by9kYXRhZG9nLXN5bnRoZXRpY3MnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250cmlidXRpb25zL3RlYW0tdHJhbnNwb3J0LXR3by9waXBlbGluZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy90ZWFtLWNsYWlkL2F3cy1iYWNrdXAtbW9uaXRvcmluZyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRyaWJ1dGlvbnMvdGVhbS1jbGFpZC9kYXRhZG9nLXVzYWdlLW1vbml0b3JpbmcnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyaWJ1dGlvbnMvdGVhbS1vdXRib3VuZC1vcmRlci1ib29rL2F3cy1lY3MtYWJydXB0bHktc3RvcHBlZC1tb25pdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9iYWNrdXAnO1xuZXhwb3J0ICogYXMgYmFja3VwIGZyb20gJy4vYmFja3VwJztcblxuZXhwb3J0ICogYXMgZWNyIGZyb20gJy4vZWNyJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy9zbWFydC1yb3V0ZS9naXRsYWItcnVubmVyJztcbiJdfQ==
|
package/package.json
CHANGED
package/version.json
CHANGED