@cloudcamp/aws-runtime
Version:
CloudCamp - Launch faster by building scalable infrastructure in few lines of code.
83 lines • 8.62 kB
JavaScript
;
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