Bucket Website Configuration V2Args
Provides an S3 bucket website configuration resource. For more information, see Hosting Websites on S3.
Example Usage
With routing_rule
configured
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.s3.BucketWebsiteConfigurationV2;
import com.pulumi.aws.s3.BucketWebsiteConfigurationV2Args;
import com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2IndexDocumentArgs;
import com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2ErrorDocumentArgs;
import com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2RoutingRuleArgs;
import com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2RoutingRuleConditionArgs;
import com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2RoutingRuleRedirectArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new BucketWebsiteConfigurationV2("example", BucketWebsiteConfigurationV2Args.builder()
.bucket(aws_s3_bucket.example().id())
.indexDocument(BucketWebsiteConfigurationV2IndexDocumentArgs.builder()
.suffix("index.html")
.build())
.errorDocument(BucketWebsiteConfigurationV2ErrorDocumentArgs.builder()
.key("error.html")
.build())
.routingRules(BucketWebsiteConfigurationV2RoutingRuleArgs.builder()
.condition(BucketWebsiteConfigurationV2RoutingRuleConditionArgs.builder()
.keyPrefixEquals("docs/")
.build())
.redirect(BucketWebsiteConfigurationV2RoutingRuleRedirectArgs.builder()
.replaceKeyPrefixWith("documents/")
.build())
.build())
.build());
}
}
With routing_rules
configured
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.s3.BucketWebsiteConfigurationV2;
import com.pulumi.aws.s3.BucketWebsiteConfigurationV2Args;
import com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2IndexDocumentArgs;
import com.pulumi.aws.s3.inputs.BucketWebsiteConfigurationV2ErrorDocumentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new BucketWebsiteConfigurationV2("example", BucketWebsiteConfigurationV2Args.builder()
.bucket(aws_s3_bucket.example().id())
.indexDocument(BucketWebsiteConfigurationV2IndexDocumentArgs.builder()
.suffix("index.html")
.build())
.errorDocument(BucketWebsiteConfigurationV2ErrorDocumentArgs.builder()
.key("error.html")
.build())
.routingRuleDetails("""
[{
"Condition": {
"KeyPrefixEquals": "docs/"
},
"Redirect": {
"ReplaceKeyPrefixWith": ""
}
}]
""")
.build());
}
}
Import
If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the bucket
and expected_bucket_owner
separated by a comma (,
): Using pulumi import
to import S3 bucket website configuration using the bucket
or using the bucket
and expected_bucket_owner
separated by a comma (,
). For example: If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the bucket
:
$ pulumi import aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2 example bucket-name
If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the bucket
and expected_bucket_owner
separated by a comma (,
):
$ pulumi import aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2 example bucket-name,123456789012
Constructors
Functions
Properties
JSON array containing routing rules describing redirect behavior and when redirects are applied. Use this parameter when your routing rules contain empty String values (""
) as seen in the example above.