p6-cdk-namer 1.2.1 → 1.3.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/.jsii +2 -2
- package/lib/p6cdknamer.js +1 -1
- package/lib/p6cdknamer.p6cdknamer.js +44 -10
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -3977,6 +3977,6 @@
|
|
|
3977
3977
|
"symbolId": "src/p6cdknamer:P6CDKNamer"
|
|
3978
3978
|
}
|
|
3979
3979
|
},
|
|
3980
|
-
"version": "1.
|
|
3981
|
-
"fingerprint": "
|
|
3980
|
+
"version": "1.3.0",
|
|
3981
|
+
"fingerprint": "14QXaQfaH9INkgHwc17DfoZKaiZeJK40ZDwk7DvHDhg="
|
|
3982
3982
|
}
|
package/lib/p6cdknamer.js
CHANGED
|
@@ -31,7 +31,7 @@ const lambdajs = __importStar(require("aws-cdk-lib/aws-lambda-nodejs"));
|
|
|
31
31
|
const cr = __importStar(require("aws-cdk-lib/custom-resources"));
|
|
32
32
|
const floyd = __importStar(require("cdk-iam-floyd"));
|
|
33
33
|
class P6CDKNamer extends cdk.Resource {
|
|
34
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "p6-cdk-namer.P6CDKNamer", version: "1.
|
|
34
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "p6-cdk-namer.P6CDKNamer", version: "1.3.0" };
|
|
35
35
|
constructor(scope, id, props) {
|
|
36
36
|
super(scope, id);
|
|
37
37
|
const policy = new floyd.Statement.Iam().allow().toCreateAccountAlias();
|
|
@@ -26,12 +26,43 @@ async function createAccountAlias(alias) {
|
|
|
26
26
|
try {
|
|
27
27
|
const response = await iamClient.send(command);
|
|
28
28
|
logger.info(`Successfully created account alias: ${alias}`, { response });
|
|
29
|
+
return 'SUCCESS';
|
|
29
30
|
}
|
|
30
31
|
catch (error) {
|
|
31
32
|
logger.error(`Failed to create account alias: ${error.message}`);
|
|
32
|
-
|
|
33
|
+
return 'FAILED';
|
|
33
34
|
}
|
|
34
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Deletes an account alias for the AWS account.
|
|
38
|
+
*
|
|
39
|
+
* @param alias - The alias to create.
|
|
40
|
+
*/
|
|
41
|
+
async function deleteAccountAlias(alias) {
|
|
42
|
+
const command = new client_iam_1.DeleteAccountAliasCommand({ AccountAlias: alias });
|
|
43
|
+
try {
|
|
44
|
+
const response = await iamClient.send(command);
|
|
45
|
+
logger.info(`Successfully deleted account alias: ${alias}`, { response });
|
|
46
|
+
return 'SUCCESS';
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
logger.error(`Failed to delete account alias: ${error.message}`);
|
|
50
|
+
return 'FAILED';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Updates an account alias for the AWS account.
|
|
55
|
+
*
|
|
56
|
+
* @param alias - The alias to create.
|
|
57
|
+
*/
|
|
58
|
+
async function updateAccountAlias(alias) {
|
|
59
|
+
const deleteStatus = await deleteAccountAlias(alias);
|
|
60
|
+
if (deleteStatus !== 'SUCCESS') {
|
|
61
|
+
return deleteStatus;
|
|
62
|
+
}
|
|
63
|
+
const createStatus = await createAccountAlias(alias);
|
|
64
|
+
return createStatus;
|
|
65
|
+
}
|
|
35
66
|
/**
|
|
36
67
|
* AWS Lambda handler to create an account alias.
|
|
37
68
|
*
|
|
@@ -40,22 +71,25 @@ async function createAccountAlias(alias) {
|
|
|
40
71
|
*/
|
|
41
72
|
async function handler(event) {
|
|
42
73
|
logger.info(`Received event: ${JSON.stringify(event)}`);
|
|
43
|
-
const { ResourceProperties } = event;
|
|
74
|
+
const { RequestType, ResourceProperties } = event;
|
|
44
75
|
const alias = ResourceProperties?.AccountAlias;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
76
|
+
let status;
|
|
77
|
+
if (RequestType === 'Delete') {
|
|
78
|
+
status = await deleteAccountAlias(alias);
|
|
48
79
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
80
|
+
else if (RequestType === 'Update') {
|
|
81
|
+
status = await updateAccountAlias(alias);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
status = await createAccountAlias(alias);
|
|
52
85
|
}
|
|
53
86
|
return {
|
|
54
|
-
Status:
|
|
87
|
+
Status: status,
|
|
88
|
+
Reason: 'See the details in CloudWatch Log Stream',
|
|
55
89
|
PhysicalResourceId: alias,
|
|
56
90
|
StackId: event.StackId,
|
|
57
91
|
RequestId: event.RequestId,
|
|
58
92
|
LogicalResourceId: event.LogicalResourceId,
|
|
59
93
|
};
|
|
60
94
|
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDZjZGtuYW1lci5wNmNka25hbWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3A2Y2RrbmFtZXIucDZjZGtuYW1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQTRFQSwwQkF5QkM7QUFwR0Qsb0RBQXFHO0FBQ3JHLHNEQUE2QjtBQUk3QixNQUFNLE1BQU0sR0FBRyxpQkFBTyxDQUFDLFlBQVksQ0FBQztJQUNsQyxLQUFLLEVBQUUsTUFBTTtJQUNiLE1BQU0sRUFBRSxpQkFBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7SUFDN0IsVUFBVSxFQUFFO1FBQ1YsSUFBSSxpQkFBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDN0IsTUFBTSxFQUFFLGlCQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtTQUNoQyxDQUFDO0tBQ0g7Q0FDRixDQUFDLENBQUE7QUFFRixNQUFNLFNBQVMsR0FBRyxJQUFJLHNCQUFTLENBQUMsRUFBRSxDQUFDLENBQUE7QUFFbkM7Ozs7R0FJRztBQUNILEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxLQUFhO0lBQzdDLE1BQU0sT0FBTyxHQUFHLElBQUksc0NBQXlCLENBQUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUV0RSxJQUFJLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDOUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQ3pFLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7SUFDRCxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FBb0MsS0FBZSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7UUFDM0UsT0FBTyxRQUFRLENBQUE7SUFDakIsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsS0FBSyxVQUFVLGtCQUFrQixDQUFDLEtBQWE7SUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxzQ0FBeUIsQ0FBQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBRXRFLElBQUksQ0FBQztRQUNILE1BQU0sUUFBUSxHQUFHLE1BQU0sU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM5QyxNQUFNLENBQUMsSUFBSSxDQUFDLHVDQUF1QyxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDekUsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztJQUNELE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixNQUFNLENBQUMsS0FBSyxDQUFDLG1DQUFvQyxLQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUMzRSxPQUFPLFFBQVEsQ0FBQTtJQUNqQixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxLQUFLLFVBQVUsa0JBQWtCLENBQUMsS0FBYTtJQUM3QyxNQUFNLFlBQVksR0FBRyxNQUFNLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3BELElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQy9CLE9BQU8sWUFBWSxDQUFBO0lBQ3JCLENBQUM7SUFDRCxNQUFNLFlBQVksR0FBRyxNQUFNLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3BELE9BQU8sWUFBWSxDQUFBO0FBQ3JCLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNJLEtBQUssVUFBVSxPQUFPLENBQUMsS0FBd0M7SUFDcEUsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFdkQsTUFBTSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLEtBQUssQ0FBQTtJQUNqRCxNQUFNLEtBQUssR0FBRyxrQkFBa0IsRUFBRSxZQUFZLENBQUE7SUFFOUMsSUFBSSxNQUFjLENBQUE7SUFDbEIsSUFBSSxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDN0IsTUFBTSxHQUFHLE1BQU0sa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDMUMsQ0FBQztTQUNJLElBQUksV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sR0FBRyxNQUFNLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzFDLENBQUM7U0FDSSxDQUFDO1FBQ0osTUFBTSxHQUFHLE1BQU0sa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDMUMsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLEVBQUUsTUFBTTtRQUNkLE1BQU0sRUFBRSwwQ0FBMEM7UUFDbEQsa0JBQWtCLEVBQUUsS0FBSztRQUN6QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDdEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1FBQzFCLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7S0FDM0MsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCwgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlIH0gZnJvbSAnYXdzLWxhbWJkYSdcbmltcG9ydCB7IENyZWF0ZUFjY291bnRBbGlhc0NvbW1hbmQsIERlbGV0ZUFjY291bnRBbGlhc0NvbW1hbmQsIElBTUNsaWVudCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1pYW0nXG5pbXBvcnQgd2luc3RvbiBmcm9tICd3aW5zdG9uJ1xuXG50eXBlIFN0YXR1cyA9ICdTVUNDRVNTJyB8ICdGQUlMRUQnXG5cbmNvbnN0IGxvZ2dlciA9IHdpbnN0b24uY3JlYXRlTG9nZ2VyKHtcbiAgbGV2ZWw6ICdpbmZvJyxcbiAgZm9ybWF0OiB3aW5zdG9uLmZvcm1hdC5qc29uKCksXG4gIHRyYW5zcG9ydHM6IFtcbiAgICBuZXcgd2luc3Rvbi50cmFuc3BvcnRzLkNvbnNvbGUoe1xuICAgICAgZm9ybWF0OiB3aW5zdG9uLmZvcm1hdC5zaW1wbGUoKSxcbiAgICB9KSxcbiAgXSxcbn0pXG5cbmNvbnN0IGlhbUNsaWVudCA9IG5ldyBJQU1DbGllbnQoe30pXG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhY2NvdW50IGFsaWFzIGZvciB0aGUgQVdTIGFjY291bnQuXG4gKlxuICogQHBhcmFtIGFsaWFzIC0gVGhlIGFsaWFzIHRvIGNyZWF0ZS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gY3JlYXRlQWNjb3VudEFsaWFzKGFsaWFzOiBzdHJpbmcpOiBQcm9taXNlPFN0YXR1cz4ge1xuICBjb25zdCBjb21tYW5kID0gbmV3IENyZWF0ZUFjY291bnRBbGlhc0NvbW1hbmQoeyBBY2NvdW50QWxpYXM6IGFsaWFzIH0pXG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGlhbUNsaWVudC5zZW5kKGNvbW1hbmQpXG4gICAgbG9nZ2VyLmluZm8oYFN1Y2Nlc3NmdWxseSBjcmVhdGVkIGFjY291bnQgYWxpYXM6ICR7YWxpYXN9YCwgeyByZXNwb25zZSB9KVxuICAgIHJldHVybiAnU1VDQ0VTUydcbiAgfVxuICBjYXRjaCAoZXJyb3IpIHtcbiAgICBsb2dnZXIuZXJyb3IoYEZhaWxlZCB0byBjcmVhdGUgYWNjb3VudCBhbGlhczogJHsoZXJyb3IgYXMgRXJyb3IpLm1lc3NhZ2V9YClcbiAgICByZXR1cm4gJ0ZBSUxFRCdcbiAgfVxufVxuXG4vKipcbiAqIERlbGV0ZXMgYW4gYWNjb3VudCBhbGlhcyBmb3IgdGhlIEFXUyBhY2NvdW50LlxuICpcbiAqIEBwYXJhbSBhbGlhcyAtIFRoZSBhbGlhcyB0byBjcmVhdGUuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGRlbGV0ZUFjY291bnRBbGlhcyhhbGlhczogc3RyaW5nKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgY29uc3QgY29tbWFuZCA9IG5ldyBEZWxldGVBY2NvdW50QWxpYXNDb21tYW5kKHsgQWNjb3VudEFsaWFzOiBhbGlhcyB9KVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBpYW1DbGllbnQuc2VuZChjb21tYW5kKVxuICAgIGxvZ2dlci5pbmZvKGBTdWNjZXNzZnVsbHkgZGVsZXRlZCBhY2NvdW50IGFsaWFzOiAke2FsaWFzfWAsIHsgcmVzcG9uc2UgfSlcbiAgICByZXR1cm4gJ1NVQ0NFU1MnXG4gIH1cbiAgY2F0Y2ggKGVycm9yKSB7XG4gICAgbG9nZ2VyLmVycm9yKGBGYWlsZWQgdG8gZGVsZXRlIGFjY291bnQgYWxpYXM6ICR7KGVycm9yIGFzIEVycm9yKS5tZXNzYWdlfWApXG4gICAgcmV0dXJuICdGQUlMRUQnXG4gIH1cbn1cblxuLyoqXG4gKiBVcGRhdGVzIGFuIGFjY291bnQgYWxpYXMgZm9yIHRoZSBBV1MgYWNjb3VudC5cbiAqXG4gKiBAcGFyYW0gYWxpYXMgLSBUaGUgYWxpYXMgdG8gY3JlYXRlLlxuICovXG5hc3luYyBmdW5jdGlvbiB1cGRhdGVBY2NvdW50QWxpYXMoYWxpYXM6IHN0cmluZyk6IFByb21pc2U8U3RhdHVzPiB7XG4gIGNvbnN0IGRlbGV0ZVN0YXR1cyA9IGF3YWl0IGRlbGV0ZUFjY291bnRBbGlhcyhhbGlhcylcbiAgaWYgKGRlbGV0ZVN0YXR1cyAhPT0gJ1NVQ0NFU1MnKSB7XG4gICAgcmV0dXJuIGRlbGV0ZVN0YXR1c1xuICB9XG4gIGNvbnN0IGNyZWF0ZVN0YXR1cyA9IGF3YWl0IGNyZWF0ZUFjY291bnRBbGlhcyhhbGlhcylcbiAgcmV0dXJuIGNyZWF0ZVN0YXR1c1xufVxuXG4vKipcbiAqIEFXUyBMYW1iZGEgaGFuZGxlciB0byBjcmVhdGUgYW4gYWNjb3VudCBhbGlhcy5cbiAqXG4gKiBAcGFyYW0gZXZlbnQgLSBUaGUgTGFtYmRhIGV2ZW50LlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgYWNjb3VudCBhbGlhcyBpcyBjcmVhdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50KTogUHJvbWlzZTxDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlUmVzcG9uc2U+IHtcbiAgbG9nZ2VyLmluZm8oYFJlY2VpdmVkIGV2ZW50OiAke0pTT04uc3RyaW5naWZ5KGV2ZW50KX1gKVxuXG4gIGNvbnN0IHsgUmVxdWVzdFR5cGUsIFJlc291cmNlUHJvcGVydGllcyB9ID0gZXZlbnRcbiAgY29uc3QgYWxpYXMgPSBSZXNvdXJjZVByb3BlcnRpZXM/LkFjY291bnRBbGlhc1xuXG4gIGxldCBzdGF0dXM6IFN0YXR1c1xuICBpZiAoUmVxdWVzdFR5cGUgPT09ICdEZWxldGUnKSB7XG4gICAgc3RhdHVzID0gYXdhaXQgZGVsZXRlQWNjb3VudEFsaWFzKGFsaWFzKVxuICB9XG4gIGVsc2UgaWYgKFJlcXVlc3RUeXBlID09PSAnVXBkYXRlJykge1xuICAgIHN0YXR1cyA9IGF3YWl0IHVwZGF0ZUFjY291bnRBbGlhcyhhbGlhcylcbiAgfVxuICBlbHNlIHtcbiAgICBzdGF0dXMgPSBhd2FpdCBjcmVhdGVBY2NvdW50QWxpYXMoYWxpYXMpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogJ1NlZSB0aGUgZGV0YWlscyBpbiBDbG91ZFdhdGNoIExvZyBTdHJlYW0nLFxuICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogYWxpYXMsXG4gICAgU3RhY2tJZDogZXZlbnQuU3RhY2tJZCxcbiAgICBSZXF1ZXN0SWQ6IGV2ZW50LlJlcXVlc3RJZCxcbiAgICBMb2dpY2FsUmVzb3VyY2VJZDogZXZlbnQuTG9naWNhbFJlc291cmNlSWQsXG4gIH1cbn1cbiJdfQ==
|