UNPKG

@cloudcamp/aws-runtime

Version:

CloudCamp - Launch faster by building scalable infrastructure in few lines of code.

83 lines 8.62 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.Domain = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const ref_1 = require("./ref"); const route53 = require("aws-cdk-lib/aws-route53"); const core_1 = require("aws-cdk-lib/core"); const constructs_1 = require("constructs"); /** * @experimental * @order 6 */ class Domain extends constructs_1.Construct { /** * @param scope The parent of this resource, for example a ``{@link "app#stacks" | Stack}``. * @experimental */ constructor(scope, id, props) { super(scope, id); this.hostedZone = ref_1.Ref.getHostedZone(this, "hosted-zone", { name: props.domain, }); } /** * @experimental */ mxRecord(id, props) { new route53.MxRecord(this, id, { zone: this.hostedZone, values: props.values, ttl: props.ttl ? core_1.Duration.minutes(props.ttl) : undefined, }); } /** * @experimental */ cnameRecord(id, props) { new route53.CnameRecord(this, id, { recordName: props.name, domainName: props.target, ttl: props.ttl ? core_1.Duration.minutes(props.ttl) : undefined, zone: this.hostedZone, }); } /** * @experimental */ aRecord(id, props) { new route53.ARecord(this, id, { recordName: props.name, target: route53.RecordTarget.fromIpAddresses(props.targetIP), ttl: props.ttl ? core_1.Duration.minutes(props.ttl) : undefined, zone: this.hostedZone, }); } /** * @experimental */ aaaaRecord(id, props) { new route53.AaaaRecord(this, id, { recordName: props.name, target: route53.RecordTarget.fromIpAddresses(props.targetIP), ttl: props.ttl ? core_1.Duration.minutes(props.ttl) : undefined, zone: this.hostedZone, }); } /** * @experimental */ txtRecord(id, props) { new route53.TxtRecord(this, id, { recordName: props.name, values: props.values, ttl: props.ttl ? core_1.Duration.minutes(props.ttl) : undefined, zone: this.hostedZone, }); } } exports.Domain = Domain; _a = JSII_RTTI_SYMBOL_1; Domain[_a] = { fqn: "@cloudcamp/aws-runtime.Domain", version: "0.0.1" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RvbWFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1QixtREFBbUQ7QUFDbkQsMkNBQTRDO0FBQzVDLDJDQUF1Qzs7Ozs7QUFnQ3ZDLE1BQWEsTUFBTyxTQUFRLHNCQUFTOzs7OztJQUluQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWtCO1FBQzFELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDdkQsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxRQUFRLENBQUMsRUFBVSxFQUFFLEtBQW9CO1FBQ3ZDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVTtZQUNyQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGVBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ3pELENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxXQUFXLENBQUMsRUFBVSxFQUFFLEtBQXVCO1FBQzdDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSTtZQUN0QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDeEIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGVBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ3hELElBQUksRUFBRSxJQUFJLENBQUMsVUFBVTtTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsT0FBTyxDQUFDLEVBQVUsRUFBRSxLQUFtQjtRQUNyQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUM1QixVQUFVLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDdEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDNUQsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGVBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ3hELElBQUksRUFBRSxJQUFJLENBQUMsVUFBVTtTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsVUFBVSxDQUFDLEVBQVUsRUFBRSxLQUFtQjtRQUN4QyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUMvQixVQUFVLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDdEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDNUQsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGVBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ3hELElBQUksRUFBRSxJQUFJLENBQUMsVUFBVTtTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsU0FBUyxDQUFDLEVBQVUsRUFBRSxLQUFxQjtRQUN6QyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUM5QixVQUFVLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDdEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUN4RCxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF0REgsd0JBdURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmIH0gZnJvbSBcIi4vcmVmXCI7XG5pbXBvcnQgKiBhcyByb3V0ZTUzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvY29yZVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEb21haW5Qcm9wcyB7XG4gIHJlYWRvbmx5IGRvbWFpbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE14UmVjb3JkUHJvcHMge1xuICByZWFkb25seSB0dGw/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHZhbHVlczogcm91dGU1My5NeFJlY29yZFZhbHVlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ05hbWVSZWNvcmRQcm9wcyB7XG4gIHJlYWRvbmx5IHR0bD86IG51bWJlcjtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSB0YXJnZXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBUmVjb3JkUHJvcHMge1xuICByZWFkb25seSB0dGw/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdGFyZ2V0SVA6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBYWFhUmVjb3JkUHJvcHMgZXh0ZW5kcyBBUmVjb3JkUHJvcHMge31cblxuZXhwb3J0IGludGVyZmFjZSBUeHRSZWNvcmRQcm9wcyB7XG4gIHJlYWRvbmx5IHR0bD86IG51bWJlcjtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSB2YWx1ZXM6IHN0cmluZ1tdO1xufVxuXG4gICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgRG9tYWluIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgaG9zdGVkWm9uZTogcm91dGU1My5JSG9zdGVkWm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEb21haW5Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmhvc3RlZFpvbmUgPSBSZWYuZ2V0SG9zdGVkWm9uZSh0aGlzLCBcImhvc3RlZC16b25lXCIsIHtcbiAgICAgIG5hbWU6IHByb3BzLmRvbWFpbixcbiAgICB9KTtcbiAgfVxuXG4gIG14UmVjb3JkKGlkOiBzdHJpbmcsIHByb3BzOiBNeFJlY29yZFByb3BzKSB7XG4gICAgbmV3IHJvdXRlNTMuTXhSZWNvcmQodGhpcywgaWQsIHtcbiAgICAgIHpvbmU6IHRoaXMuaG9zdGVkWm9uZSxcbiAgICAgIHZhbHVlczogcHJvcHMudmFsdWVzLFxuICAgICAgdHRsOiBwcm9wcy50dGwgPyBEdXJhdGlvbi5taW51dGVzKHByb3BzLnR0bCkgOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gIH1cblxuICBjbmFtZVJlY29yZChpZDogc3RyaW5nLCBwcm9wczogQ05hbWVSZWNvcmRQcm9wcykge1xuICAgIG5ldyByb3V0ZTUzLkNuYW1lUmVjb3JkKHRoaXMsIGlkLCB7XG4gICAgICByZWNvcmROYW1lOiBwcm9wcy5uYW1lLFxuICAgICAgZG9tYWluTmFtZTogcHJvcHMudGFyZ2V0LFxuICAgICAgdHRsOiBwcm9wcy50dGwgPyBEdXJhdGlvbi5taW51dGVzKHByb3BzLnR0bCkgOiB1bmRlZmluZWQsXG4gICAgICB6b25lOiB0aGlzLmhvc3RlZFpvbmUsXG4gICAgfSk7XG4gIH1cblxuICBhUmVjb3JkKGlkOiBzdHJpbmcsIHByb3BzOiBBUmVjb3JkUHJvcHMpIHtcbiAgICBuZXcgcm91dGU1My5BUmVjb3JkKHRoaXMsIGlkLCB7XG4gICAgICByZWNvcmROYW1lOiBwcm9wcy5uYW1lLFxuICAgICAgdGFyZ2V0OiByb3V0ZTUzLlJlY29yZFRhcmdldC5mcm9tSXBBZGRyZXNzZXMocHJvcHMudGFyZ2V0SVApLFxuICAgICAgdHRsOiBwcm9wcy50dGwgPyBEdXJhdGlvbi5taW51dGVzKHByb3BzLnR0bCkgOiB1bmRlZmluZWQsXG4gICAgICB6b25lOiB0aGlzLmhvc3RlZFpvbmUsXG4gICAgfSk7XG4gIH1cblxuICBhYWFhUmVjb3JkKGlkOiBzdHJpbmcsIHByb3BzOiBBUmVjb3JkUHJvcHMpIHtcbiAgICBuZXcgcm91dGU1My5BYWFhUmVjb3JkKHRoaXMsIGlkLCB7XG4gICAgICByZWNvcmROYW1lOiBwcm9wcy5uYW1lLFxuICAgICAgdGFyZ2V0OiByb3V0ZTUzLlJlY29yZFRhcmdldC5mcm9tSXBBZGRyZXNzZXMocHJvcHMudGFyZ2V0SVApLFxuICAgICAgdHRsOiBwcm9wcy50dGwgPyBEdXJhdGlvbi5taW51dGVzKHByb3BzLnR0bCkgOiB1bmRlZmluZWQsXG4gICAgICB6b25lOiB0aGlzLmhvc3RlZFpvbmUsXG4gICAgfSk7XG4gIH1cblxuICB0eHRSZWNvcmQoaWQ6IHN0cmluZywgcHJvcHM6IFR4dFJlY29yZFByb3BzKSB7XG4gICAgbmV3IHJvdXRlNTMuVHh0UmVjb3JkKHRoaXMsIGlkLCB7XG4gICAgICByZWNvcmROYW1lOiBwcm9wcy5uYW1lLFxuICAgICAgdmFsdWVzOiBwcm9wcy52YWx1ZXMsXG4gICAgICB0dGw6IHByb3BzLnR0bCA/IER1cmF0aW9uLm1pbnV0ZXMocHJvcHMudHRsKSA6IHVuZGVmaW5lZCxcbiAgICAgIHpvbmU6IHRoaXMuaG9zdGVkWm9uZSxcbiAgICB9KTtcbiAgfVxufVxuIl19