@papiro/cdk 0.0.2 → 0.0.4

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.
@@ -0,0 +1,15 @@
1
+ import { StackProps } from "aws-cdk-lib";
2
+ import { Construct } from "constructs";
3
+ import { Instance, SecurityGroup } from "aws-cdk-lib/aws-ec2";
4
+ import { PolicyDocument } from "aws-cdk-lib/aws-iam";
5
+ export interface AIOServerProps extends StackProps {
6
+ keyPairName: string;
7
+ userData?: string[];
8
+ instanceType?: string;
9
+ inlinePolicies?: Record<string, PolicyDocument>;
10
+ }
11
+ export declare class AIOServer extends Construct {
12
+ readonly instance: Instance;
13
+ readonly securityGroup: SecurityGroup;
14
+ constructor(scope: Construct, id: string, { keyPairName, userData, instanceType, inlinePolicies, }: AIOServerProps);
15
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AIOServer = void 0;
4
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
5
+ const constructs_1 = require("constructs");
6
+ const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
7
+ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
8
+ class AIOServer extends constructs_1.Construct {
9
+ instance;
10
+ securityGroup;
11
+ constructor(scope, id, { keyPairName, userData = [], instanceType = "t4g.small", inlinePolicies, }) {
12
+ super(scope, id);
13
+ const vpc = new aws_ec2_1.Vpc(this, "Vpc", {
14
+ maxAzs: 1,
15
+ subnetConfiguration: [
16
+ {
17
+ name: "PublicSubnet",
18
+ subnetType: aws_ec2_1.SubnetType.PUBLIC,
19
+ },
20
+ ],
21
+ });
22
+ const securityGroup = new aws_ec2_1.SecurityGroup(this, "SecurityGroup", {
23
+ vpc,
24
+ description: "AIOServer security group",
25
+ allowAllOutbound: true,
26
+ });
27
+ securityGroup.addIngressRule(aws_ec2_1.Peer.anyIpv4(), aws_ec2_1.Port.tcp(80), "HTTP from internet");
28
+ securityGroup.addIngressRule(aws_ec2_1.Peer.anyIpv4(), aws_ec2_1.Port.tcp(443), "HTTPS from internet");
29
+ const instance = new aws_ec2_1.Instance(this, "Instance", {
30
+ vpc,
31
+ vpcSubnets: { subnetType: aws_ec2_1.SubnetType.PUBLIC },
32
+ instanceType: new aws_ec2_1.InstanceType(instanceType),
33
+ machineImage: aws_ec2_1.MachineImage.latestAmazonLinux2023({
34
+ cpuType: aws_ec2_1.AmazonLinuxCpuType.ARM_64,
35
+ cachedInContext: true,
36
+ }),
37
+ securityGroup: securityGroup,
38
+ role: new aws_iam_1.Role(this, "IncubatorAppServerRole", {
39
+ assumedBy: new aws_iam_1.ServicePrincipal("ec2.amazonaws.com"),
40
+ managedPolicies: [
41
+ aws_iam_1.ManagedPolicy.fromAwsManagedPolicyName("AmazonSSMManagedInstanceCore"),
42
+ aws_iam_1.ManagedPolicy.fromAwsManagedPolicyName("CloudWatchAgentServerPolicy"),
43
+ ],
44
+ inlinePolicies,
45
+ }),
46
+ keyPair: aws_ec2_1.KeyPair.fromKeyPairName(this, "KeyPair", keyPairName),
47
+ blockDevices: [
48
+ {
49
+ deviceName: "/dev/xvda",
50
+ volume: aws_ec2_1.BlockDeviceVolume.ebs(20, {
51
+ volumeType: aws_ec2_1.EbsDeviceVolumeType.GP3,
52
+ deleteOnTermination: false,
53
+ encrypted: true,
54
+ }),
55
+ },
56
+ ],
57
+ });
58
+ instance.addUserData("dnf update -y", ...userData, "dnf install -y amazon-cloudwatch-agent", 'echo "UserData complete"');
59
+ // Allocate Elastic IP and associate with instance for stable public address
60
+ const eip = new aws_ec2_1.CfnEIP(this, "Eip", {
61
+ domain: "vpc",
62
+ });
63
+ new aws_ec2_1.CfnEIPAssociation(this, "CfnEipAssociation", {
64
+ allocationId: eip.attrAllocationId,
65
+ instanceId: instance.instanceId,
66
+ });
67
+ new aws_cdk_lib_1.CfnOutput(this, "AIOServerElasticIp", {
68
+ value: eip.attrPublicIp,
69
+ description: "Elastic IP of the AIO Server",
70
+ exportName: "AIOServerEip",
71
+ });
72
+ new aws_cdk_lib_1.CfnOutput(this, "AIOServerInstanceId", {
73
+ value: instance.instanceId,
74
+ exportName: "AIOServerInstanceId",
75
+ });
76
+ this.instance = instance;
77
+ this.securityGroup = securityGroup;
78
+ }
79
+ }
80
+ exports.AIOServer = AIOServer;
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUlPU2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL0FJT1NlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBb0Q7QUFDcEQsMkNBQXVDO0FBQ3ZDLGlEQWU2QjtBQUM3QixpREFLNkI7QUFTN0IsTUFBYSxTQUFVLFNBQVEsc0JBQVM7SUFDdEIsUUFBUSxDQUFXO0lBQ25CLGFBQWEsQ0FBZ0I7SUFFN0MsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsRUFDRSxXQUFXLEVBQ1gsUUFBUSxHQUFHLEVBQUUsRUFDYixZQUFZLEdBQUcsV0FBVyxFQUMxQixjQUFjLEdBQ0M7UUFFakIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEdBQUcsR0FBRyxJQUFJLGFBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQy9CLE1BQU0sRUFBRSxDQUFDO1lBQ1QsbUJBQW1CLEVBQUU7Z0JBQ25CO29CQUNFLElBQUksRUFBRSxjQUFjO29CQUNwQixVQUFVLEVBQUUsb0JBQVUsQ0FBQyxNQUFNO2lCQUM5QjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxhQUFhLEdBQUcsSUFBSSx1QkFBYSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDN0QsR0FBRztZQUNILFdBQVcsRUFBRSwwQkFBMEI7WUFDdkMsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixDQUFDLENBQUM7UUFFSCxhQUFhLENBQUMsY0FBYyxDQUMxQixjQUFJLENBQUMsT0FBTyxFQUFFLEVBQ2QsY0FBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFDWixvQkFBb0IsQ0FDckIsQ0FBQztRQUVGLGFBQWEsQ0FBQyxjQUFjLENBQzFCLGNBQUksQ0FBQyxPQUFPLEVBQUUsRUFDZCxjQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUNiLHFCQUFxQixDQUN0QixDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsSUFBSSxrQkFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDOUMsR0FBRztZQUNILFVBQVUsRUFBRSxFQUFFLFVBQVUsRUFBRSxvQkFBVSxDQUFDLE1BQU0sRUFBRTtZQUM3QyxZQUFZLEVBQUUsSUFBSSxzQkFBWSxDQUFDLFlBQVksQ0FBQztZQUM1QyxZQUFZLEVBQUUsc0JBQVksQ0FBQyxxQkFBcUIsQ0FBQztnQkFDL0MsT0FBTyxFQUFFLDRCQUFrQixDQUFDLE1BQU07Z0JBQ2xDLGVBQWUsRUFBRSxJQUFJO2FBQ3RCLENBQUM7WUFDRixhQUFhLEVBQUUsYUFBYTtZQUM1QixJQUFJLEVBQUUsSUFBSSxjQUFJLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFO2dCQUM3QyxTQUFTLEVBQUUsSUFBSSwwQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDcEQsZUFBZSxFQUFFO29CQUNmLHVCQUFhLENBQUMsd0JBQXdCLENBQ3BDLDhCQUE4QixDQUMvQjtvQkFDRCx1QkFBYSxDQUFDLHdCQUF3QixDQUFDLDZCQUE2QixDQUFDO2lCQUN0RTtnQkFDRCxjQUFjO2FBQ2YsQ0FBQztZQUNGLE9BQU8sRUFBRSxpQkFBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQztZQUM5RCxZQUFZLEVBQUU7Z0JBQ1o7b0JBQ0UsVUFBVSxFQUFFLFdBQVc7b0JBQ3ZCLE1BQU0sRUFBRSwyQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFO3dCQUNoQyxVQUFVLEVBQUUsNkJBQW1CLENBQUMsR0FBRzt3QkFDbkMsbUJBQW1CLEVBQUUsS0FBSzt3QkFDMUIsU0FBUyxFQUFFLElBQUk7cUJBQ2hCLENBQUM7aUJBQ0g7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxXQUFXLENBQ2xCLGVBQWUsRUFDZixHQUFHLFFBQVEsRUFDWCx3Q0FBd0MsRUFDeEMsMEJBQTBCLENBQzNCLENBQUM7UUFFRiw0RUFBNEU7UUFDNUUsTUFBTSxHQUFHLEdBQUcsSUFBSSxnQkFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDbEMsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDLENBQUM7UUFFSCxJQUFJLDJCQUFpQixDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRTtZQUMvQyxZQUFZLEVBQUUsR0FBRyxDQUFDLGdCQUFnQjtZQUNsQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7U0FDaEMsQ0FBQyxDQUFDO1FBRUgsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUN4QyxLQUFLLEVBQUUsR0FBRyxDQUFDLFlBQVk7WUFDdkIsV0FBVyxFQUFFLDhCQUE4QjtZQUMzQyxVQUFVLEVBQUUsY0FBYztTQUMzQixDQUFDLENBQUM7UUFFSCxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUFFO1lBQ3pDLEtBQUssRUFBRSxRQUFRLENBQUMsVUFBVTtZQUMxQixVQUFVLEVBQUUscUJBQXFCO1NBQ2xDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQTNHRCw4QkEyR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIFN0YWNrUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBWcGMsXG4gIEluc3RhbmNlLFxuICBTZWN1cml0eUdyb3VwLFxuICBQZWVyLFxuICBQb3J0LFxuICBCbG9ja0RldmljZVZvbHVtZSxcbiAgQ2ZuRUlQLFxuICBDZm5FSVBBc3NvY2lhdGlvbixcbiAgRWJzRGV2aWNlVm9sdW1lVHlwZSxcbiAgSW5zdGFuY2VUeXBlLFxuICBLZXlQYWlyLFxuICBNYWNoaW5lSW1hZ2UsXG4gIFN1Ym5ldFR5cGUsXG4gIEFtYXpvbkxpbnV4Q3B1VHlwZSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIFJvbGUsXG4gIFNlcnZpY2VQcmluY2lwYWwsXG4gIE1hbmFnZWRQb2xpY3ksXG4gIFBvbGljeURvY3VtZW50LFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFJT1NlcnZlclByb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIGtleVBhaXJOYW1lOiBzdHJpbmc7XG4gIHVzZXJEYXRhPzogc3RyaW5nW107XG4gIGluc3RhbmNlVHlwZT86IHN0cmluZztcbiAgaW5saW5lUG9saWNpZXM/OiBSZWNvcmQ8c3RyaW5nLCBQb2xpY3lEb2N1bWVudD47XG59XG5cbmV4cG9ydCBjbGFzcyBBSU9TZXJ2ZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2U6IEluc3RhbmNlO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VjdXJpdHlHcm91cDogU2VjdXJpdHlHcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAge1xuICAgICAga2V5UGFpck5hbWUsXG4gICAgICB1c2VyRGF0YSA9IFtdLFxuICAgICAgaW5zdGFuY2VUeXBlID0gXCJ0NGcuc21hbGxcIixcbiAgICAgIGlubGluZVBvbGljaWVzLFxuICAgIH06IEFJT1NlcnZlclByb3BzXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB2cGMgPSBuZXcgVnBjKHRoaXMsIFwiVnBjXCIsIHtcbiAgICAgIG1heEF6czogMSxcbiAgICAgIHN1Ym5ldENvbmZpZ3VyYXRpb246IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiUHVibGljU3VibmV0XCIsXG4gICAgICAgICAgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QVUJMSUMsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKHRoaXMsIFwiU2VjdXJpdHlHcm91cFwiLCB7XG4gICAgICB2cGMsXG4gICAgICBkZXNjcmlwdGlvbjogXCJBSU9TZXJ2ZXIgc2VjdXJpdHkgZ3JvdXBcIixcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICBzZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgUGVlci5hbnlJcHY0KCksXG4gICAgICBQb3J0LnRjcCg4MCksXG4gICAgICBcIkhUVFAgZnJvbSBpbnRlcm5ldFwiXG4gICAgKTtcblxuICAgIHNlY3VyaXR5R3JvdXAuYWRkSW5ncmVzc1J1bGUoXG4gICAgICBQZWVyLmFueUlwdjQoKSxcbiAgICAgIFBvcnQudGNwKDQ0MyksXG4gICAgICBcIkhUVFBTIGZyb20gaW50ZXJuZXRcIlxuICAgICk7XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBJbnN0YW5jZSh0aGlzLCBcIkluc3RhbmNlXCIsIHtcbiAgICAgIHZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QVUJMSUMgfSxcbiAgICAgIGluc3RhbmNlVHlwZTogbmV3IEluc3RhbmNlVHlwZShpbnN0YW5jZVR5cGUpLFxuICAgICAgbWFjaGluZUltYWdlOiBNYWNoaW5lSW1hZ2UubGF0ZXN0QW1hem9uTGludXgyMDIzKHtcbiAgICAgICAgY3B1VHlwZTogQW1hem9uTGludXhDcHVUeXBlLkFSTV82NCxcbiAgICAgICAgY2FjaGVkSW5Db250ZXh0OiB0cnVlLFxuICAgICAgfSksXG4gICAgICBzZWN1cml0eUdyb3VwOiBzZWN1cml0eUdyb3VwLFxuICAgICAgcm9sZTogbmV3IFJvbGUodGhpcywgXCJJbmN1YmF0b3JBcHBTZXJ2ZXJSb2xlXCIsIHtcbiAgICAgICAgYXNzdW1lZEJ5OiBuZXcgU2VydmljZVByaW5jaXBhbChcImVjMi5hbWF6b25hd3MuY29tXCIpLFxuICAgICAgICBtYW5hZ2VkUG9saWNpZXM6IFtcbiAgICAgICAgICBNYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcbiAgICAgICAgICAgIFwiQW1hem9uU1NNTWFuYWdlZEluc3RhbmNlQ29yZVwiXG4gICAgICAgICAgKSxcbiAgICAgICAgICBNYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcIkNsb3VkV2F0Y2hBZ2VudFNlcnZlclBvbGljeVwiKSxcbiAgICAgICAgXSxcbiAgICAgICAgaW5saW5lUG9saWNpZXMsXG4gICAgICB9KSxcbiAgICAgIGtleVBhaXI6IEtleVBhaXIuZnJvbUtleVBhaXJOYW1lKHRoaXMsIFwiS2V5UGFpclwiLCBrZXlQYWlyTmFtZSksXG4gICAgICBibG9ja0RldmljZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGRldmljZU5hbWU6IFwiL2Rldi94dmRhXCIsXG4gICAgICAgICAgdm9sdW1lOiBCbG9ja0RldmljZVZvbHVtZS5lYnMoMjAsIHtcbiAgICAgICAgICAgIHZvbHVtZVR5cGU6IEVic0RldmljZVZvbHVtZVR5cGUuR1AzLFxuICAgICAgICAgICAgZGVsZXRlT25UZXJtaW5hdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBlbmNyeXB0ZWQ6IHRydWUsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgaW5zdGFuY2UuYWRkVXNlckRhdGEoXG4gICAgICBcImRuZiB1cGRhdGUgLXlcIixcbiAgICAgIC4uLnVzZXJEYXRhLFxuICAgICAgXCJkbmYgaW5zdGFsbCAteSBhbWF6b24tY2xvdWR3YXRjaC1hZ2VudFwiLFxuICAgICAgJ2VjaG8gXCJVc2VyRGF0YSBjb21wbGV0ZVwiJ1xuICAgICk7XG5cbiAgICAvLyBBbGxvY2F0ZSBFbGFzdGljIElQIGFuZCBhc3NvY2lhdGUgd2l0aCBpbnN0YW5jZSBmb3Igc3RhYmxlIHB1YmxpYyBhZGRyZXNzXG4gICAgY29uc3QgZWlwID0gbmV3IENmbkVJUCh0aGlzLCBcIkVpcFwiLCB7XG4gICAgICBkb21haW46IFwidnBjXCIsXG4gICAgfSk7XG5cbiAgICBuZXcgQ2ZuRUlQQXNzb2NpYXRpb24odGhpcywgXCJDZm5FaXBBc3NvY2lhdGlvblwiLCB7XG4gICAgICBhbGxvY2F0aW9uSWQ6IGVpcC5hdHRyQWxsb2NhdGlvbklkLFxuICAgICAgaW5zdGFuY2VJZDogaW5zdGFuY2UuaW5zdGFuY2VJZCxcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJBSU9TZXJ2ZXJFbGFzdGljSXBcIiwge1xuICAgICAgdmFsdWU6IGVpcC5hdHRyUHVibGljSXAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJFbGFzdGljIElQIG9mIHRoZSBBSU8gU2VydmVyXCIsXG4gICAgICBleHBvcnROYW1lOiBcIkFJT1NlcnZlckVpcFwiLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkFJT1NlcnZlckluc3RhbmNlSWRcIiwge1xuICAgICAgdmFsdWU6IGluc3RhbmNlLmluc3RhbmNlSWQsXG4gICAgICBleHBvcnROYW1lOiBcIkFJT1NlcnZlckluc3RhbmNlSWRcIixcbiAgICB9KTtcblxuICAgIHRoaXMuaW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgICB0aGlzLnNlY3VyaXR5R3JvdXAgPSBzZWN1cml0eUdyb3VwO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { Construct } from "constructs";
2
+ import { AIOServer } from "./AIOServer";
3
+ import { HostedZone } from "aws-cdk-lib/aws-route53";
4
+ export interface AIOServerRecordProps {
5
+ aioserver: AIOServer;
6
+ domain: string;
7
+ hostedZone?: HostedZone;
8
+ }
9
+ export declare class AIOServerRecord extends Construct {
10
+ constructor(scope: Construct, id: string, { aioserver, domain, hostedZone }: AIOServerRecordProps);
11
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AIOServerRecord = void 0;
4
+ const constructs_1 = require("constructs");
5
+ const aws_route53_1 = require("aws-cdk-lib/aws-route53");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ class AIOServerRecord extends constructs_1.Construct {
8
+ constructor(scope, id, { aioserver, domain, hostedZone }) {
9
+ super(scope, id);
10
+ const publicZone = hostedZone ??
11
+ aws_route53_1.HostedZone.fromLookup(this, `${domain}-PublicZone`, {
12
+ domainName: domain.split(".").slice(1).join("."),
13
+ });
14
+ new aws_route53_1.ARecord(this, `ARecord-${domain}`, {
15
+ zone: publicZone,
16
+ recordName: domain.replace(`.${publicZone.zoneName}`, ""),
17
+ target: aws_route53_1.RecordTarget.fromIpAddresses(aioserver.instance.instancePublicIp),
18
+ ttl: aws_cdk_lib_1.Duration.minutes(1),
19
+ });
20
+ new aws_route53_1.ARecord(this, `WWW-ARecord-${domain}`, {
21
+ zone: publicZone,
22
+ recordName: `www.${domain.replace(`.${publicZone.zoneName}`, "")}`,
23
+ target: aws_route53_1.RecordTarget.fromIpAddresses(aioserver.instance.instancePublicIp),
24
+ ttl: aws_cdk_lib_1.Duration.minutes(1),
25
+ });
26
+ }
27
+ }
28
+ exports.AIOServerRecord = AIOServerRecord;
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUlPU2VydmVyUmVjb3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL0FJT1NlcnZlclJlY29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFFdkMseURBQTRFO0FBQzVFLDZDQUF1QztBQVF2QyxNQUFhLGVBQWdCLFNBQVEsc0JBQVM7SUFDNUMsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBd0I7UUFFdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFVBQVUsR0FDZCxVQUFVO1lBQ1Ysd0JBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsTUFBTSxhQUFhLEVBQUU7Z0JBQ2xELFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ2pELENBQUMsQ0FBQztRQUVMLElBQUkscUJBQU8sQ0FBQyxJQUFJLEVBQUUsV0FBVyxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLEVBQUUsVUFBVTtZQUNoQixVQUFVLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDekQsTUFBTSxFQUFFLDBCQUFZLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7WUFDekUsR0FBRyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLHFCQUFPLENBQUMsSUFBSSxFQUFFLGVBQWUsTUFBTSxFQUFFLEVBQUU7WUFDekMsSUFBSSxFQUFFLFVBQVU7WUFDaEIsVUFBVSxFQUFFLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUNsRSxNQUFNLEVBQUUsMEJBQVksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6RSxHQUFHLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTVCRCwwQ0E0QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQUlPU2VydmVyIH0gZnJvbSBcIi4vQUlPU2VydmVyXCI7XG5pbXBvcnQgeyBBUmVjb3JkLCBIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlPU2VydmVyUmVjb3JkUHJvcHMge1xuICBhaW9zZXJ2ZXI6IEFJT1NlcnZlcjtcbiAgZG9tYWluOiBzdHJpbmc7XG4gIGhvc3RlZFpvbmU/OiBIb3N0ZWRab25lO1xufVxuXG5leHBvcnQgY2xhc3MgQUlPU2VydmVyUmVjb3JkIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHsgYWlvc2VydmVyLCBkb21haW4sIGhvc3RlZFpvbmUgfTogQUlPU2VydmVyUmVjb3JkUHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHB1YmxpY1pvbmUgPVxuICAgICAgaG9zdGVkWm9uZSA/P1xuICAgICAgSG9zdGVkWm9uZS5mcm9tTG9va3VwKHRoaXMsIGAke2RvbWFpbn0tUHVibGljWm9uZWAsIHtcbiAgICAgICAgZG9tYWluTmFtZTogZG9tYWluLnNwbGl0KFwiLlwiKS5zbGljZSgxKS5qb2luKFwiLlwiKSxcbiAgICAgIH0pO1xuXG4gICAgbmV3IEFSZWNvcmQodGhpcywgYEFSZWNvcmQtJHtkb21haW59YCwge1xuICAgICAgem9uZTogcHVibGljWm9uZSxcbiAgICAgIHJlY29yZE5hbWU6IGRvbWFpbi5yZXBsYWNlKGAuJHtwdWJsaWNab25lLnpvbmVOYW1lfWAsIFwiXCIpLFxuICAgICAgdGFyZ2V0OiBSZWNvcmRUYXJnZXQuZnJvbUlwQWRkcmVzc2VzKGFpb3NlcnZlci5pbnN0YW5jZS5pbnN0YW5jZVB1YmxpY0lwKSxcbiAgICAgIHR0bDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICB9KTtcblxuICAgIG5ldyBBUmVjb3JkKHRoaXMsIGBXV1ctQVJlY29yZC0ke2RvbWFpbn1gLCB7XG4gICAgICB6b25lOiBwdWJsaWNab25lLFxuICAgICAgcmVjb3JkTmFtZTogYHd3dy4ke2RvbWFpbi5yZXBsYWNlKGAuJHtwdWJsaWNab25lLnpvbmVOYW1lfWAsIFwiXCIpfWAsXG4gICAgICB0YXJnZXQ6IFJlY29yZFRhcmdldC5mcm9tSXBBZGRyZXNzZXMoYWlvc2VydmVyLmluc3RhbmNlLmluc3RhbmNlUHVibGljSXApLFxuICAgICAgdHRsOiBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from "./AIOServer";
2
+ export * from "./AIOServerRecord";
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./AIOServer"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOENBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vQUlPU2VydmVyXCI7XG4iXX0=
18
+ __exportStar(require("./AIOServerRecord"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE0QjtBQUM1QixvREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9BSU9TZXJ2ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0FJT1NlcnZlclJlY29yZFwiO1xuIl19
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@papiro/cdk",
3
- "version": "0.0.2",
4
- "main": "lib/index.js",
5
- "types": "lib/index.d.ts",
3
+ "version": "0.0.4",
4
+ "main": "dist/index.js",
5
+ "types": "dist/index.d.ts",
6
6
  "files": [
7
7
  "dist"
8
8
  ],
9
9
  "scripts": {
10
- "build": "tsc",
11
- "watch": "tsc -w",
10
+ "build": "tsc --outDir dist",
11
+ "watch": "tsc -w --outDir dist",
12
12
  "test": "jest",
13
- "prepack": "tsc --outDir dist",
13
+ "prepack": "npm run build",
14
14
  "postpack": "rm -R dist"
15
15
  },
16
16
  "devDependencies": {
@@ -1,25 +0,0 @@
1
- import { StackProps } from "aws-cdk-lib";
2
- import { Construct } from "constructs";
3
- import { Vpc, Instance, SecurityGroup } from "aws-cdk-lib/aws-ec2";
4
- import { PolicyDocument } from "aws-cdk-lib/aws-iam";
5
- import { Bucket } from "aws-cdk-lib/aws-s3";
6
- export interface AppDefinition {
7
- id: string;
8
- domains: string[];
9
- port: number;
10
- }
11
- export interface AIOServerStackProps extends StackProps {
12
- vpc: Vpc;
13
- /** Public domains that should resolve to the AIO server */
14
- apps?: AppDefinition[];
15
- keyPairName: string;
16
- imageS3Bucket: Bucket;
17
- userData?: string[];
18
- instanceType?: string;
19
- inlinePolicies?: Record<string, PolicyDocument>;
20
- }
21
- export declare class AIOServer extends Construct {
22
- readonly instance: Instance;
23
- readonly securityGroup: SecurityGroup;
24
- constructor(scope: Construct, id: string, { vpc, apps, keyPairName, imageS3Bucket, userData, instanceType, inlinePolicies, ...props }: AIOServerStackProps);
25
- }
@@ -1,87 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AIOServer = void 0;
4
- const aws_cdk_lib_1 = require("aws-cdk-lib");
5
- const constructs_1 = require("constructs");
6
- const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
7
- const aws_route53_1 = require("aws-cdk-lib/aws-route53");
8
- const aws_iam_1 = require("aws-cdk-lib/aws-iam");
9
- class AIOServer extends constructs_1.Construct {
10
- instance;
11
- securityGroup;
12
- constructor(scope, id, { vpc, apps = [], keyPairName, imageS3Bucket, userData = [], instanceType = "t4g.small", inlinePolicies, ...props }) {
13
- super(scope, id);
14
- const securityGroup = new aws_ec2_1.SecurityGroup(this, "SecurityGroup", {
15
- vpc,
16
- description: "AIOServer security group",
17
- allowAllOutbound: true,
18
- });
19
- securityGroup.addIngressRule(aws_ec2_1.Peer.anyIpv4(), aws_ec2_1.Port.tcp(80), "HTTP from internet");
20
- securityGroup.addIngressRule(aws_ec2_1.Peer.anyIpv4(), aws_ec2_1.Port.tcp(443), "HTTPS from internet");
21
- const instance = new aws_ec2_1.Instance(this, "Instance", {
22
- vpc,
23
- vpcSubnets: { subnetType: aws_ec2_1.SubnetType.PUBLIC },
24
- instanceType: new aws_ec2_1.InstanceType(instanceType),
25
- machineImage: aws_ec2_1.MachineImage.latestAmazonLinux2023({
26
- cpuType: aws_ec2_1.AmazonLinuxCpuType.ARM_64,
27
- cachedInContext: true,
28
- }),
29
- securityGroup: securityGroup,
30
- role: new aws_iam_1.Role(this, "IncubatorAppServerRole", {
31
- assumedBy: new aws_iam_1.ServicePrincipal("ec2.amazonaws.com"),
32
- managedPolicies: [
33
- aws_iam_1.ManagedPolicy.fromAwsManagedPolicyName("AmazonSSMManagedInstanceCore"),
34
- aws_iam_1.ManagedPolicy.fromAwsManagedPolicyName("CloudWatchAgentServerPolicy"),
35
- ],
36
- inlinePolicies,
37
- }),
38
- keyPair: aws_ec2_1.KeyPair.fromKeyPairName(this, "KeyPair", keyPairName),
39
- blockDevices: [
40
- {
41
- deviceName: "/dev/xvda",
42
- volume: aws_ec2_1.BlockDeviceVolume.ebs(20, {
43
- volumeType: aws_ec2_1.EbsDeviceVolumeType.GP3,
44
- deleteOnTermination: false,
45
- encrypted: true,
46
- }),
47
- },
48
- ],
49
- });
50
- instance.addUserData("dnf update -y", ...userData, "dnf install -y amazon-cloudwatch-agent", 'echo "UserData complete"');
51
- // Allocate Elastic IP and associate with instance for stable public address
52
- const eip = new aws_ec2_1.CfnEIP(this, "Eip", {
53
- domain: "vpc",
54
- });
55
- new aws_ec2_1.CfnEIPAssociation(this, "CfnEipAssociation", {
56
- allocationId: eip.attrAllocationId,
57
- instanceId: instance.instanceId,
58
- });
59
- new aws_cdk_lib_1.CfnOutput(this, "AIOServerElasticIp", {
60
- value: eip.attrPublicIp,
61
- description: "Elastic IP of the AIO Server",
62
- exportName: "AIOServerEip",
63
- });
64
- new aws_cdk_lib_1.CfnOutput(this, "AIOServerInstanceId", {
65
- value: instance.instanceId,
66
- exportName: "AIOServerInstanceId",
67
- });
68
- // Public DNS records per incubated application
69
- apps.forEach((appDef) => {
70
- const publicZone = aws_route53_1.HostedZone.fromLookup(this, `${appDef.id}-PublicZone`, {
71
- domainName: appDef.domains[0].split(".").slice(1).join("."),
72
- });
73
- appDef.domains.forEach((domain) => {
74
- new aws_route53_1.ARecord(this, `ARecord-${domain}`, {
75
- zone: publicZone,
76
- recordName: domain.replace(`.${publicZone.zoneName}`, ""),
77
- target: aws_route53_1.RecordTarget.fromIpAddresses(instance.instancePublicIp),
78
- ttl: aws_cdk_lib_1.Duration.minutes(1),
79
- });
80
- });
81
- });
82
- this.instance = instance;
83
- this.securityGroup = securityGroup;
84
- }
85
- }
86
- exports.AIOServer = AIOServer;
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUlPU2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL0FJT1NlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBcUU7QUFDckUsMkNBQXVDO0FBQ3ZDLGlEQWU2QjtBQUM3Qix5REFBNEU7QUFDNUUsaURBTzZCO0FBb0I3QixNQUFhLFNBQVUsU0FBUSxzQkFBUztJQUN0QixRQUFRLENBQVc7SUFDbkIsYUFBYSxDQUFnQjtJQUU3QyxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixFQUNFLEdBQUcsRUFDSCxJQUFJLEdBQUcsRUFBRSxFQUNULFdBQVcsRUFDWCxhQUFhLEVBQ2IsUUFBUSxHQUFHLEVBQUUsRUFDYixZQUFZLEdBQUcsV0FBVyxFQUMxQixjQUFjLEVBQ2QsR0FBRyxLQUFLLEVBQ1k7UUFFdEIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGFBQWEsR0FBRyxJQUFJLHVCQUFhLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtZQUM3RCxHQUFHO1lBQ0gsV0FBVyxFQUFFLDBCQUEwQjtZQUN2QyxnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCLENBQUMsQ0FBQztRQUVILGFBQWEsQ0FBQyxjQUFjLENBQzFCLGNBQUksQ0FBQyxPQUFPLEVBQUUsRUFDZCxjQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUNaLG9CQUFvQixDQUNyQixDQUFDO1FBRUYsYUFBYSxDQUFDLGNBQWMsQ0FDMUIsY0FBSSxDQUFDLE9BQU8sRUFBRSxFQUNkLGNBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQ2IscUJBQXFCLENBQ3RCLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxJQUFJLGtCQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUM5QyxHQUFHO1lBQ0gsVUFBVSxFQUFFLEVBQUUsVUFBVSxFQUFFLG9CQUFVLENBQUMsTUFBTSxFQUFFO1lBQzdDLFlBQVks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QUMsQ0FBQyxDQUFDO2lCQUN6QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDckMsQ0FBQztDQUNGO0FBekhELDhCQXlIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbk91dHB1dCwgRHVyYXRpb24sIFN0YWNrLCBTdGFja1Byb3BzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgVnBjLFxuICBJbnN0YW5jZSxcbiAgU2VjdXJpdHlHcm91cCxcbiAgUGVlcixcbiAgUG9ydCxcbiAgQmxvY2tEZXZpY2VWb2x1bWUsXG4gIENmbkVJUCxcbiAgQ2ZuRUlQQXNzb2NpYXRpb24sXG4gIEVic0RldmljZVZvbHVtZVR5cGUsXG4gIEluc3RhbmNlVHlwZSxcbiAgS2V5UGFpcixcbiAgTWFjaGluZUltYWdlLFxuICBTdWJuZXRUeXBlLFxuICBBbWF6b25MaW51eENwdVR5cGUsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyBBUmVjb3JkLCBIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7XG4gIFJvbGUsXG4gIFNlcnZpY2VQcmluY2lwYWwsXG4gIE1hbmFnZWRQb2xpY3ksXG4gIFBvbGljeVN0YXRlbWVudCxcbiAgRWZmZWN0LFxuICBQb2xpY3lEb2N1bWVudCxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IEJ1Y2tldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBcHBEZWZpbml0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgZG9tYWluczogc3RyaW5nW107XG4gIHBvcnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSU9TZXJ2ZXJTdGFja1Byb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIHZwYzogVnBjO1xuICAvKiogUHVibGljIGRvbWFpbnMgdGhhdCBzaG91bGQgcmVzb2x2ZSB0byB0aGUgQUlPIHNlcnZlciAqL1xuICBhcHBzPzogQXBwRGVmaW5pdGlvbltdO1xuICBrZXlQYWlyTmFtZTogc3RyaW5nO1xuICBpbWFnZVMzQnVja2V0OiBCdWNrZXQ7XG4gIHVzZXJEYXRhPzogc3RyaW5nW107XG4gIGluc3RhbmNlVHlwZT86IHN0cmluZztcbiAgaW5saW5lUG9saWNpZXM/OiBSZWNvcmQ8c3RyaW5nLCBQb2xpY3lEb2N1bWVudD47XG59XG5cbmV4cG9ydCBjbGFzcyBBSU9TZXJ2ZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2U6IEluc3RhbmNlO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VjdXJpdHlHcm91cDogU2VjdXJpdHlHcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAge1xuICAgICAgdnBjLFxuICAgICAgYXBwcyA9IFtdLFxuICAgICAga2V5UGFpck5hbWUsXG4gICAgICBpbWFnZVMzQnVja2V0LFxuICAgICAgdXNlckRhdGEgPSBbXSxcbiAgICAgIGluc3RhbmNlVHlwZSA9IFwidDRnLnNtYWxsXCIsXG4gICAgICBpbmxpbmVQb2xpY2llcyxcbiAgICAgIC4uLnByb3BzXG4gICAgfTogQUlPU2VydmVyU3RhY2tQcm9wc1xuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3Qgc2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKHRoaXMsIFwiU2VjdXJpdHlHcm91cFwiLCB7XG4gICAgICB2cGMsXG4gICAgICBkZXNjcmlwdGlvbjogXCJBSU9TZXJ2ZXIgc2VjdXJpdHkgZ3JvdXBcIixcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICBzZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgUGVlci5hbnlJcHY0KCksXG4gICAgICBQb3J0LnRjcCg4MCksXG4gICAgICBcIkhUVFAgZnJvbSBpbnRlcm5ldFwiXG4gICAgKTtcblxuICAgIHNlY3VyaXR5R3JvdXAuYWRkSW5ncmVzc1J1bGUoXG4gICAgICBQZWVyLmFueUlwdjQoKSxcbiAgICAgIFBvcnQudGNwKDQ0MyksXG4gICAgICBcIkhUVFBTIGZyb20gaW50ZXJuZXRcIlxuICAgICk7XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBJbnN0YW5jZSh0aGlzLCBcIkluc3RhbmNlXCIsIHtcbiAgICAgIHZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QVUJMSUMgfSxcbiAgICAgIGluc3RhbmNlVHlwZTogbmV3IEluc3RhbmNlVHlwZShpbnN0YW5jZVR5cGUpLFxuICAgICAgbWFjaGluZUltYWdlOiBNYWNoaW5lSW1hZ2UubGF0ZXN0QW1hem9uTGludXgyMDIzKHtcbiAgICAgICAgY3B1VHlwZTogQW1hem9uTGludXhDcHVUeXBlLkFSTV82NCxcbiAgICAgICAgY2FjaGVkSW5Db250ZXh0OiB0cnVlLFxuICAgICAgfSksXG4gICAgICBzZWN1cml0eUdyb3VwOiBzZWN1cml0eUdyb3VwLFxuICAgICAgcm9sZTogbmV3IFJvbGUodGhpcywgXCJJbmN1YmF0b3JBcHBTZXJ2ZXJSb2xlXCIsIHtcbiAgICAgICAgYXNzdW1lZEJ5OiBuZXcgU2VydmljZVByaW5jaXBhbChcImVjMi5hbWF6b25hd3MuY29tXCIpLFxuICAgICAgICBtYW5hZ2VkUG9saWNpZXM6IFtcbiAgICAgICAgICBNYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcbiAgICAgICAgICAgIFwiQW1hem9uU1NNTWFuYWdlZEluc3RhbmNlQ29yZVwiXG4gICAgICAgICAgKSxcbiAgICAgICAgICBNYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcIkNsb3VkV2F0Y2hBZ2VudFNlcnZlclBvbGljeVwiKSxcbiAgICAgICAgXSxcbiAgICAgICAgaW5saW5lUG9saWNpZXMsXG4gICAgICB9KSxcbiAgICAgIGtleVBhaXI6IEtleVBhaXIuZnJvbUtleVBhaXJOYW1lKHRoaXMsIFwiS2V5UGFpclwiLCBrZXlQYWlyTmFtZSksXG4gICAgICBibG9ja0RldmljZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGRldmljZU5hbWU6IFwiL2Rldi94dmRhXCIsXG4gICAgICAgICAgdm9sdW1lOiBCbG9ja0RldmljZVZvbHVtZS5lYnMoMjAsIHtcbiAgICAgICAgICAgIHZvbHVtZVR5cGU6IEVic0RldmljZVZvbHVtZVR5cGUuR1AzLFxuICAgICAgICAgICAgZGVsZXRlT25UZXJtaW5hdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBlbmNyeXB0ZWQ6IHRydWUsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgaW5zdGFuY2UuYWRkVXNlckRhdGEoXG4gICAgICBcImRuZiB1cGRhdGUgLXlcIixcbiAgICAgIC4uLnVzZXJEYXRhLFxuICAgICAgXCJkbmYgaW5zdGFsbCAteSBhbWF6b24tY2xvdWR3YXRjaC1hZ2VudFwiLFxuICAgICAgJ2VjaG8gXCJVc2VyRGF0YSBjb21wbGV0ZVwiJ1xuICAgICk7XG5cbiAgICAvLyBBbGxvY2F0ZSBFbGFzdGljIElQIGFuZCBhc3NvY2lhdGUgd2l0aCBpbnN0YW5jZSBmb3Igc3RhYmxlIHB1YmxpYyBhZGRyZXNzXG4gICAgY29uc3QgZWlwID0gbmV3IENmbkVJUCh0aGlzLCBcIkVpcFwiLCB7XG4gICAgICBkb21haW46IFwidnBjXCIsXG4gICAgfSk7XG5cbiAgICBuZXcgQ2ZuRUlQQXNzb2NpYXRpb24odGhpcywgXCJDZm5FaXBBc3NvY2lhdGlvblwiLCB7XG4gICAgICBhbGxvY2F0aW9uSWQ6IGVpcC5hdHRyQWxsb2NhdGlvbklkLFxuICAgICAgaW5zdGFuY2VJZDogaW5zdGFuY2UuaW5zdGFuY2VJZCxcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJBSU9TZXJ2ZXJFbGFzdGljSXBcIiwge1xuICAgICAgdmFsdWU6IGVpcC5hdHRyUHVibGljSXAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJFbGFzdGljIElQIG9mIHRoZSBBSU8gU2VydmVyXCIsXG4gICAgICBleHBvcnROYW1lOiBcIkFJT1NlcnZlckVpcFwiLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkFJT1NlcnZlckluc3RhbmNlSWRcIiwge1xuICAgICAgdmFsdWU6IGluc3RhbmNlLmluc3RhbmNlSWQsXG4gICAgICBleHBvcnROYW1lOiBcIkFJT1NlcnZlckluc3RhbmNlSWRcIixcbiAgICB9KTtcblxuICAgIC8vIFB1YmxpYyBETlMgcmVjb3JkcyBwZXIgaW5jdWJhdGVkIGFwcGxpY2F0aW9uXG4gICAgYXBwcy5mb3JFYWNoKChhcHBEZWYpID0+IHtcbiAgICAgIGNvbnN0IHB1YmxpY1pvbmUgPSBIb3N0ZWRab25lLmZyb21Mb29rdXAoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIGAke2FwcERlZi5pZH0tUHVibGljWm9uZWAsXG4gICAgICAgIHtcbiAgICAgICAgICBkb21haW5OYW1lOiBhcHBEZWYuZG9tYWluc1swXS5zcGxpdChcIi5cIikuc2xpY2UoMSkuam9pbihcIi5cIiksXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIGFwcERlZi5kb21haW5zLmZvckVhY2goKGRvbWFpbikgPT4ge1xuICAgICAgICBuZXcgQVJlY29yZCh0aGlzLCBgQVJlY29yZC0ke2RvbWFpbn1gLCB7XG4gICAgICAgICAgem9uZTogcHVibGljWm9uZSxcbiAgICAgICAgICByZWNvcmROYW1lOiBkb21haW4ucmVwbGFjZShgLiR7cHVibGljWm9uZS56b25lTmFtZX1gLCBcIlwiKSxcbiAgICAgICAgICB0YXJnZXQ6IFJlY29yZFRhcmdldC5mcm9tSXBBZGRyZXNzZXMoaW5zdGFuY2UuaW5zdGFuY2VQdWJsaWNJcCksXG4gICAgICAgICAgdHRsOiBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5pbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgIHRoaXMuc2VjdXJpdHlHcm91cCA9IHNlY3VyaXR5R3JvdXA7XG4gIH1cbn1cbiJdfQ==
@@ -1 +0,0 @@
1
- export * from "./AIOServer";
package/dist/lib/index.js DELETED
@@ -1,18 +0,0 @@
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("./AIOServer"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0FJT1NlcnZlclwiO1xuIl19
@@ -1 +0,0 @@
1
- export {};
@@ -1,19 +0,0 @@
1
- "use strict";
2
- // import * as cdk from 'aws-cdk-lib/core';
3
- // import { Template } from 'aws-cdk-lib/assertions';
4
- // import * as Cdk from '../lib/index';
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- // example test. To run these tests, uncomment this file along with the
7
- // example resource in lib/index.ts
8
- test('SQS Queue Created', () => {
9
- // const app = new cdk.App();
10
- // const stack = new cdk.Stack(app, "TestStack");
11
- // // WHEN
12
- // new Cdk.Cdk(stack, 'MyTestConstruct');
13
- // // THEN
14
- // const template = Template.fromStack(stack);
15
- // template.hasResourceProperties('AWS::SQS::Queue', {
16
- // VisibilityTimeout: 300
17
- // });
18
- });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L2Nkay50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwyQ0FBMkM7QUFDM0MscURBQXFEO0FBQ3JELHVDQUF1Qzs7QUFFdkMsdUVBQXVFO0FBQ3ZFLG1DQUFtQztBQUNuQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO0lBQy9CLCtCQUErQjtJQUMvQixtREFBbUQ7SUFDbkQsWUFBWTtJQUNaLDJDQUEyQztJQUMzQyxZQUFZO0lBQ1osZ0RBQWdEO0lBRWhELHdEQUF3RDtJQUN4RCw2QkFBNkI7SUFDN0IsUUFBUTtBQUNSLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuLy8gaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hc3NlcnRpb25zJztcbi8vIGltcG9ydCAqIGFzIENkayBmcm9tICcuLi9saWIvaW5kZXgnO1xuXG4vLyBleGFtcGxlIHRlc3QuIFRvIHJ1biB0aGVzZSB0ZXN0cywgdW5jb21tZW50IHRoaXMgZmlsZSBhbG9uZyB3aXRoIHRoZVxuLy8gZXhhbXBsZSByZXNvdXJjZSBpbiBsaWIvaW5kZXgudHNcbnRlc3QoJ1NRUyBRdWV1ZSBDcmVhdGVkJywgKCkgPT4ge1xuLy8gICBjb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xuLy8gICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soYXBwLCBcIlRlc3RTdGFja1wiKTtcbi8vICAgLy8gV0hFTlxuLy8gICBuZXcgQ2RrLkNkayhzdGFjaywgJ015VGVzdENvbnN0cnVjdCcpO1xuLy8gICAvLyBUSEVOXG4vLyAgIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcblxuLy8gICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoJ0FXUzo6U1FTOjpRdWV1ZScsIHtcbi8vICAgICBWaXNpYmlsaXR5VGltZW91dDogMzAwXG4vLyAgIH0pO1xufSk7XG4iXX0=