@fjall/components-infrastructure 0.1.6 → 0.1.10
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/dist/lib/app.d.ts +1 -2
- package/dist/lib/app.js +2 -4
- package/dist/lib/config/aws/costAllocationTags.d.ts +3 -2
- package/dist/lib/config/aws/costAllocationTags.js +5 -6
- package/dist/lib/config/aws/identityCenter.d.ts +3 -11
- package/dist/lib/config/aws/identityCenter.js +29 -24
- package/dist/lib/config/aws/index.d.ts +4 -8
- package/dist/lib/config/aws/index.js +5 -9
- package/dist/lib/config/aws/ipam.d.ts +2 -2
- package/dist/lib/config/aws/ipam.js +7 -25
- package/dist/lib/config/aws/ipamDelegateAdmin.d.ts +5 -4
- package/dist/lib/config/aws/ipamDelegateAdmin.js +13 -9
- package/dist/lib/config/aws/organisationId.d.ts +2 -4
- package/dist/lib/config/aws/organisationId.js +7 -13
- package/dist/lib/patterns/aws/basicApp.d.ts +2 -2
- package/dist/lib/patterns/aws/basicApp.js +15 -15
- package/dist/lib/patterns/aws/buildkite.d.ts +3 -3
- package/dist/lib/patterns/aws/buildkite.js +7 -9
- package/dist/lib/patterns/aws/index.d.ts +0 -3
- package/dist/lib/patterns/aws/index.js +1 -4
- package/dist/lib/patterns/aws/managedOrganisation.d.ts +21 -9
- package/dist/lib/patterns/aws/managedOrganisation.js +147 -33
- package/dist/lib/resources/aws/compute/ecs.d.ts +4 -2
- package/dist/lib/resources/aws/compute/ecs.js +6 -10
- package/dist/lib/resources/aws/compute/lambda.d.ts +7 -7
- package/dist/lib/resources/aws/compute/lambda.js +7 -8
- package/dist/lib/resources/aws/logging/logGroup.d.ts +3 -3
- package/dist/lib/resources/aws/logging/logGroup.js +3 -3
- package/dist/lib/resources/aws/networking/index.d.ts +1 -1
- package/dist/lib/resources/aws/networking/index.js +2 -2
- package/dist/lib/resources/aws/networking/ipamPool.d.ts +3 -16
- package/dist/lib/resources/aws/networking/ipamPool.js +6 -75
- package/dist/lib/resources/aws/utilities/customResource.js +2 -2
- package/dist/lib/utils/getAccountId.d.ts +1 -1
- package/dist/lib/utils/getAccountId.js +2 -3
- package/dist/lib/utils/getConfig.d.ts +2 -3
- package/dist/lib/utils/getConfig.js +6 -20
- package/package.json +2 -2
- package/dist/lib/config/aws/accountId.d.ts +0 -6
- package/dist/lib/config/aws/accountId.js +0 -33
- package/dist/lib/config/aws/cloudTrail.d.ts +0 -10
- package/dist/lib/config/aws/cloudTrail.js +0 -22
- package/dist/lib/config/aws/ecrDefaultImage.d.ts +0 -11
- package/dist/lib/config/aws/ecrDefaultImage.js +0 -127
- package/dist/lib/config/aws/eventBus.d.ts +0 -7
- package/dist/lib/config/aws/eventBus.js +0 -24
- package/dist/lib/config/aws/identityCenterUser.d.ts +0 -16
- package/dist/lib/config/aws/identityCenterUser.js +0 -125
- package/dist/lib/config/aws/ipamPoolId.d.ts +0 -9
- package/dist/lib/config/aws/ipamPoolId.js +0 -36
- package/dist/lib/config/aws/organisation.d.ts +0 -28
- package/dist/lib/config/aws/organisation.js +0 -142
- package/dist/lib/config/aws/ramSharing.d.ts +0 -4
- package/dist/lib/config/aws/ramSharing.js +0 -35
- package/dist/lib/patterns/aws/freeTierApp.d.ts +0 -46
- package/dist/lib/patterns/aws/freeTierApp.js +0 -95
- package/dist/lib/patterns/aws/hostedZone.d.ts +0 -11
- package/dist/lib/patterns/aws/hostedZone.js +0 -73
- package/dist/lib/patterns/aws/managedAccount.d.ts +0 -13
- package/dist/lib/patterns/aws/managedAccount.js +0 -39
- package/dist/lib/patterns/aws/managedPlatform.d.ts +0 -13
- package/dist/lib/patterns/aws/managedPlatform.js +0 -22
- package/dist/lib/patterns/aws/spotInstanceApp.d.ts +0 -46
- package/dist/lib/patterns/aws/spotInstanceApp.js +0 -95
- package/dist/lib/patterns/aws/subdomainHostedZone.d.ts +0 -9
- package/dist/lib/patterns/aws/subdomainHostedZone.js +0 -39
- package/dist/lib/resources/aws/compute/ecsFreeTier.d.ts +0 -76
- package/dist/lib/resources/aws/compute/ecsFreeTier.js +0 -352
- package/dist/lib/resources/aws/compute/ecsSpot.d.ts +0 -76
- package/dist/lib/resources/aws/compute/ecsSpot.js +0 -334
- package/dist/lib/resources/aws/compute/index.d.ts +0 -2
- package/dist/lib/resources/aws/compute/index.js +0 -19
- package/dist/lib/resources/aws/database/database.d.ts +0 -16
- package/dist/lib/resources/aws/database/database.js +0 -30
- package/dist/lib/resources/aws/database/databaseFreeTier.d.ts +0 -17
- package/dist/lib/resources/aws/database/databaseFreeTier.js +0 -31
- package/dist/lib/resources/aws/database/databaseInstance.d.ts +0 -17
- package/dist/lib/resources/aws/database/databaseInstance.js +0 -32
- package/dist/lib/resources/aws/database/index.d.ts +0 -2
- package/dist/lib/resources/aws/database/index.js +0 -19
- package/dist/lib/resources/aws/database/rds.d.ts +0 -23
- package/dist/lib/resources/aws/database/rds.js +0 -130
- package/dist/lib/resources/aws/database/rdsFreeTier.d.ts +0 -36
- package/dist/lib/resources/aws/database/rdsFreeTier.js +0 -80
- package/dist/lib/resources/aws/database/rdsInstance.d.ts +0 -42
- package/dist/lib/resources/aws/database/rdsInstance.js +0 -173
- package/dist/lib/resources/aws/logging/cloudTrail.d.ts +0 -18
- package/dist/lib/resources/aws/logging/cloudTrail.js +0 -46
- package/dist/lib/resources/aws/networking/vpc.d.ts +0 -29
- package/dist/lib/resources/aws/networking/vpc.js +0 -64
- package/dist/lib/resources/aws/secrets/alias.d.ts +0 -5
- package/dist/lib/resources/aws/secrets/alias.js +0 -13
- package/dist/lib/resources/aws/secrets/index.d.ts +0 -5
- package/dist/lib/resources/aws/secrets/index.js +0 -22
- package/dist/lib/resources/aws/secrets/kms.d.ts +0 -14
- package/dist/lib/resources/aws/secrets/kms.js +0 -34
- package/dist/lib/resources/aws/secrets/parameter.d.ts +0 -26
- package/dist/lib/resources/aws/secrets/parameter.js +0 -100
- package/dist/lib/resources/aws/secrets/secret.d.ts +0 -24
- package/dist/lib/resources/aws/secrets/secret.js +0 -53
- package/dist/lib/resources/aws/storage/ecr.d.ts +0 -12
- package/dist/lib/resources/aws/storage/ecr.js +0 -31
- package/dist/lib/resources/aws/storage/index.d.ts +0 -2
- package/dist/lib/resources/aws/storage/index.js +0 -19
- package/dist/lib/resources/aws/storage/s3.d.ts +0 -11
- package/dist/lib/resources/aws/storage/s3.js +0 -44
- package/dist/lib/resources/aws/utilities/codeBuild.d.ts +0 -15
- package/dist/lib/resources/aws/utilities/codeBuild.js +0 -28
- package/dist/lib/types.d.ts +0 -3
- package/dist/lib/types.js +0 -3
- package/dist/lib/utils/capitalizeString.d.ts +0 -1
- package/dist/lib/utils/capitalizeString.js +0 -8
- package/dist/lib/utils/getCidr.d.ts +0 -8
- package/dist/lib/utils/getCidr.js +0 -42
- package/dist/lib/utils/stripAndCamelCase.d.ts +0 -1
- package/dist/lib/utils/stripAndCamelCase.js +0 -17
- package/dist/lib/utils/usersConfig.d.ts +0 -7
- package/dist/lib/utils/usersConfig.js +0 -18
|
@@ -1,82 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
-
const constructs_1 = require("constructs");
|
|
3
|
+
exports.IpamPool = void 0;
|
|
6
4
|
const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
|
|
7
|
-
|
|
8
|
-
const resourceShare_1 = require("../utilities/resourceShare");
|
|
9
|
-
const getAccountId_1 = require("../../../utils/getAccountId");
|
|
10
|
-
class IpamPool extends constructs_1.Construct {
|
|
5
|
+
class IpamPool extends aws_ec2_1.CfnIPAMPool {
|
|
11
6
|
constructor(scope, id, props) {
|
|
12
|
-
super(scope, id
|
|
13
|
-
|
|
14
|
-
const IpamPrivateDefaultScopeId = props.ipamScope || aws_cdk_lib_1.Fn.importValue("IpamPrivateDefaultScopeId");
|
|
15
|
-
// Prioritise region from props, then from env
|
|
16
|
-
const region = props.region;
|
|
17
|
-
const organisationAccounts = props.orgAccounts.map((account) => account.toLowerCase());
|
|
18
|
-
for (const environment of organisationAccounts) {
|
|
19
|
-
const cidrBlock = new getCidr_1.default();
|
|
20
|
-
const freeCidrBlock = cidrBlock.getCidrBlock();
|
|
21
|
-
cidrBlock.updateState(freeCidrBlock, false);
|
|
22
|
-
const ipamPool = new aws_ec2_1.CfnIPAMPool(this, `${environment}IpamPool${freeCidrBlock}`, {
|
|
23
|
-
description: `${environment} - IPAM pool - ${region} - ${freeCidrBlock}`,
|
|
24
|
-
addressFamily: "ipv4",
|
|
25
|
-
ipamScopeId: IpamPrivateDefaultScopeId,
|
|
26
|
-
locale: region,
|
|
27
|
-
allocationResourceTags: [
|
|
28
|
-
{
|
|
29
|
-
key: "fjall:operations:pool",
|
|
30
|
-
value: `${environment}`
|
|
31
|
-
}
|
|
32
|
-
],
|
|
33
|
-
autoImport: true,
|
|
34
|
-
provisionedCidrs: [{ cidr: freeCidrBlock }],
|
|
35
|
-
tags: [
|
|
36
|
-
{
|
|
37
|
-
key: "fjall:operations:pool",
|
|
38
|
-
value: "top-level"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
key: "fjall:costAllocation:environment",
|
|
42
|
-
value: `${environment}`
|
|
43
|
-
}
|
|
44
|
-
]
|
|
45
|
-
});
|
|
46
|
-
new resourceShare_1.ResourceShare(this, `${environment}${region}IpamResourceShare`, {
|
|
47
|
-
name: `${environment}IpamResourceShare.${region}`,
|
|
48
|
-
allowExternalPrincipals: false,
|
|
49
|
-
principals: [(0, getAccountId_1.default)(environment)],
|
|
50
|
-
resourceArns: [ipamPool.attrArn],
|
|
51
|
-
tags: [
|
|
52
|
-
{
|
|
53
|
-
key: "fjall:costAllocation:environment",
|
|
54
|
-
value: `${environment}`
|
|
55
|
-
}
|
|
56
|
-
]
|
|
57
|
-
});
|
|
58
|
-
new aws_cdk_lib_1.CfnOutput(this, `${environment}IpamPoolId`, {
|
|
59
|
-
key: `${environment}IpamPoolId`,
|
|
60
|
-
value: ipamPool.attrIpamPoolId,
|
|
61
|
-
exportName: `${environment}IpamPoolId`
|
|
62
|
-
});
|
|
63
|
-
new aws_cdk_lib_1.CfnOutput(this, `${environment}IpamPoolArn`, {
|
|
64
|
-
key: `${environment}IpamPoolArn`,
|
|
65
|
-
value: ipamPool.attrArn,
|
|
66
|
-
exportName: `${environment}IpamPoolArn`
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
exports.IpamPool = IpamPool;
|
|
72
|
-
class IpamPoolStack extends aws_cdk_lib_1.Stack {
|
|
73
|
-
constructor(scope, id, props) {
|
|
74
|
-
super(scope, id);
|
|
75
|
-
new IpamPool(this, "IpamPool", {
|
|
76
|
-
orgAccounts: props.orgAccounts,
|
|
77
|
-
region: props.region
|
|
7
|
+
super(scope, id, {
|
|
8
|
+
...props // https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.CfnIPAMPool.html
|
|
78
9
|
});
|
|
79
10
|
}
|
|
80
11
|
}
|
|
81
|
-
exports.
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
exports.IpamPool = IpamPool;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhbVBvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9uZXR3b3JraW5nL2lwYW1Qb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlEQUFvRTtBQUVwRSxNQUFhLFFBQVMsU0FBUSxxQkFBVztJQUN2QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxLQUFLLENBQUMsbUZBQW1GO1NBQzdGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQU5ELDRCQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IENmbklQQU1Qb29sLCBDZm5JUEFNUG9vbFByb3BzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcblxuZXhwb3J0IGNsYXNzIElwYW1Qb29sIGV4dGVuZHMgQ2ZuSVBBTVBvb2wge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2ZuSVBBTVBvb2xQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nkay9hcGkvdjIvZG9jcy9hd3MtY2RrLWxpYi5hd3NfZWMyLkNmbklQQU1Qb29sLmh0bWxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -9,7 +9,7 @@ const lambda_1 = require("../compute/lambda");
|
|
|
9
9
|
class CustomResource extends constructs_1.Construct {
|
|
10
10
|
constructor(scope, id, props) {
|
|
11
11
|
super(scope, id);
|
|
12
|
-
const lambdaFunction = new lambda_1.
|
|
12
|
+
const lambdaFunction = new lambda_1.singletonFunction(this, `${id}Lambda`, {
|
|
13
13
|
code: aws_lambda_1.Code.fromAsset(props.codePath, props.assetOptions),
|
|
14
14
|
handler: `${id}.handler`,
|
|
15
15
|
runtime: props.runtime,
|
|
@@ -29,4 +29,4 @@ class CustomResource extends constructs_1.Construct {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
exports.CustomResource = CustomResource;
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tUmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy91dGlsaXRpZXMvY3VzdG9tUmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVGO0FBQ3ZGLG1FQUF3RDtBQUV4RCx1REFBdUQ7QUFDdkQsMkNBQXVDO0FBRXZDLDhDQUFzRDtBQWdCdEQsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFHM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sY0FBYyxHQUFHLElBQUksMEJBQWlCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUU7WUFDOUQsSUFBSSxFQUFFLGlCQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQztZQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVU7WUFDeEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxHQUFHLEVBQUUsU0FBUztZQUM1RCxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUUseUJBQXlCO1lBQ3hFLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtTQUNqQyxDQUNGLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxJQUFJLDJCQUFRLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUU7WUFDakQsY0FBYyxFQUFFLGNBQWM7WUFDOUIsWUFBWSxFQUFFLHNCQUFRLENBQUMsYUFBYSxDQUFDLFFBQVE7U0FDaEQsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO1lBQ3ZELFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtZQUNuQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7U0FDL0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pELENBQUM7Q0FDRjtBQTVCRCx3Q0E0QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSBhcyBjdXN0b21SZXNvdXJjZSwgYXdzX2xvZ3MsIEFzc2V0T3B0aW9ucyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiO1xuaW1wb3J0IHsgUG9saWN5RG9jdW1lbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgQ29kZSwgUnVudGltZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5pbXBvcnQgeyBzaW5nbGV0b25GdW5jdGlvbiB9IGZyb20gXCIuLi9jb21wdXRlL2xhbWJkYVwiO1xuXG5cbmludGVyZmFjZSBDdXN0b21SZXNvdXJjZVByb3BzIHtcbiAgcnVudGltZTogUnVudGltZTtcbiAgcm9sZURlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBsYW1iZGFEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgaW5saW5lUG9saWN5OiB7XG4gICAgW25hbWU6IHN0cmluZ106IFBvbGljeURvY3VtZW50O1xuICB9O1xuICBwcm9wZXJ0aWVzPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZzsgLy8gVXNlZCB0byBiZSBgW2tleTogc3RyaW5nXTogYW55YCwgdGhpcyBjb3VsZCBicmVha1xuICB9O1xuICBjb2RlUGF0aDogc3RyaW5nO1xuICBhc3NldE9wdGlvbnM/OiBBc3NldE9wdGlvbnNcbn1cbmV4cG9ydCBjbGFzcyBDdXN0b21SZXNvdXJjZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSByZXNwb25zZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDdXN0b21SZXNvdXJjZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGxhbWJkYUZ1bmN0aW9uID0gbmV3IHNpbmdsZXRvbkZ1bmN0aW9uKHRoaXMsIGAke2lkfUxhbWJkYWAsIHtcbiAgICAgICAgY29kZTogQ29kZS5mcm9tQXNzZXQocHJvcHMuY29kZVBhdGgsIHByb3BzLmFzc2V0T3B0aW9ucyksXG4gICAgICAgIGhhbmRsZXI6IGAke2lkfS5oYW5kbGVyYCxcbiAgICAgICAgcnVudGltZTogcHJvcHMucnVudGltZSxcbiAgICAgICAgbGFtYmRhRGVzY3JpcHRpb246IHByb3BzLmxhbWJkYURlc2NyaXB0aW9uIHx8IGAke2lkfSBsYW1iZGFgLFxuICAgICAgICByb2xlRGVzY3JpcHRpb246IHByb3BzLnJvbGVEZXNjcmlwdGlvbiB8fCBgJHtpZH0gY3VzdG9tIHJlc291cmNlIGxhbWJkYWAsXG4gICAgICAgIGlubGluZVBvbGljeTogcHJvcHMuaW5saW5lUG9saWN5XG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IHByb3ZpZGVyID0gbmV3IFByb3ZpZGVyKHRoaXMsIGAke2lkfVByb3ZpZGVyYCwge1xuICAgICAgICBvbkV2ZW50SGFuZGxlcjogbGFtYmRhRnVuY3Rpb24sXG4gICAgICAgIGxvZ1JldGVudGlvbjogYXdzX2xvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfWUVBUlxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgY3VzdG9tUmVzb3VyY2UodGhpcywgYCR7aWR9UmVzb3VyY2VgLCB7XG4gICAgICAgIHNlcnZpY2VUb2tlbjogcHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgICBwcm9wZXJ0aWVzOiBwcm9wcy5wcm9wZXJ0aWVzXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlc3BvbnNlID0gcmVzb3VyY2UuZ2V0QXR0KFwiUmVzcG9uc2VcIikudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function getAccountId(environment: string): string;
|
|
1
|
+
export default function getAccountId(environment: string): null | string;
|
|
@@ -3,10 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const getConfig_1 = require("./getConfig");
|
|
4
4
|
function getAccountId(environment) {
|
|
5
5
|
const config = (0, getConfig_1.getEnviornmentConfig)(environment);
|
|
6
|
-
// TODO: need to fix how we handle this in the VPC module
|
|
7
6
|
if (!config || !config.account)
|
|
8
|
-
return
|
|
7
|
+
return null;
|
|
9
8
|
return config.account;
|
|
10
9
|
}
|
|
11
10
|
exports.default = getAccountId;
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QWNjb3VudElkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldEFjY291bnRJZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDJDQUFtRDtBQUVuRCxTQUF3QixZQUFZLENBQUMsV0FBbUI7SUFDdEQsTUFBTSxNQUFNLEdBQUcsSUFBQSxnQ0FBb0IsRUFBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87UUFBRSxPQUFPLElBQUksQ0FBQztJQUU1QyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQztBQUxELCtCQUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0RW52aW9ybm1lbnRDb25maWcgfSBmcm9tIFwiLi9nZXRDb25maWdcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0QWNjb3VudElkKGVudmlyb25tZW50OiBzdHJpbmcpOiBudWxsIHwgc3RyaW5nIHtcbiAgY29uc3QgY29uZmlnID0gZ2V0RW52aW9ybm1lbnRDb25maWcoZW52aXJvbm1lbnQpO1xuICBpZiAoIWNvbmZpZyB8fCAhY29uZmlnLmFjY291bnQpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiBjb25maWcuYWNjb3VudDtcbn1cbiJdfQ==
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
interface Config {
|
|
2
2
|
environment: string;
|
|
3
|
-
account
|
|
4
|
-
|
|
5
|
-
region: string;
|
|
3
|
+
account?: string;
|
|
4
|
+
region?: string;
|
|
6
5
|
}
|
|
7
6
|
export declare function getEnviornmentConfig(environment: string): Config;
|
|
8
7
|
export declare function getConfig(): Config;
|
|
@@ -6,20 +6,13 @@ const util_1 = require("@fjall/util");
|
|
|
6
6
|
function getEnviornmentConfig(environment) {
|
|
7
7
|
const config = util_1.Config.loadConfig();
|
|
8
8
|
const providerAccount = config.getProviderAccount(environment);
|
|
9
|
-
const region = process.env.AWS_REGION;
|
|
10
9
|
if (!providerAccount) {
|
|
11
|
-
console.
|
|
10
|
+
console.warn(`No provider account found for environment: ${environment}`);
|
|
12
11
|
throw new Error(`No provider account found for environment: ${environment}`);
|
|
13
12
|
}
|
|
14
|
-
if (!region) {
|
|
15
|
-
console.error("Variable AWS_REGION is not set in your environment, please specify");
|
|
16
|
-
throw new Error("Variable AWS_REGION is not set in your environment, please specify");
|
|
17
|
-
}
|
|
18
13
|
return {
|
|
19
14
|
environment: environment,
|
|
20
|
-
account: providerAccount.id
|
|
21
|
-
accountName: providerAccount.name,
|
|
22
|
-
region: region
|
|
15
|
+
account: providerAccount.id
|
|
23
16
|
};
|
|
24
17
|
}
|
|
25
18
|
exports.getEnviornmentConfig = getEnviornmentConfig;
|
|
@@ -29,22 +22,15 @@ function getConfig() {
|
|
|
29
22
|
const env = app.node.tryGetContext("environment");
|
|
30
23
|
const config = util_1.Config.loadConfig();
|
|
31
24
|
const providerAccount = config.getProviderAccount(env);
|
|
32
|
-
const region = process.env.AWS_REGION;
|
|
33
25
|
if (!providerAccount) {
|
|
34
|
-
console.warn(`No provider account found for environment: ${env}`);
|
|
35
|
-
throw new Error(`No provider account found for environment: ${env}`);
|
|
36
|
-
}
|
|
37
|
-
if (!region) {
|
|
38
|
-
console.error("Variable AWS_REGION is not set in your environment");
|
|
39
|
-
throw new Error("Variable AWS_REGION is not set in your environment");
|
|
26
|
+
console.warn(`No provider account found for environment: ${env}. Defaulting to no account`);
|
|
27
|
+
// throw new Error(`No provider account found for environment: ${env}`);
|
|
40
28
|
}
|
|
41
29
|
return {
|
|
42
30
|
environment: env,
|
|
43
|
-
account: providerAccount
|
|
44
|
-
accountName: providerAccount.name,
|
|
45
|
-
region: region
|
|
31
|
+
account: providerAccount?.id
|
|
46
32
|
};
|
|
47
33
|
}
|
|
48
34
|
exports.getConfig = getConfig;
|
|
49
35
|
exports.default = getConfig;
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnQ0FBeUI7QUFDekIsc0NBQW9EO0FBUXBELFNBQWdCLG9CQUFvQixDQUFDLFdBQW1CO0lBQ3RELE1BQU0sTUFBTSxHQUFHLGFBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN4QyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFL0QsSUFBSSxDQUFDLGVBQWUsRUFBRTtRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sSUFBSSxLQUFLLENBQ2IsOENBQThDLFdBQVcsRUFBRSxDQUM1RCxDQUFDO0tBQ0g7SUFFRCxPQUFPO1FBQ0wsV0FBVyxFQUFFLFdBQVc7UUFDeEIsT0FBTyxFQUFFLGVBQWUsQ0FBQyxFQUFFO0tBQzVCLENBQUM7QUFDSixDQUFDO0FBZkQsb0RBZUM7QUFFRCxTQUFnQixTQUFTO0lBQ3ZCLE1BQU0sR0FBRyxHQUFHLGFBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUU5QixrQ0FBa0M7SUFDbEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFbEQsTUFBTSxNQUFNLEdBQUcsYUFBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV2RCxJQUFJLENBQUMsZUFBZSxFQUFFO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsOENBQThDLEdBQUcsNEJBQTRCLENBQUMsQ0FBQztRQUM5RiwwRUFBMEU7S0FDekU7SUFFRCxPQUFPO1FBQ0wsV0FBVyxFQUFFLEdBQUc7UUFDaEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxFQUFFO0tBQzdCLENBQUM7QUFDSixDQUFDO0FBbEJELDhCQWtCQztBQUNELGtCQUFlLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBcHAgZnJvbSBcIi4uL2FwcFwiO1xuaW1wb3J0IHsgQ29uZmlnIGFzIEZqYWxsQ29uZmlnIH0gZnJvbSBcIkBmamFsbC91dGlsXCI7XG5cbmludGVyZmFjZSBDb25maWcge1xuICBlbnZpcm9ubWVudDogc3RyaW5nO1xuICBhY2NvdW50Pzogc3RyaW5nO1xuICByZWdpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnZpb3JubWVudENvbmZpZyhlbnZpcm9ubWVudDogc3RyaW5nKTogQ29uZmlnIHtcbiAgY29uc3QgY29uZmlnID0gRmphbGxDb25maWcubG9hZENvbmZpZygpO1xuICBjb25zdCBwcm92aWRlckFjY291bnQgPSBjb25maWcuZ2V0UHJvdmlkZXJBY2NvdW50KGVudmlyb25tZW50KTtcblxuICBpZiAoIXByb3ZpZGVyQWNjb3VudCkge1xuICAgIGNvbnNvbGUud2FybihgTm8gcHJvdmlkZXIgYWNjb3VudCBmb3VuZCBmb3IgZW52aXJvbm1lbnQ6ICR7ZW52aXJvbm1lbnR9YCk7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYE5vIHByb3ZpZGVyIGFjY291bnQgZm91bmQgZm9yIGVudmlyb25tZW50OiAke2Vudmlyb25tZW50fWBcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlbnZpcm9ubWVudDogZW52aXJvbm1lbnQsXG4gICAgYWNjb3VudDogcHJvdmlkZXJBY2NvdW50LmlkXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoKTogQ29uZmlnIHtcbiAgY29uc3QgYXBwID0gQXBwLmdldEluc3RhbmNlKCk7XG5cbiAgLy8gR2V0IGNkayBkZXBsb3kgLS1jb250ZXh0IGNvbmZpZ1xuICBjb25zdCBlbnYgPSBhcHAubm9kZS50cnlHZXRDb250ZXh0KFwiZW52aXJvbm1lbnRcIik7XG5cbiAgY29uc3QgY29uZmlnID0gRmphbGxDb25maWcubG9hZENvbmZpZygpO1xuICBjb25zdCBwcm92aWRlckFjY291bnQgPSBjb25maWcuZ2V0UHJvdmlkZXJBY2NvdW50KGVudik7XG5cbiAgaWYgKCFwcm92aWRlckFjY291bnQpIHtcbiAgICBjb25zb2xlLndhcm4oYE5vIHByb3ZpZGVyIGFjY291bnQgZm91bmQgZm9yIGVudmlyb25tZW50OiAke2Vudn0uIERlZmF1bHRpbmcgdG8gbm8gYWNjb3VudGApO1xuICAvLyAgIHRocm93IG5ldyBFcnJvcihgTm8gcHJvdmlkZXIgYWNjb3VudCBmb3VuZCBmb3IgZW52aXJvbm1lbnQ6ICR7ZW52fWApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlbnZpcm9ubWVudDogZW52LFxuICAgIGFjY291bnQ6IHByb3ZpZGVyQWNjb3VudD8uaWRcbiAgfTtcbn1cbmV4cG9ydCBkZWZhdWx0IGdldENvbmZpZztcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fjall/components-infrastructure",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"bin": {
|
|
5
5
|
"infrastructure": "bin/infrastructure.js"
|
|
6
6
|
},
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"@aws-sdk/client-cost-explorer": "^3.245.0",
|
|
57
|
-
"@fjall/util": "
|
|
57
|
+
"@fjall/util": "^0.1.10",
|
|
58
58
|
"@pepperize/cdk-organizations": "^0.7.135",
|
|
59
59
|
"aws-cdk": "^2.146.0",
|
|
60
60
|
"aws-cdk-lib": "^2.146.0",
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AccountId = void 0;
|
|
4
|
-
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
-
const customResources = require("aws-cdk-lib/custom-resources");
|
|
6
|
-
const constructs_1 = require("constructs");
|
|
7
|
-
const awsCustomResource_1 = require("../../resources/aws/utilities/awsCustomResource");
|
|
8
|
-
class AccountId extends constructs_1.Construct {
|
|
9
|
-
constructor(scope, id) {
|
|
10
|
-
super(scope, id);
|
|
11
|
-
const sts = new awsCustomResource_1.AwsCustomResource(this, "getAccountId", {
|
|
12
|
-
functionName: "getAccountId",
|
|
13
|
-
onCreate: {
|
|
14
|
-
service: "sts",
|
|
15
|
-
action: "GetCallerIdentityCommand",
|
|
16
|
-
physicalResourceId: customResources.PhysicalResourceId.of("getAccountId")
|
|
17
|
-
},
|
|
18
|
-
onUpdate: {
|
|
19
|
-
service: "sts",
|
|
20
|
-
action: "GetCallerIdentityCommand",
|
|
21
|
-
physicalResourceId: customResources.PhysicalResourceId.of("getAccountId")
|
|
22
|
-
},
|
|
23
|
-
resourceType: "Custom::getAccountId"
|
|
24
|
-
});
|
|
25
|
-
this.accountId = new aws_cdk_lib_1.CfnOutput(this, "AccountId", {
|
|
26
|
-
key: "AccountId",
|
|
27
|
-
value: sts.getResponseField("Account"),
|
|
28
|
-
exportName: "AccountId"
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.AccountId = AccountId;
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudElkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2NvbmZpZy9hd3MvYWNjb3VudElkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF3QztBQUN4QyxnRUFBZ0U7QUFDaEUsMkNBQXVDO0FBRXZDLHVGQUFvRjtBQUVwRixNQUFhLFNBQVUsU0FBUSxzQkFBUztJQUd0QyxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sR0FBRyxHQUFHLElBQUkscUNBQWlCLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN0RCxZQUFZLEVBQUUsY0FBYztZQUM1QixRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsTUFBTSxFQUFFLDBCQUEwQjtnQkFDbEMsa0JBQWtCLEVBQ2hCLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDO2FBQ3hEO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE1BQU0sRUFBRSwwQkFBMEI7Z0JBQ2xDLGtCQUFrQixFQUNoQixlQUFlLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQzthQUN4RDtZQUNELFlBQVksRUFBRSxzQkFBc0I7U0FDckMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUNoRCxHQUFHLEVBQUUsV0FBVztZQUNoQixLQUFLLEVBQUUsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztZQUN0QyxVQUFVLEVBQUUsV0FBVztTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUE3QkQsOEJBNkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgKiBhcyBjdXN0b21SZXNvdXJjZXMgZnJvbSBcImF3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmltcG9ydCB7IEF3c0N1c3RvbVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9hd3MvdXRpbGl0aWVzL2F3c0N1c3RvbVJlc291cmNlXCI7XG5cbmV4cG9ydCBjbGFzcyBBY2NvdW50SWQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgYWNjb3VudElkOiBDZm5PdXRwdXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBzdHMgPSBuZXcgQXdzQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJnZXRBY2NvdW50SWRcIiwge1xuICAgICAgZnVuY3Rpb25OYW1lOiBcImdldEFjY291bnRJZFwiLFxuICAgICAgb25DcmVhdGU6IHtcbiAgICAgICAgc2VydmljZTogXCJzdHNcIixcbiAgICAgICAgYWN0aW9uOiBcIkdldENhbGxlcklkZW50aXR5Q29tbWFuZFwiLCAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTSmF2YVNjcmlwdFNESy92My9sYXRlc3QvY2xpZW50L3N0cy9jb21tYW5kL0dldENhbGxlcklkZW50aXR5Q29tbWFuZC9cbiAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOlxuICAgICAgICAgIGN1c3RvbVJlc291cmNlcy5QaHlzaWNhbFJlc291cmNlSWQub2YoXCJnZXRBY2NvdW50SWRcIilcbiAgICAgIH0sXG4gICAgICBvblVwZGF0ZToge1xuICAgICAgICBzZXJ2aWNlOiBcInN0c1wiLFxuICAgICAgICBhY3Rpb246IFwiR2V0Q2FsbGVySWRlbnRpdHlDb21tYW5kXCIsIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NKYXZhU2NyaXB0U0RLL3YzL2xhdGVzdC9jbGllbnQvc3RzL2NvbW1hbmQvR2V0Q2FsbGVySWRlbnRpdHlDb21tYW5kL1xuICAgICAgICBwaHlzaWNhbFJlc291cmNlSWQ6XG4gICAgICAgICAgY3VzdG9tUmVzb3VyY2VzLlBoeXNpY2FsUmVzb3VyY2VJZC5vZihcImdldEFjY291bnRJZFwiKVxuICAgICAgfSxcbiAgICAgIHJlc291cmNlVHlwZTogXCJDdXN0b206OmdldEFjY291bnRJZFwiXG4gICAgfSk7XG5cbiAgICB0aGlzLmFjY291bnRJZCA9IG5ldyBDZm5PdXRwdXQodGhpcywgXCJBY2NvdW50SWRcIiwge1xuICAgICAga2V5OiBcIkFjY291bnRJZFwiLFxuICAgICAgdmFsdWU6IHN0cy5nZXRSZXNwb25zZUZpZWxkKFwiQWNjb3VudFwiKSxcbiAgICAgIGV4cG9ydE5hbWU6IFwiQWNjb3VudElkXCJcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { CfnOutput } from "aws-cdk-lib";
|
|
2
|
-
import { Construct } from "constructs";
|
|
3
|
-
export interface ManagementEventsTrailProps {
|
|
4
|
-
accountId: string;
|
|
5
|
-
}
|
|
6
|
-
export declare class ManagementEventsTrail extends Construct {
|
|
7
|
-
readonly defaultEventBusName: CfnOutput;
|
|
8
|
-
readonly defaultEventBusArn: CfnOutput;
|
|
9
|
-
constructor(scope: Construct, id: string, props: ManagementEventsTrailProps);
|
|
10
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ManagementEventsTrail = void 0;
|
|
4
|
-
const constructs_1 = require("constructs");
|
|
5
|
-
const cloudTrail_1 = require("../../resources/aws/logging/cloudTrail");
|
|
6
|
-
class ManagementEventsTrail extends constructs_1.Construct {
|
|
7
|
-
constructor(scope, id, props) {
|
|
8
|
-
super(scope, id);
|
|
9
|
-
new cloudTrail_1.Trail(this, "managementEventsTrail", {
|
|
10
|
-
bucketName: `cloudtrail-management-events-${props.accountId}`,
|
|
11
|
-
trailName: "managementEvents",
|
|
12
|
-
isMultiRegionTrail: true,
|
|
13
|
-
tags: {
|
|
14
|
-
"fjall:costAllocation:environment": "management",
|
|
15
|
-
"fjall:costAllocation:service": "managementEventsTrail",
|
|
16
|
-
"fjall:costAllocation:owner": "Fjall"
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.ManagementEventsTrail = ManagementEventsTrail;
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRUcmFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9jb25maWcvYXdzL2Nsb3VkVHJhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQXVDO0FBQ3ZDLHVFQUErRDtBQU0vRCxNQUFhLHFCQUFzQixTQUFRLHNCQUFTO0lBSWxELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUM7UUFDekUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLGtCQUFLLENBQUMsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQ3ZDLFVBQVUsRUFBRSxnQ0FBZ0MsS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUM3RCxTQUFTLEVBQUUsa0JBQWtCO1lBQzdCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsSUFBSSxFQUFFO2dCQUNKLGtDQUFrQyxFQUFFLFlBQVk7Z0JBQ2hELDhCQUE4QixFQUFFLHVCQUF1QjtnQkFDdkQsNEJBQTRCLEVBQUUsT0FBTzthQUN0QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWxCRCxzREFrQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUcmFpbCB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL2xvZ2dpbmcvY2xvdWRUcmFpbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hbmFnZW1lbnRFdmVudHNUcmFpbFByb3BzIHtcbiAgYWNjb3VudElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBNYW5hZ2VtZW50RXZlbnRzVHJhaWwgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdEV2ZW50QnVzTmFtZTogQ2ZuT3V0cHV0O1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdEV2ZW50QnVzQXJuOiBDZm5PdXRwdXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE1hbmFnZW1lbnRFdmVudHNUcmFpbFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIG5ldyBUcmFpbCh0aGlzLCBcIm1hbmFnZW1lbnRFdmVudHNUcmFpbFwiLCB7XG4gICAgICBidWNrZXROYW1lOiBgY2xvdWR0cmFpbC1tYW5hZ2VtZW50LWV2ZW50cy0ke3Byb3BzLmFjY291bnRJZH1gLFxuICAgICAgdHJhaWxOYW1lOiBcIm1hbmFnZW1lbnRFdmVudHNcIixcbiAgICAgIGlzTXVsdGlSZWdpb25UcmFpbDogdHJ1ZSxcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudFwiOiBcIm1hbmFnZW1lbnRcIixcbiAgICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjpzZXJ2aWNlXCI6IFwibWFuYWdlbWVudEV2ZW50c1RyYWlsXCIsXG4gICAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246b3duZXJcIjogXCJGamFsbFwiXG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Construct } from "constructs";
|
|
2
|
-
import { StackProps } from "aws-cdk-lib";
|
|
3
|
-
interface EcrDefaultImageProps extends StackProps {
|
|
4
|
-
region: string;
|
|
5
|
-
accountId: string;
|
|
6
|
-
eventBusArn: string;
|
|
7
|
-
}
|
|
8
|
-
export declare class EcrDefaultImage extends Construct {
|
|
9
|
-
constructor(scope: Construct, id: string, props: EcrDefaultImageProps);
|
|
10
|
-
}
|
|
11
|
-
export {};
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EcrDefaultImage = void 0;
|
|
4
|
-
const constructs_1 = require("constructs");
|
|
5
|
-
const codeBuild_1 = require("../../resources/aws/utilities/codeBuild");
|
|
6
|
-
const aws_codebuild_1 = require("aws-cdk-lib/aws-codebuild");
|
|
7
|
-
const logGroup_1 = require("../../resources/aws/logging/logGroup");
|
|
8
|
-
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
9
|
-
const role_1 = require("../../resources/aws/iam/role");
|
|
10
|
-
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
11
|
-
const aws_events_1 = require("aws-cdk-lib/aws-events");
|
|
12
|
-
const Targets = require("aws-cdk-lib/aws-events-targets");
|
|
13
|
-
const aws_stepfunctions_tasks_1 = require("aws-cdk-lib/aws-stepfunctions-tasks");
|
|
14
|
-
const aws_stepfunctions_1 = require("aws-cdk-lib/aws-stepfunctions");
|
|
15
|
-
class EcrDefaultImage extends constructs_1.Construct {
|
|
16
|
-
constructor(scope, id, props) {
|
|
17
|
-
super(scope, id);
|
|
18
|
-
const logGroup = new logGroup_1.LogGroup(this, `logGroup`, {
|
|
19
|
-
logGroupName: `/vpc/codebuild/${id}/`,
|
|
20
|
-
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY
|
|
21
|
-
});
|
|
22
|
-
const ecrDefaultImageRole = new role_1.Role(this, "ecrDefaultImageRole", {
|
|
23
|
-
roleName: `ecrDefaultImageRole`,
|
|
24
|
-
description: "Role to push default ECR images into new repositories",
|
|
25
|
-
assumedBy: new aws_iam_1.ServicePrincipal("codebuild.amazonaws.com"),
|
|
26
|
-
inlinePolicies: {
|
|
27
|
-
["pushEcrImage"]: new aws_iam_1.PolicyDocument({
|
|
28
|
-
statements: [
|
|
29
|
-
new aws_iam_1.PolicyStatement({
|
|
30
|
-
actions: [
|
|
31
|
-
"ecr:CompleteLayerUpload",
|
|
32
|
-
"ecr:GetAuthorizationToken",
|
|
33
|
-
"ecr:UploadLayerPart",
|
|
34
|
-
"ecr:InitiateLayerUpload",
|
|
35
|
-
"ecr:BatchCheckLayerAvailability",
|
|
36
|
-
"ecr:PutImage"
|
|
37
|
-
],
|
|
38
|
-
resources: ["*"]
|
|
39
|
-
})
|
|
40
|
-
]
|
|
41
|
-
}),
|
|
42
|
-
["writeLogs"]: new aws_iam_1.PolicyDocument({
|
|
43
|
-
statements: [
|
|
44
|
-
new aws_iam_1.PolicyStatement({
|
|
45
|
-
actions: [
|
|
46
|
-
"logs:CreateLogGroup",
|
|
47
|
-
"logs:CreateLogStream",
|
|
48
|
-
"logs:PutLogEvents"
|
|
49
|
-
],
|
|
50
|
-
resources: [logGroup.logGroupArn]
|
|
51
|
-
})
|
|
52
|
-
]
|
|
53
|
-
})
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
const codeBuildProject = new codeBuild_1.CodeBuildProject(this, "codeBuildProject", {
|
|
57
|
-
description: "Build and push the default ECR image to new repositories",
|
|
58
|
-
projectName: "ecrDefaultImage",
|
|
59
|
-
buildSpec: aws_codebuild_1.BuildSpec.fromObject({
|
|
60
|
-
version: 0.2,
|
|
61
|
-
phases: {
|
|
62
|
-
build: {
|
|
63
|
-
commands: [
|
|
64
|
-
"docker pull fjall/ecrdefaultimage:latest",
|
|
65
|
-
"docker tag fjall/ecrdefaultimage:latest $ECR_REPOSITORY:latest",
|
|
66
|
-
`aws ecr get-login-password --region ${props.region} | docker login --username AWS --password-stdin ${props.accountId}.dkr.ecr.${props.region}.amazonaws.com`,
|
|
67
|
-
"docker push $ECR_REPOSITORY:latest"
|
|
68
|
-
]
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}),
|
|
72
|
-
logging: {
|
|
73
|
-
cloudWatch: {
|
|
74
|
-
logGroup: logGroup
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
role: ecrDefaultImageRole,
|
|
78
|
-
tags: {
|
|
79
|
-
"fjall:costAllocation:environment": "management",
|
|
80
|
-
"fjall:costAllocation:service": "ecrDefaultImage",
|
|
81
|
-
"fjall:costAllocation:owner": "Fjall"
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
new aws_stepfunctions_tasks_1.CodeBuildStartBuild(this, "codeBuildTask", {
|
|
85
|
-
project: codeBuildProject.project,
|
|
86
|
-
inputPath: aws_stepfunctions_1.JsonPath.stringAt("$.source"),
|
|
87
|
-
environmentVariablesOverride: {
|
|
88
|
-
ECR_REPOSITORY: {
|
|
89
|
-
type: aws_codebuild_1.BuildEnvironmentVariableType.PLAINTEXT,
|
|
90
|
-
value: aws_stepfunctions_1.JsonPath.stringAt("$.source")
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
const eventInputMapping = {
|
|
95
|
-
repositoryUri: aws_events_1.EventField.fromPath("$.detail.responseElements.repository.repositoryUri")
|
|
96
|
-
};
|
|
97
|
-
const eventInputTemplate = {
|
|
98
|
-
environmentVariablesOverride: [
|
|
99
|
-
{
|
|
100
|
-
name: "ECR_REPOSITORY",
|
|
101
|
-
value: eventInputMapping.repositoryUri
|
|
102
|
-
}
|
|
103
|
-
]
|
|
104
|
-
};
|
|
105
|
-
new aws_events_1.Rule(this, "ecrCreationRule", {
|
|
106
|
-
ruleName: "ecrCreationRule",
|
|
107
|
-
description: "Trigger the default ECR image build when a new repository is created",
|
|
108
|
-
enabled: true,
|
|
109
|
-
eventBus: aws_events_1.EventBus.fromEventBusArn(this, "defaultEventBus", props.eventBusArn),
|
|
110
|
-
eventPattern: {
|
|
111
|
-
source: ["aws.ecr"],
|
|
112
|
-
detailType: ["AWS API Call via CloudTrail"],
|
|
113
|
-
detail: {
|
|
114
|
-
eventSource: ["ecr.amazonaws.com"],
|
|
115
|
-
eventName: ["CreateRepository"]
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
|
-
targets: [
|
|
119
|
-
new Targets.CodeBuildProject(codeBuildProject.project, {
|
|
120
|
-
event: aws_events_1.RuleTargetInput.fromObject(eventInputTemplate)
|
|
121
|
-
})
|
|
122
|
-
]
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
exports.EcrDefaultImage = EcrDefaultImage;
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNyRGVmYXVsdEltYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2NvbmZpZy9hd3MvZWNyRGVmYXVsdEltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF1QztBQUN2Qyx1RUFBMkU7QUFDM0UsNkRBR21DO0FBQ25DLG1FQUFnRTtBQUNoRSw2Q0FBd0Q7QUFDeEQsdURBQW9EO0FBQ3BELGlEQUk2QjtBQUM3Qix1REFLZ0M7QUFDaEMsMERBQTBEO0FBQzFELGlGQUEwRTtBQUMxRSxxRUFBeUQ7QUFRekQsTUFBYSxlQUFnQixTQUFRLHNCQUFTO0lBQzVDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkI7UUFDbkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFFBQVEsR0FBRyxJQUFJLG1CQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUM5QyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsR0FBRztZQUNyQyxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO1NBQ3JDLENBQUMsQ0FBQztRQUVILE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxXQUFJLENBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUFFO1lBQ2hFLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsV0FBVyxFQUFFLHVEQUF1RDtZQUNwRSxTQUFTLEVBQUUsSUFBSSwwQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQztZQUMxRCxjQUFjLEVBQUU7Z0JBQ2QsQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJLHdCQUFjLENBQUM7b0JBQ25DLFVBQVUsRUFBRTt3QkFDVixJQUFJLHlCQUFlLENBQUM7NEJBQ2xCLE9BQU8sRUFBRTtnQ0FDUCx5QkFBeUI7Z0NBQ3pCLDJCQUEyQjtnQ0FDM0IscUJBQXFCO2dDQUNyQix5QkFBeUI7Z0NBQ3pCLGlDQUFpQztnQ0FDakMsY0FBYzs2QkFDZjs0QkFDRCxTQUFTLEVBQUUsQ0FB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dEQsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBNUhELDBDQTRIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBDb2RlQnVpbGRQcm9qZWN0IH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9hd3MvdXRpbGl0aWVzL2NvZGVCdWlsZFwiO1xuaW1wb3J0IHtcbiAgQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlVHlwZSxcbiAgQnVpbGRTcGVjXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkXCI7XG5pbXBvcnQgeyBMb2dHcm91cCB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL2xvZ2dpbmcvbG9nR3JvdXBcIjtcbmltcG9ydCB7IFJlbW92YWxQb2xpY3ksIFN0YWNrUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IFJvbGUgfSBmcm9tIFwiLi4vLi4vcmVzb3VyY2VzL2F3cy9pYW0vcm9sZVwiO1xuaW1wb3J0IHtcbiAgUG9saWN5RG9jdW1lbnQsXG4gIFBvbGljeVN0YXRlbWVudCxcbiAgU2VydmljZVByaW5jaXBhbFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHtcbiAgRXZlbnRCdXMsXG4gIEV2ZW50RmllbGQsXG4gIFJ1bGUsXG4gIFJ1bGVUYXJnZXRJbnB1dFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50c1wiO1xuaW1wb3J0ICogYXMgVGFyZ2V0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzXCI7XG5pbXBvcnQgeyBDb2RlQnVpbGRTdGFydEJ1aWxkIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zLXRhc2tzXCI7XG5pbXBvcnQgeyBKc29uUGF0aCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9uc1wiO1xuXG5pbnRlcmZhY2UgRWNyRGVmYXVsdEltYWdlUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgcmVnaW9uOiBzdHJpbmc7XG4gIGFjY291bnRJZDogc3RyaW5nO1xuICBldmVudEJ1c0Fybjogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgRWNyRGVmYXVsdEltYWdlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVjckRlZmF1bHRJbWFnZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGxvZ0dyb3VwID0gbmV3IExvZ0dyb3VwKHRoaXMsIGBsb2dHcm91cGAsIHtcbiAgICAgIGxvZ0dyb3VwTmFtZTogYC92cGMvY29kZWJ1aWxkLyR7aWR9L2AsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1lcbiAgICB9KTtcblxuICAgIGNvbnN0IGVjckRlZmF1bHRJbWFnZVJvbGUgPSBuZXcgUm9sZSh0aGlzLCBcImVjckRlZmF1bHRJbWFnZVJvbGVcIiwge1xuICAgICAgcm9sZU5hbWU6IGBlY3JEZWZhdWx0SW1hZ2VSb2xlYCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlJvbGUgdG8gcHVzaCBkZWZhdWx0IEVDUiBpbWFnZXMgaW50byBuZXcgcmVwb3NpdG9yaWVzXCIsXG4gICAgICBhc3N1bWVkQnk6IG5ldyBTZXJ2aWNlUHJpbmNpcGFsKFwiY29kZWJ1aWxkLmFtYXpvbmF3cy5jb21cIiksXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBbXCJwdXNoRWNySW1hZ2VcIl06IG5ldyBQb2xpY3lEb2N1bWVudCh7XG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICBcImVjcjpDb21wbGV0ZUxheWVyVXBsb2FkXCIsXG4gICAgICAgICAgICAgICAgXCJlY3I6R2V0QXV0aG9yaXphdGlvblRva2VuXCIsXG4gICAgICAgICAgICAgICAgXCJlY3I6VXBsb2FkTGF5ZXJQYXJ0XCIsXG4gICAgICAgICAgICAgICAgXCJlY3I6SW5pdGlhdGVMYXllclVwbG9hZFwiLFxuICAgICAgICAgICAgICAgIFwiZWNyOkJhdGNoQ2hlY2tMYXllckF2YWlsYWJpbGl0eVwiLFxuICAgICAgICAgICAgICAgIFwiZWNyOlB1dEltYWdlXCJcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF1cbiAgICAgICAgfSksXG4gICAgICAgIFtcIndyaXRlTG9nc1wiXTogbmV3IFBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgIFwibG9nczpDcmVhdGVMb2dHcm91cFwiLFxuICAgICAgICAgICAgICAgIFwibG9nczpDcmVhdGVMb2dTdHJlYW1cIixcbiAgICAgICAgICAgICAgICBcImxvZ3M6UHV0TG9nRXZlbnRzXCJcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbbG9nR3JvdXAubG9nR3JvdXBBcm5dXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGNvZGVCdWlsZFByb2plY3QgPSBuZXcgQ29kZUJ1aWxkUHJvamVjdCh0aGlzLCBcImNvZGVCdWlsZFByb2plY3RcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiQnVpbGQgYW5kIHB1c2ggdGhlIGRlZmF1bHQgRUNSIGltYWdlIHRvIG5ldyByZXBvc2l0b3JpZXNcIixcbiAgICAgIHByb2plY3ROYW1lOiBcImVjckRlZmF1bHRJbWFnZVwiLFxuICAgICAgYnVpbGRTcGVjOiBCdWlsZFNwZWMuZnJvbU9iamVjdCh7XG4gICAgICAgIHZlcnNpb246IDAuMixcbiAgICAgICAgcGhhc2VzOiB7XG4gICAgICAgICAgYnVpbGQ6IHtcbiAgICAgICAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICAgICAgIFwiZG9ja2VyIHB1bGwgZmphbGwvZWNyZGVmYXVsdGltYWdlOmxhdGVzdFwiLFxuICAgICAgICAgICAgICBcImRvY2tlciB0YWcgZmphbGwvZWNyZGVmYXVsdGltYWdlOmxhdGVzdCAkRUNSX1JFUE9TSVRPUlk6bGF0ZXN0XCIsXG4gICAgICAgICAgICAgIGBhd3MgZWNyIGdldC1sb2dpbi1wYXNzd29yZCAtLXJlZ2lvbiAke3Byb3BzLnJlZ2lvbn0gfCBkb2NrZXIgbG9naW4gLS11c2VybmFtZSBBV1MgLS1wYXNzd29yZC1zdGRpbiAke3Byb3BzLmFjY291bnRJZH0uZGtyLmVjci4ke3Byb3BzLnJlZ2lvbn0uYW1hem9uYXdzLmNvbWAsXG4gICAgICAgICAgICAgIFwiZG9ja2VyIHB1c2ggJEVDUl9SRVBPU0lUT1JZOmxhdGVzdFwiXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIGxvZ2dpbmc6IHtcbiAgICAgICAgY2xvdWRXYXRjaDoge1xuICAgICAgICAgIGxvZ0dyb3VwOiBsb2dHcm91cFxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcm9sZTogZWNyRGVmYXVsdEltYWdlUm9sZSxcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudFwiOiBcIm1hbmFnZW1lbnRcIixcbiAgICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjpzZXJ2aWNlXCI6IFwiZWNyRGVmYXVsdEltYWdlXCIsXG4gICAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246b3duZXJcIjogXCJGamFsbFwiXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBuZXcgQ29kZUJ1aWxkU3RhcnRCdWlsZCh0aGlzLCBcImNvZGVCdWlsZFRhc2tcIiwge1xuICAgICAgcHJvamVjdDogY29kZUJ1aWxkUHJvamVjdC5wcm9qZWN0LFxuICAgICAgaW5wdXRQYXRoOiBKc29uUGF0aC5zdHJpbmdBdChcIiQuc291cmNlXCIpLFxuICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZXNPdmVycmlkZToge1xuICAgICAgICBFQ1JfUkVQT1NJVE9SWToge1xuICAgICAgICAgIHR5cGU6IEJ1aWxkRW52aXJvbm1lbnRWYXJpYWJsZVR5cGUuUExBSU5URVhULFxuICAgICAgICAgIHZhbHVlOiBKc29uUGF0aC5zdHJpbmdBdChcIiQuc291cmNlXCIpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGV2ZW50SW5wdXRNYXBwaW5nID0ge1xuICAgICAgcmVwb3NpdG9yeVVyaTogRXZlbnRGaWVsZC5mcm9tUGF0aChcbiAgICAgICAgXCIkLmRldGFpbC5yZXNwb25zZUVsZW1lbnRzLnJlcG9zaXRvcnkucmVwb3NpdG9yeVVyaVwiXG4gICAgICApXG4gICAgfTtcblxuICAgIGNvbnN0IGV2ZW50SW5wdXRUZW1wbGF0ZSA9IHtcbiAgICAgIGVudmlyb25tZW50VmFyaWFibGVzT3ZlcnJpZGU6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiRUNSX1JFUE9TSVRPUllcIixcbiAgICAgICAgICB2YWx1ZTogZXZlbnRJbnB1dE1hcHBpbmcucmVwb3NpdG9yeVVyaVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcblxuICAgIG5ldyBSdWxlKHRoaXMsIFwiZWNyQ3JlYXRpb25SdWxlXCIsIHtcbiAgICAgIHJ1bGVOYW1lOiBcImVjckNyZWF0aW9uUnVsZVwiLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiVHJpZ2dlciB0aGUgZGVmYXVsdCBFQ1IgaW1hZ2UgYnVpbGQgd2hlbiBhIG5ldyByZXBvc2l0b3J5IGlzIGNyZWF0ZWRcIixcbiAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICBldmVudEJ1czogRXZlbnRCdXMuZnJvbUV2ZW50QnVzQXJuKFxuICAgICAgICB0aGlzLFxuICAgICAgICBcImRlZmF1bHRFdmVudEJ1c1wiLFxuICAgICAgICBwcm9wcy5ldmVudEJ1c0FyblxuICAgICAgKSxcbiAgICAgIGV2ZW50UGF0dGVybjoge1xuICAgICAgICBzb3VyY2U6IFtcImF3cy5lY3JcIl0sXG4gICAgICAgIGRldGFpbFR5cGU6IFtcIkFXUyBBUEkgQ2FsbCB2aWEgQ2xvdWRUcmFpbFwiXSxcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgZXZlbnRTb3VyY2U6IFtcImVjci5hbWF6b25hd3MuY29tXCJdLFxuICAgICAgICAgIGV2ZW50TmFtZTogW1wiQ3JlYXRlUmVwb3NpdG9yeVwiXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdGFyZ2V0czogW1xuICAgICAgICBuZXcgVGFyZ2V0cy5Db2RlQnVpbGRQcm9qZWN0KGNvZGVCdWlsZFByb2plY3QucHJvamVjdCwge1xuICAgICAgICAgIGV2ZW50OiBSdWxlVGFyZ2V0SW5wdXQuZnJvbU9iamVjdChldmVudElucHV0VGVtcGxhdGUpXG4gICAgICAgIH0pXG4gICAgICBdXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { CfnOutput } from "aws-cdk-lib";
|
|
2
|
-
import { Construct } from "constructs";
|
|
3
|
-
export declare class DefaultEventBus extends Construct {
|
|
4
|
-
readonly defaultEventBusName: CfnOutput;
|
|
5
|
-
readonly defaultEventBusArn: CfnOutput;
|
|
6
|
-
constructor(scope: Construct, id: string);
|
|
7
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DefaultEventBus = void 0;
|
|
4
|
-
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
-
const Events = require("aws-cdk-lib/aws-events");
|
|
6
|
-
const constructs_1 = require("constructs");
|
|
7
|
-
class DefaultEventBus extends constructs_1.Construct {
|
|
8
|
-
constructor(scope, id) {
|
|
9
|
-
super(scope, id);
|
|
10
|
-
const eventBridge = Events.EventBus.fromEventBusName(this, "defaultEventBus", "default");
|
|
11
|
-
this.defaultEventBusName = new aws_cdk_lib_1.CfnOutput(this, "defaultEventBusName", {
|
|
12
|
-
key: `defaultEventBusName`,
|
|
13
|
-
value: eventBridge.eventBusName,
|
|
14
|
-
exportName: "defaultEventBusName"
|
|
15
|
-
});
|
|
16
|
-
this.defaultEventBusArn = new aws_cdk_lib_1.CfnOutput(this, "defaultEventBusArn", {
|
|
17
|
-
key: `defaultEventBusArn`,
|
|
18
|
-
value: eventBridge.eventBusArn,
|
|
19
|
-
exportName: "defaultEventBusArn"
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.DefaultEventBus = DefaultEventBus;
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRCdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvY29uZmlnL2F3cy9ldmVudEJ1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBd0M7QUFDeEMsaURBQWlEO0FBQ2pELDJDQUF1QztBQUV2QyxNQUFhLGVBQWdCLFNBQVEsc0JBQVM7SUFJNUMsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUNsRCxJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCLFNBQVMsQ0FDVixDQUFDO1FBRUYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDcEUsR0FBRyxFQUFFLHFCQUFxQjtZQUMxQixLQUFLLEVBQUUsV0FBVyxDQUFDLFlBQVk7WUFDL0IsVUFBVSxFQUFFLHFCQUFxQjtTQUNsQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUNsRSxHQUFHLEVBQUUsb0JBQW9CO1lBQ3pCLEtBQUssRUFBRSxXQUFXLENBQUMsV0FBVztZQUM5QixVQUFVLEVBQUUsb0JBQW9CO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXpCRCwwQ0F5QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIEV2ZW50cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGNsYXNzIERlZmF1bHRFdmVudEJ1cyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0RXZlbnRCdXNOYW1lOiBDZm5PdXRwdXQ7XG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0RXZlbnRCdXNBcm46IENmbk91dHB1dDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGV2ZW50QnJpZGdlID0gRXZlbnRzLkV2ZW50QnVzLmZyb21FdmVudEJ1c05hbWUoXG4gICAgICB0aGlzLFxuICAgICAgXCJkZWZhdWx0RXZlbnRCdXNcIixcbiAgICAgIFwiZGVmYXVsdFwiXG4gICAgKTtcblxuICAgIHRoaXMuZGVmYXVsdEV2ZW50QnVzTmFtZSA9IG5ldyBDZm5PdXRwdXQodGhpcywgXCJkZWZhdWx0RXZlbnRCdXNOYW1lXCIsIHtcbiAgICAgIGtleTogYGRlZmF1bHRFdmVudEJ1c05hbWVgLFxuICAgICAgdmFsdWU6IGV2ZW50QnJpZGdlLmV2ZW50QnVzTmFtZSxcbiAgICAgIGV4cG9ydE5hbWU6IFwiZGVmYXVsdEV2ZW50QnVzTmFtZVwiXG4gICAgfSk7XG5cbiAgICB0aGlzLmRlZmF1bHRFdmVudEJ1c0FybiA9IG5ldyBDZm5PdXRwdXQodGhpcywgXCJkZWZhdWx0RXZlbnRCdXNBcm5cIiwge1xuICAgICAga2V5OiBgZGVmYXVsdEV2ZW50QnVzQXJuYCxcbiAgICAgIHZhbHVlOiBldmVudEJyaWRnZS5ldmVudEJ1c0FybixcbiAgICAgIGV4cG9ydE5hbWU6IFwiZGVmYXVsdEV2ZW50QnVzQXJuXCJcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Construct } from "constructs";
|
|
2
|
-
import { Group } from "../../resources/aws/iam/identityCenter/group";
|
|
3
|
-
export interface User {
|
|
4
|
-
email: string;
|
|
5
|
-
firstName: string;
|
|
6
|
-
lastName: string;
|
|
7
|
-
groups: string[];
|
|
8
|
-
}
|
|
9
|
-
interface IdentityCenterUserProps {
|
|
10
|
-
identityStoreId: string;
|
|
11
|
-
identityCenterGroups: Group[];
|
|
12
|
-
}
|
|
13
|
-
export declare class IdentityCenterUser extends Construct {
|
|
14
|
-
constructor(scope: Construct, id: string, props: IdentityCenterUserProps);
|
|
15
|
-
}
|
|
16
|
-
export {};
|