in lib/stacks/vcs-stack.ts [22:62]
constructor(scope: cdk.Construct, id: string, props: VCSStackProps) {
super(scope, id, props);
if (props.isSVN) {
// SVN
const svn = new SVNPattern(this, "svn", {
vpc: props.vpc,
backup: props.backup,
allowAccessFrom: props.allowAccessFrom,
subnetType: ec2.SubnetType.PUBLIC,
ssmLogBucket: props.ssmLogBucket,
});
new route53.ARecord(this, "vcs-ip", {
zone: props.zone,
recordName: props.recordName,
target: route53.RecordTarget.fromIpAddresses(
svn.instance.instancePrivateIp
),
});
}
// Perforce
const p4 = new P4Pattern(this, "p4", {
vpc: props.vpc,
backup: props.backup,
allowAccessFrom: props.allowAccessFrom,
subnetType: ec2.SubnetType.PUBLIC,
ssmLogBucket: props.ssmLogBucket,
// hasReplica: true, // WIP
});
new route53.ARecord(this, "p4-ip", {
zone: props.zone,
recordName: "p4",
target: route53.RecordTarget.fromIpAddresses(
p4.primaryInstance.instancePrivateIp
),
});
}