Example usage for com.amazonaws.services.s3.model BucketWebsiteConfiguration setRoutingRules

List of usage examples for com.amazonaws.services.s3.model BucketWebsiteConfiguration setRoutingRules

Introduction

In this page you can find the example usage for com.amazonaws.services.s3.model BucketWebsiteConfiguration setRoutingRules.

Prototype

public void setRoutingRules(List<RoutingRule> routingRules) 

Source Link

Document

Set the list of routing rules that can be used for configuring redirects if certain conditions are meet.

Usage

From source file:com.eucalyptus.cloudformation.resources.standard.actions.AWSS3BucketResourceAction.java

License:Open Source License

private BucketWebsiteConfiguration convertWebsiteConfiguration(S3WebsiteConfiguration websiteConfiguration) {
    BucketWebsiteConfiguration bucketWebsiteConfiguration = new BucketWebsiteConfiguration();
    bucketWebsiteConfiguration.setErrorDocument(websiteConfiguration.getErrorDocument());
    bucketWebsiteConfiguration.setIndexDocumentSuffix(websiteConfiguration.getIndexDocument());
    if (websiteConfiguration.getRedirectAllRequestsTo() != null) {
        RedirectRule redirectAllRequestsTo = new RedirectRule();
        redirectAllRequestsTo.setHostName(websiteConfiguration.getRedirectAllRequestsTo().getHostName());
        redirectAllRequestsTo.setProtocol(websiteConfiguration.getRedirectAllRequestsTo().getProtocol());
        bucketWebsiteConfiguration.setRedirectAllRequestsTo(redirectAllRequestsTo);
    }/*from  w  w w.  j a va2  s .c om*/
    if (websiteConfiguration.getRoutingRules() != null) {
        List<RoutingRule> routingRules = Lists.newArrayList();
        for (S3WebsiteConfigurationRoutingRule s3WebsiteConfigurationRoutingRule : websiteConfiguration
                .getRoutingRules()) {
            RoutingRule routingRule = new RoutingRule();
            if (s3WebsiteConfigurationRoutingRule.getRoutingRuleCondition() != null) {
                RoutingRuleCondition condition = new RoutingRuleCondition();
                condition.setHttpErrorCodeReturnedEquals(s3WebsiteConfigurationRoutingRule
                        .getRoutingRuleCondition().getHttpErrorCodeReturnedEquals());
                condition.setKeyPrefixEquals(
                        s3WebsiteConfigurationRoutingRule.getRoutingRuleCondition().getKeyPrefixEquals());
                routingRule.setCondition(condition);
            }
            if (s3WebsiteConfigurationRoutingRule.getRedirectRule() != null) {
                RedirectRule redirect = new RedirectRule();
                redirect.setReplaceKeyWith(
                        s3WebsiteConfigurationRoutingRule.getRedirectRule().getReplaceKeyWith());
                redirect.setReplaceKeyPrefixWith(
                        s3WebsiteConfigurationRoutingRule.getRedirectRule().getReplaceKeyPrefixWith());
                redirect.setProtocol(s3WebsiteConfigurationRoutingRule.getRedirectRule().getProtocol());
                redirect.setHttpRedirectCode(
                        s3WebsiteConfigurationRoutingRule.getRedirectRule().getHttpRedirectCode());
                redirect.setHostName(s3WebsiteConfigurationRoutingRule.getRedirectRule().getHostName());
                routingRule.setRedirect(redirect);
            }
            routingRules.add(routingRule);
        }
        bucketWebsiteConfiguration.setRoutingRules(routingRules);
    }
    return bucketWebsiteConfiguration;
}