in services/shared-services/tenant-registration-service/src/main/java/com/amazonaws/saas/eks/TenantRegistrationService.java [321:362]
private TenantDetails addRoute53Recordset(TenantDetails tenant) {
String name = tenant.getTenantId() + "." + tenant.getCustomDomain();
LoggingManager.logInfo(tenant.getTenantId(), "Recordset name=>" + name);
AmazonRoute53 route53Client = AmazonRoute53ClientBuilder.defaultClient();
List<Change> changes = new ArrayList<Change>();
ResourceRecordSet resourceRecordSet = new ResourceRecordSet();
resourceRecordSet.setName(name);
resourceRecordSet.setType("A");
AliasTarget aliasTarget = new AliasTarget();
aliasTarget.setDNSName(tenant.getAppCloudFrontDomainName());
aliasTarget.setEvaluateTargetHealth(false);
aliasTarget.setHostedZoneId("Z2FDTNDATAQYW2"); // Fixed string for Cloudfront distributions!!!
resourceRecordSet.setAliasTarget(aliasTarget);
Change change = new Change(ChangeAction.UPSERT, resourceRecordSet);
changes.add(change);
ChangeBatch changeBatch = new ChangeBatch(changes);
changeBatch.setComment(tenant.getTenantId() + "'s Alias for EKS Reference Architecture's tenant app");
ChangeResourceRecordSetsRequest changeResourceRecordSetsRequest = new ChangeResourceRecordSetsRequest()
.withHostedZoneId(tenant.getHostedZoneId()).withChangeBatch(changeBatch);
ChangeResourceRecordSetsResult result = route53Client.changeResourceRecordSets(changeResourceRecordSetsRequest);
LoggingManager.logInfo(tenant.getTenantId(), "Add Route 53 RecordSet successful.");
// Return RedirectUri and SilentRefreshRedirectUri
String redirectUrl = "https://" + tenant.getTenantId() + "." + tenant.getCustomDomain() + "/dashboard";
LoggingManager.logInfo(tenant.getTenantId(), "redirectUrl=>" + redirectUrl);
tenant.setRedirectUrl(redirectUrl);
String silentRefreshRedirectUri = "https://" + tenant.getTenantId() + "." + tenant.getCustomDomain()
+ "/silentrefresh";
LoggingManager.logInfo(tenant.getTenantId(), "SilentRefreshRedirectUri=>" + silentRefreshRedirectUri);
tenant.setSilentRefreshRedirectUri(silentRefreshRedirectUri);
return tenant;
}