private TenantDetails addRoute53Recordset()

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;
	}