public AwsTeamCityTemplateCloudFront()

in src/main/java/jetbrains/teamcity/aws/template/services/cloudfront/AwsTeamCityTemplateCloudFront.java [36:55]


    public AwsTeamCityTemplateCloudFront(@NotNull final Construct scope, @NotNull final ApplicationLoadBalancedFargateService loadBalancedFargateService) {
        LoadBalancerV2Origin albOrigin = LoadBalancerV2Origin.Builder.create(loadBalancedFargateService.getLoadBalancer())
                .connectionAttempts(3)
                .connectionTimeout(Duration.seconds(5))
                .readTimeout(Duration.seconds(45))
                .customHeaders(Collections.singletonMap(CUSTOM_HTTP_HEADER_FOR_ALB_RESTRICTION, CUSTOM_HTTP_HEADER_FOR_ALB_RESTRICTION_VALUE))
                .keepaliveTimeout(Duration.seconds(45))
                .protocolPolicy(OriginProtocolPolicy.HTTP_ONLY) //unencrypted between alb and cloudfront
                .build();

        myCloudFrontDistribution = Distribution.Builder.create(scope, "TeamCityCloudFrontDistribution")
                .defaultBehavior(BehaviorOptions.builder()
                        .origin(albOrigin)
                        .viewerProtocolPolicy(ViewerProtocolPolicy.REDIRECT_TO_HTTPS)
                        .allowedMethods(AllowedMethods.ALLOW_ALL)
                        .originRequestPolicy(OriginRequestPolicy.ALL_VIEWER)
                        .cachePolicy(CachePolicy.CACHING_DISABLED)
                        .build())
                .build();
    }