Example usage for com.amazonaws.services.s3.model RoutingRule setCondition

List of usage examples for com.amazonaws.services.s3.model RoutingRule setCondition

Introduction

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

Prototype

public void setCondition(RoutingRuleCondition condition) 

Source Link

Document

Set the condition that must be met for the specified redirect to apply.

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);
    }//  w  w w . j av a  2s.c  o m
    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;
}