bitter-fish-4928
06/13/2024, 7:19 PMfunc CreateS3Bucket(ctx *pulumi.Context) error {
// Create an S3 bucket
bucket, err := s3.NewBucket(ctx, "pulumi-test-bucket", &s3.BucketArgs{
Website: &s3.BucketWebsiteArgs{
IndexDocument: pulumi.String("index.html"),
ErrorDocument: pulumi.String("error.html"),
},
})
if err != nil {
return err
}
cdn, err := cloudfront.NewDistribution(ctx, "cdn", &cloudfront.DistributionArgs{
Enabled: pulumi.Bool(true),
Origins: cloudfront.DistributionOriginArray{
&cloudfront.DistributionOriginArgs{
OriginId: bucket.Arn,
DomainName: bucket.BucketRegionalDomainName,
S3OriginConfig: &cloudfront.DistributionOriginS3OriginConfigArgs{
OriginAccessIdentity: oai.CloudfrontAccessIdentityPath,
},
},
},
DefaultCacheBehavior: &cloudfront.DistributionDefaultCacheBehaviorArgs{
TargetOriginId: bucket.Arn,
ViewerProtocolPolicy: pulumi.String("redirect-to-https"),
AllowedMethods: pulumi.StringArray{
pulumi.String("GET"),
pulumi.String("HEAD"),
pulumi.String("OPTIONS"),
},
CachedMethods: pulumi.StringArray{
pulumi.String("GET"),
pulumi.String("HEAD"),
pulumi.String("OPTIONS"),
},
DefaultTtl: <http://pulumi.Int|pulumi.Int>(600),
MaxTtl: <http://pulumi.Int|pulumi.Int>(600),
MinTtl: <http://pulumi.Int|pulumi.Int>(600),
ForwardedValues: &cloudfront.DistributionDefaultCacheBehaviorForwardedValuesArgs{
QueryString: pulumi.Bool(false),
Cookies: &cloudfront.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs{
Forward: pulumi.String("none"),
},
},
},
PriceClass: pulumi.String("PriceClass_200"),
Restrictions: &cloudfront.DistributionRestrictionsArgs{
GeoRestriction: &cloudfront.DistributionRestrictionsGeoRestrictionArgs{
RestrictionType: pulumi.String("none"),
},
},
ViewerCertificate: &cloudfront.DistributionViewerCertificateArgs{
CloudfrontDefaultCertificate: pulumi.Bool(true),
},
})
if err != nil {
return err
}
incalculable-motherboard-92742
07/03/2024, 5:40 PM