@papiro/cdk 0.0.1 → 0.0.2

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,25 @@
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
+ }
@@ -0,0 +1,87 @@
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==
@@ -0,0 +1 @@
1
+ export * from "./AIOServer";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./AIOServer"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0FJT1NlcnZlclwiO1xuIl19
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
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=
package/lib/index.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./AIOServer"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOENBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vQUlPU2VydmVyXCI7XG4iXX0=
package/package.json CHANGED
@@ -1,12 +1,17 @@
1
1
  {
2
2
  "name": "@papiro/cdk",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
+ "files": [
7
+ "dist"
8
+ ],
6
9
  "scripts": {
7
10
  "build": "tsc",
8
11
  "watch": "tsc -w",
9
- "test": "jest"
12
+ "test": "jest",
13
+ "prepack": "tsc --outDir dist",
14
+ "postpack": "rm -R dist"
10
15
  },
11
16
  "devDependencies": {
12
17
  "@types/jest": "^29.5.14",
package/cdk.context.json DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "acknowledged-issue-numbers": [
3
- 34892
4
- ]
5
- }
package/jest.config.js DELETED
@@ -1,8 +0,0 @@
1
- module.exports = {
2
- testEnvironment: 'node',
3
- roots: ['<rootDir>/test'],
4
- testMatch: ['**/*.test.ts'],
5
- transform: {
6
- '^.+\\.tsx?$': 'ts-jest'
7
- }
8
- };
package/tsconfig.json DELETED
@@ -1,32 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "NodeNext",
5
- "moduleResolution": "NodeNext",
6
- "lib": [
7
- "es2022"
8
- ],
9
- "declaration": true,
10
- "strict": true,
11
- "noImplicitAny": true,
12
- "strictNullChecks": true,
13
- "noImplicitThis": true,
14
- "alwaysStrict": true,
15
- "noUnusedLocals": false,
16
- "noUnusedParameters": false,
17
- "noImplicitReturns": true,
18
- "noFallthroughCasesInSwitch": false,
19
- "inlineSourceMap": true,
20
- "inlineSources": true,
21
- "experimentalDecorators": true,
22
- "strictPropertyInitialization": false,
23
- "skipLibCheck": true,
24
- "typeRoots": [
25
- "./node_modules/@types"
26
- ]
27
- },
28
- "exclude": [
29
- "node_modules",
30
- "cdk.out"
31
- ]
32
- }