@papiro/cdk 1.0.5 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AIOServer.d.ts +14 -3
- package/dist/AIOServer.js +18 -1
- package/dist/AIOServerRecord.d.ts +5 -3
- package/dist/AIOServerRecord.js +11 -9
- package/package.json +1 -1
package/dist/AIOServer.d.ts
CHANGED
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
import { StackProps } from "aws-cdk-lib";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
|
-
import { Instance, SecurityGroup } from "aws-cdk-lib/aws-ec2";
|
|
3
|
+
import { Instance, SecurityGroup, IInstance, ISecurityGroup } from "aws-cdk-lib/aws-ec2";
|
|
4
4
|
import { PolicyDocument } from "aws-cdk-lib/aws-iam";
|
|
5
|
-
|
|
5
|
+
interface AIOServerProps extends StackProps {
|
|
6
6
|
keyPairName: string;
|
|
7
7
|
userData?: string[];
|
|
8
8
|
instanceType?: string;
|
|
9
9
|
inlinePolicies?: Record<string, PolicyDocument>;
|
|
10
10
|
}
|
|
11
|
-
export
|
|
11
|
+
export interface IAIOServer {
|
|
12
|
+
instance: IInstance;
|
|
13
|
+
securityGroup: ISecurityGroup;
|
|
14
|
+
}
|
|
15
|
+
export interface IAIOServerForRecord {
|
|
16
|
+
instance: {
|
|
17
|
+
instancePublicIp: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare class AIOServer extends Construct implements IAIOServer, IAIOServerForRecord {
|
|
12
21
|
readonly instance: Instance;
|
|
13
22
|
readonly securityGroup: SecurityGroup;
|
|
23
|
+
static fromLookupForServerRecord(): IAIOServerForRecord;
|
|
14
24
|
constructor(scope: Construct, id: string, { keyPairName, userData, instanceType, inlinePolicies, }: AIOServerProps);
|
|
15
25
|
}
|
|
26
|
+
export {};
|
package/dist/AIOServer.js
CHANGED
|
@@ -8,6 +8,15 @@ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
|
8
8
|
class AIOServer extends constructs_1.Construct {
|
|
9
9
|
instance;
|
|
10
10
|
securityGroup;
|
|
11
|
+
static fromLookupForServerRecord() {
|
|
12
|
+
// Import only the Elastic IP which is all that's needed for AIOServerRecord
|
|
13
|
+
const eip = aws_cdk_lib_1.Fn.importValue("AIOServerEip");
|
|
14
|
+
return {
|
|
15
|
+
instance: {
|
|
16
|
+
instancePublicIp: eip,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
11
20
|
constructor(scope, id, { keyPairName, userData = [], instanceType = "t4g.small", inlinePolicies, }) {
|
|
12
21
|
super(scope, id);
|
|
13
22
|
const vpc = new aws_ec2_1.Vpc(this, "Vpc", {
|
|
@@ -73,9 +82,17 @@ class AIOServer extends constructs_1.Construct {
|
|
|
73
82
|
value: instance.instanceId,
|
|
74
83
|
exportName: "AIOServerInstanceId",
|
|
75
84
|
});
|
|
85
|
+
new aws_cdk_lib_1.CfnOutput(this, "AIOServerSecurityGroupId", {
|
|
86
|
+
value: securityGroup.securityGroupId,
|
|
87
|
+
exportName: "AIOServerSecurityGroupId",
|
|
88
|
+
});
|
|
89
|
+
new aws_cdk_lib_1.CfnOutput(this, "AIOServerVpcId", {
|
|
90
|
+
value: vpc.vpcId,
|
|
91
|
+
exportName: "AIOServerVpcId",
|
|
92
|
+
});
|
|
76
93
|
this.instance = instance;
|
|
77
94
|
this.securityGroup = securityGroup;
|
|
78
95
|
}
|
|
79
96
|
}
|
|
80
97
|
exports.AIOServer = AIOServer;
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUlPU2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL0FJT1NlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBK0Q7QUFDL0QsMkNBQXVDO0FBQ3ZDLGlEQWlCNkI7QUFDN0IsaURBSzZCO0FBeUI3QixNQUFhLFNBQ1gsU0FBUSxzQkFBUztJQUdELFFBQVEsQ0FBVztJQUNuQixhQUFhLENBQWdCO0lBRTdDLE1BQU0sQ0FBQyx5QkFBeUI7UUFDOUIsNEVBQTRFO1FBQzVFLE1BQU0sR0FBRyxHQUFHLGdCQUFFLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTNDLE9BQU87WUFDTCxRQUFRLEVBQUU7Z0JBQ1IsZ0JBQWdCLEVBQUUsR0FBRzthQUN0QjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsRUFDRSxXQUFXLEVBQ1gsUUFBUSxHQUFHLEVBQUUsRUFDYixZQUFZLEdBQUcsV0FBVyxFQUMxQixjQUFjLEdBQ0M7UUFFakIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEdBQUcsR0FBRyxJQUFJLGFBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQy9CLE1BQU0sRUFBRSxDQUFDO1lBQ1QsbUJBQW1CLEVBQUU7Z0JBQ25CO29CQUNFLElBQUksRUFBRSxjQUFjO29CQUNwQixVQUFVLEVBQUUsb0JBQVUsQ0FBQyxNQUFNO2lCQUM5QjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxhQUFhLEdBQUcsSUFBSSx1QkFBYSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDN0QsR0FBRztZQUNILFdBQVcsRUFBRSwwQkFBMEI7WUFDdkMsZ0JBQWdCLEVBQUUsS0FBSztTQUN4QixDQUFDLENBQUM7UUFFSCxhQUFhLENBQUMsY0FBYyxDQUMxQixjQUFJLENBQUMsT0FBTyxFQUFFLEVBQ2QsY0FBSSxDQUFD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QUFDO0NBQ0Y7QUFuSUQsOEJBbUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBGbiwgU3RhY2ssIFN0YWNrUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBWcGMsXG4gIEluc3RhbmNlLFxuICBTZWN1cml0eUdyb3VwLFxuICBJSW5zdGFuY2UsXG4gIElTZWN1cml0eUdyb3VwLFxuICBQZWVyLFxuICBQb3J0LFxuICBCbG9ja0RldmljZVZvbHVtZSxcbiAgQ2ZuRUlQLFxuICBDZm5FSVBBc3NvY2lhdGlvbixcbiAgRWJzRGV2aWNlVm9sdW1lVHlwZSxcbiAgSW5zdGFuY2VUeXBlLFxuICBLZXlQYWlyLFxuICBNYWNoaW5lSW1hZ2UsXG4gIFN1Ym5ldFR5cGUsXG4gIEFtYXpvbkxpbnV4Q3B1VHlwZSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIFJvbGUsXG4gIFNlcnZpY2VQcmluY2lwYWwsXG4gIE1hbmFnZWRQb2xpY3ksXG4gIFBvbGljeURvY3VtZW50LFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG5pbnRlcmZhY2UgQUlPU2VydmVyUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAga2V5UGFpck5hbWU6IHN0cmluZztcbiAgdXNlckRhdGE/OiBzdHJpbmdbXTtcbiAgaW5zdGFuY2VUeXBlPzogc3RyaW5nO1xuICBpbmxpbmVQb2xpY2llcz86IFJlY29yZDxzdHJpbmcsIFBvbGljeURvY3VtZW50Pjtcbn1cblxuaW50ZXJmYWNlIEZyb21Mb29rdXBQcm9wcyB7XG4gIHN0YWNrTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBSU9TZXJ2ZXIge1xuICBpbnN0YW5jZTogSUluc3RhbmNlO1xuICBzZWN1cml0eUdyb3VwOiBJU2VjdXJpdHlHcm91cDtcbn1cblxuLy8gTWluaW1hbCBpbnRlcmZhY2UgZm9yIEFJT1NlcnZlclJlY29yZCAtIG9ubHkgZXhwb3NlcyB3aGF0J3MgbmVlZGVkXG5leHBvcnQgaW50ZXJmYWNlIElBSU9TZXJ2ZXJGb3JSZWNvcmQge1xuICBpbnN0YW5jZToge1xuICAgIGluc3RhbmNlUHVibGljSXA6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEFJT1NlcnZlclxuICBleHRlbmRzIENvbnN0cnVjdFxuICBpbXBsZW1lbnRzIElBSU9TZXJ2ZXIsIElBSU9TZXJ2ZXJGb3JSZWNvcmRcbntcbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlOiBJbnN0YW5jZTtcbiAgcHVibGljIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXA6IFNlY3VyaXR5R3JvdXA7XG5cbiAgc3RhdGljIGZyb21Mb29rdXBGb3JTZXJ2ZXJSZWNvcmQoKTogSUFJT1NlcnZlckZvclJlY29yZCB7XG4gICAgLy8gSW1wb3J0IG9ubHkgdGhlIEVsYXN0aWMgSVAgd2hpY2ggaXMgYWxsIHRoYXQncyBuZWVkZWQgZm9yIEFJT1NlcnZlclJlY29yZFxuICAgIGNvbnN0IGVpcCA9IEZuLmltcG9ydFZhbHVlKFwiQUlPU2VydmVyRWlwXCIpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGluc3RhbmNlOiB7XG4gICAgICAgIGluc3RhbmNlUHVibGljSXA6IGVpcCxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICB7XG4gICAgICBrZXlQYWlyTmFtZSxcbiAgICAgIHVzZXJEYXRhID0gW10sXG4gICAgICBpbnN0YW5jZVR5cGUgPSBcInQ0Zy5zbWFsbFwiLFxuICAgICAgaW5saW5lUG9saWNpZXMsXG4gICAgfTogQUlPU2VydmVyUHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHZwYyA9IG5ldyBWcGModGhpcywgXCJWcGNcIiwge1xuICAgICAgbWF4QXpzOiAxLFxuICAgICAgc3VibmV0Q29uZmlndXJhdGlvbjogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJQdWJsaWNTdWJuZXRcIixcbiAgICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBVQkxJQyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBzZWN1cml0eUdyb3VwID0gbmV3IFNlY3VyaXR5R3JvdXAodGhpcywgXCJTZWN1cml0eUdyb3VwXCIsIHtcbiAgICAgIHZwYyxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkFJT1NlcnZlciBzZWN1cml0eSBncm91cFwiLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogZmFsc2UsXG4gICAgfSk7XG5cbiAgICBzZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgUGVlci5hbnlJcHY0KCksXG4gICAgICBQb3J0LnRjcCg4MCksXG4gICAgICBcIkhUVFAgZnJvbSBpbnRlcm5ldFwiXG4gICAgKTtcblxuICAgIHNlY3VyaXR5R3JvdXAuYWRkSW5ncmVzc1J1bGUoXG4gICAgICBQZWVyLmFueUlwdjQoKSxcbiAgICAgIFBvcnQudGNwKDQ0MyksXG4gICAgICBcIkhUVFBTIGZyb20gaW50ZXJuZXRcIlxuICAgICk7XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBJbnN0YW5jZSh0aGlzLCBcIkluc3RhbmNlXCIsIHtcbiAgICAgIHZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QVUJMSUMgfSxcbiAgICAgIGluc3RhbmNlVHlwZTogbmV3IEluc3RhbmNlVHlwZShpbnN0YW5jZVR5cGUpLFxuICAgICAgbWFjaGluZUltYWdlOiBNYWNoaW5lSW1hZ2UubGF0ZXN0QW1hem9uTGludXgyMDIzKHtcbiAgICAgICAgY3B1VHlwZTogQW1hem9uTGludXhDcHVUeXBlLkFSTV82NCxcbiAgICAgICAgY2FjaGVkSW5Db250ZXh0OiB0cnVlLFxuICAgICAgfSksXG4gICAgICBzZWN1cml0eUdyb3VwOiBzZWN1cml0eUdyb3VwLFxuICAgICAgcm9sZTogbmV3IFJvbGUodGhpcywgXCJJbmN1YmF0b3JBcHBTZXJ2ZXJSb2xlXCIsIHtcbiAgICAgICAgYXNzdW1lZEJ5OiBuZXcgU2VydmljZVByaW5jaXBhbChcImVjMi5hbWF6b25hd3MuY29tXCIpLFxuICAgICAgICBtYW5hZ2VkUG9saWNpZXM6IFtcbiAgICAgICAgICBNYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcbiAgICAgICAgICAgIFwiQW1hem9uU1NNTWFuYWdlZEluc3RhbmNlQ29yZVwiXG4gICAgICAgICAgKSxcbiAgICAgICAgICBNYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcIkNsb3VkV2F0Y2hBZ2VudFNlcnZlclBvbGljeVwiKSxcbiAgICAgICAgXSxcbiAgICAgICAgaW5saW5lUG9saWNpZXMsXG4gICAgICB9KSxcbiAgICAgIGtleVBhaXI6IEtleVBhaXIuZnJvbUtleVBhaXJOYW1lKHRoaXMsIFwiS2V5UGFpclwiLCBrZXlQYWlyTmFtZSksXG4gICAgICBibG9ja0RldmljZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGRldmljZU5hbWU6IFwiL2Rldi94dmRhXCIsXG4gICAgICAgICAgdm9sdW1lOiBCbG9ja0RldmljZVZvbHVtZS5lYnMoMjAsIHtcbiAgICAgICAgICAgIHZvbHVtZVR5cGU6IEVic0RldmljZVZvbHVtZVR5cGUuR1AzLFxuICAgICAgICAgICAgZGVsZXRlT25UZXJtaW5hdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBlbmNyeXB0ZWQ6IHRydWUsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgaW5zdGFuY2UuYWRkVXNlckRhdGEoXG4gICAgICBcImRuZiB1cGRhdGUgLXlcIixcbiAgICAgIC4uLnVzZXJEYXRhLFxuICAgICAgXCJkbmYgaW5zdGFsbCAteSBhbWF6b24tY2xvdWR3YXRjaC1hZ2VudFwiLFxuICAgICAgJ2VjaG8gXCJVc2VyRGF0YSBjb21wbGV0ZVwiJ1xuICAgICk7XG5cbiAgICAvLyBBbGxvY2F0ZSBFbGFzdGljIElQIGFuZCBhc3NvY2lhdGUgd2l0aCBpbnN0YW5jZSBmb3Igc3RhYmxlIHB1YmxpYyBhZGRyZXNzXG4gICAgY29uc3QgZWlwID0gbmV3IENmbkVJUCh0aGlzLCBcIkVpcFwiLCB7XG4gICAgICBkb21haW46IFwidnBjXCIsXG4gICAgfSk7XG5cbiAgICBuZXcgQ2ZuRUlQQXNzb2NpYXRpb24odGhpcywgXCJDZm5FaXBBc3NvY2lhdGlvblwiLCB7XG4gICAgICBhbGxvY2F0aW9uSWQ6IGVpcC5hdHRyQWxsb2NhdGlvbklkLFxuICAgICAgaW5zdGFuY2VJZDogaW5zdGFuY2UuaW5zdGFuY2VJZCxcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJBSU9TZXJ2ZXJFbGFzdGljSXBcIiwge1xuICAgICAgdmFsdWU6IGVpcC5hdHRyUHVibGljSXAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJFbGFzdGljIElQIG9mIHRoZSBBSU8gU2VydmVyXCIsXG4gICAgICBleHBvcnROYW1lOiBcIkFJT1NlcnZlckVpcFwiLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkFJT1NlcnZlckluc3RhbmNlSWRcIiwge1xuICAgICAgdmFsdWU6IGluc3RhbmNlLmluc3RhbmNlSWQsXG4gICAgICBleHBvcnROYW1lOiBcIkFJT1NlcnZlckluc3RhbmNlSWRcIixcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJBSU9TZXJ2ZXJTZWN1cml0eUdyb3VwSWRcIiwge1xuICAgICAgdmFsdWU6IHNlY3VyaXR5R3JvdXAuc2VjdXJpdHlHcm91cElkLFxuICAgICAgZXhwb3J0TmFtZTogXCJBSU9TZXJ2ZXJTZWN1cml0eUdyb3VwSWRcIixcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJBSU9TZXJ2ZXJWcGNJZFwiLCB7XG4gICAgICB2YWx1ZTogdnBjLnZwY0lkLFxuICAgICAgZXhwb3J0TmFtZTogXCJBSU9TZXJ2ZXJWcGNJZFwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5pbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgIHRoaXMuc2VjdXJpdHlHcm91cCA9IHNlY3VyaXR5R3JvdXA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Construct } from "constructs";
|
|
2
|
-
import {
|
|
2
|
+
import { IAIOServerForRecord } from "./AIOServer";
|
|
3
3
|
import { IHostedZone } from "aws-cdk-lib/aws-route53";
|
|
4
4
|
export interface AIOServerRecordProps {
|
|
5
|
-
aioserver:
|
|
5
|
+
aioserver: IAIOServerForRecord;
|
|
6
6
|
domain: string;
|
|
7
|
+
subdomain?: string;
|
|
8
|
+
addWWW?: boolean;
|
|
7
9
|
hostedZone?: IHostedZone;
|
|
8
10
|
}
|
|
9
11
|
export declare class AIOServerRecord extends Construct {
|
|
10
|
-
constructor(scope: Construct, id: string, { aioserver, domain, hostedZone }: AIOServerRecordProps);
|
|
12
|
+
constructor(scope: Construct, id: string, { aioserver, domain, subdomain, addWWW, hostedZone, }: AIOServerRecordProps);
|
|
11
13
|
}
|
package/dist/AIOServerRecord.js
CHANGED
|
@@ -5,7 +5,7 @@ const constructs_1 = require("constructs");
|
|
|
5
5
|
const aws_route53_1 = require("aws-cdk-lib/aws-route53");
|
|
6
6
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
7
7
|
class AIOServerRecord extends constructs_1.Construct {
|
|
8
|
-
constructor(scope, id, { aioserver, domain, hostedZone }) {
|
|
8
|
+
constructor(scope, id, { aioserver, domain, subdomain, addWWW = false, hostedZone, }) {
|
|
9
9
|
super(scope, id);
|
|
10
10
|
const publicZone = hostedZone ??
|
|
11
11
|
aws_route53_1.HostedZone.fromLookup(this, `${domain}-PublicZone`, {
|
|
@@ -13,17 +13,19 @@ class AIOServerRecord extends constructs_1.Construct {
|
|
|
13
13
|
});
|
|
14
14
|
new aws_route53_1.ARecord(this, `ARecord-${domain}`, {
|
|
15
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}`, "")}`,
|
|
16
|
+
recordName: `${subdomain ? `${subdomain}.` : ""}${domain.replace(`.${publicZone.zoneName}`, "")}`,
|
|
23
17
|
target: aws_route53_1.RecordTarget.fromIpAddresses(aioserver.instance.instancePublicIp),
|
|
24
18
|
ttl: aws_cdk_lib_1.Duration.minutes(1),
|
|
25
19
|
});
|
|
20
|
+
if (addWWW) {
|
|
21
|
+
new aws_route53_1.ARecord(this, `ARecord-WWW-${domain}`, {
|
|
22
|
+
zone: publicZone,
|
|
23
|
+
recordName: `www.${domain.replace(`.${publicZone.zoneName}`, "")}`,
|
|
24
|
+
target: aws_route53_1.RecordTarget.fromIpAddresses(aioserver.instance.instancePublicIp),
|
|
25
|
+
ttl: aws_cdk_lib_1.Duration.minutes(1),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
26
28
|
}
|
|
27
29
|
}
|
|
28
30
|
exports.AIOServerRecord = AIOServerRecord;
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUlPU2VydmVyUmVjb3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL0FJT1NlcnZlclJlY29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFFdkMseURBS2lDO0FBQ2pDLDZDQUF1QztBQVV2QyxNQUFhLGVBQWdCLFNBQVEsc0JBQVM7SUFDNUMsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsRUFDRSxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxNQUFNLEdBQUcsS0FBSyxFQUNkLFVBQVUsR0FDVztRQUV2QixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sVUFBVSxHQUNkLFVBQVU7WUFDVix3QkFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxNQUFNLGFBQWEsRUFBRTtnQkFDbEQsVUFBVSxFQUFFLE1BQU07YUFDbkIsQ0FBQyxDQUFDO1FBRUwsSUFBSSxxQkFBTyxDQUFDLElBQUksRUFBRSxXQUFXLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksRUFBRSxVQUFVO1lBQ2hCLFVBQVUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQzlELElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUN6QixFQUFFLENBQ0gsRUFBRTtZQUNILE1BQU0sRUFBRSwwQkFBWSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1lBQ3pFLEdBQUcsRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUkscUJBQU8sQ0FBQyxJQUFJLEVBQUUsZUFBZSxNQUFNLEVBQUUsRUFBRTtnQkFDekMsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLFVBQVUsRUFBRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0JBQ2xFLE1BQU0sRUFBRSwwQkFBWSxDQUFDLGVBQWUsQ0FDbEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FDcEM7Z0JBQ0QsR0FBRyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUN6QixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBekNELDBDQXlDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBJQUlPU2VydmVyRm9yUmVjb3JkIH0gZnJvbSBcIi4vQUlPU2VydmVyXCI7XG5pbXBvcnQge1xuICBBUmVjb3JkLFxuICBIb3N0ZWRab25lLFxuICBJSG9zdGVkWm9uZSxcbiAgUmVjb3JkVGFyZ2V0LFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlPU2VydmVyUmVjb3JkUHJvcHMge1xuICBhaW9zZXJ2ZXI6IElBSU9TZXJ2ZXJGb3JSZWNvcmQ7XG4gIGRvbWFpbjogc3RyaW5nO1xuICBzdWJkb21haW4/OiBzdHJpbmc7XG4gIGFkZFdXVz86IGJvb2xlYW47XG4gIGhvc3RlZFpvbmU/OiBJSG9zdGVkWm9uZTtcbn1cblxuZXhwb3J0IGNsYXNzIEFJT1NlcnZlclJlY29yZCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICB7XG4gICAgICBhaW9zZXJ2ZXIsXG4gICAgICBkb21haW4sXG4gICAgICBzdWJkb21haW4sXG4gICAgICBhZGRXV1cgPSBmYWxzZSxcbiAgICAgIGhvc3RlZFpvbmUsXG4gICAgfTogQUlPU2VydmVyUmVjb3JkUHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHB1YmxpY1pvbmUgPVxuICAgICAgaG9zdGVkWm9uZSA/P1xuICAgICAgSG9zdGVkWm9uZS5mcm9tTG9va3VwKHRoaXMsIGAke2RvbWFpbn0tUHVibGljWm9uZWAsIHtcbiAgICAgICAgZG9tYWluTmFtZTogZG9tYWluLFxuICAgICAgfSk7XG5cbiAgICBuZXcgQVJlY29yZCh0aGlzLCBgQVJlY29yZC0ke2RvbWFpbn1gLCB7XG4gICAgICB6b25lOiBwdWJsaWNab25lLFxuICAgICAgcmVjb3JkTmFtZTogYCR7c3ViZG9tYWluID8gYCR7c3ViZG9tYWlufS5gIDogXCJcIn0ke2RvbWFpbi5yZXBsYWNlKFxuICAgICAgICBgLiR7cHVibGljWm9uZS56b25lTmFtZX1gLFxuICAgICAgICBcIlwiXG4gICAgICApfWAsXG4gICAgICB0YXJnZXQ6IFJlY29yZFRhcmdldC5mcm9tSXBBZGRyZXNzZXMoYWlvc2VydmVyLmluc3RhbmNlLmluc3RhbmNlUHVibGljSXApLFxuICAgICAgdHRsOiBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgIH0pO1xuXG4gICAgaWYgKGFkZFdXVykge1xuICAgICAgbmV3IEFSZWNvcmQodGhpcywgYEFSZWNvcmQtV1dXLSR7ZG9tYWlufWAsIHtcbiAgICAgICAgem9uZTogcHVibGljWm9uZSxcbiAgICAgICAgcmVjb3JkTmFtZTogYHd3dy4ke2RvbWFpbi5yZXBsYWNlKGAuJHtwdWJsaWNab25lLnpvbmVOYW1lfWAsIFwiXCIpfWAsXG4gICAgICAgIHRhcmdldDogUmVjb3JkVGFyZ2V0LmZyb21JcEFkZHJlc3NlcyhcbiAgICAgICAgICBhaW9zZXJ2ZXIuaW5zdGFuY2UuaW5zdGFuY2VQdWJsaWNJcFxuICAgICAgICApLFxuICAgICAgICB0dGw6IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|