private TenantDetails updateDistroConfig()

in services/shared-services/tenant-registration-service/src/main/java/com/amazonaws/saas/eks/TenantRegistrationService.java [268:312]


	private TenantDetails updateDistroConfig(TenantDetails tenant) {
		AmazonCloudFront amazonCloudFront = AmazonCloudFrontClientBuilder.defaultClient();

		UpdateDistributionRequest updateDistributionRequest = new UpdateDistributionRequest();
		GetDistributionResult distroInfo = getDistributionDetails(amazonCloudFront, tenant);

		LoggingManager.logInfo(tenant.getTenantId(), "CustomDomain:" + tenant.getCustomDomain());
		LoggingManager.logInfo(tenant.getTenantId(), "AppCloudFrontId:" + tenant.getAppCloudFrontId());
		LoggingManager.logInfo(tenant.getTenantId(), "Distro:" + distroInfo.toString());

		updateDistributionRequest.setId(tenant.getAppCloudFrontId());
		updateDistributionRequest.setIfMatch(distroInfo.getETag());

		DistributionConfig distributionConfig = distroInfo.getDistribution().getDistributionConfig();

		Aliases existingAliases = null;
		Aliases newAliases = new Aliases();

		if (distributionConfig != null) {
			existingAliases = distributionConfig.getAliases();

			List<String> items = new ArrayList<String>();
			for (String item : existingAliases.getItems()) {
				items.add(item);
			}
			items.add(tenant.getTenantId().toLowerCase() + "." + tenant.getCustomDomain());

			newAliases.setItems(items);
			newAliases.setQuantity(existingAliases.getQuantity() + 1);
		}

		distroInfo.getDistribution().getDistributionConfig().setAliases(newAliases);

		updateDistributionRequest.setDistributionConfig(distributionConfig);

		UpdateDistributionResult result = amazonCloudFront.updateDistribution(updateDistributionRequest);

		LoggingManager.logInfo(tenant.getTenantId(),
				"Updating Cloudfront Distribution successful for domain =>" + result.getDistribution().getDomainName());

		// Retrieve DomainName from the result and set it to tenant details.
		tenant.setAppCloudFrontDomainName(result.getDistribution().getDomainName());

		return tenant;
	}