S3 Bucket With Componsite Components
This example demonstrates how to create an S3 bucket using the composite components. It builds upon the basic bucket example, integrating functionality into a higher-level abstraction.
- app.tsx
- Overview
- Terraform
import { AwsStack } from '@dinghy/tf-aws'
import { S3Bucket } from '@dinghy/tf-aws/s3'
export default () => (
<AwsStack>
<S3Bucket
bucket='my-demo-bucket-with-versioning'
versioningEnabled
/>
</AwsStack>
)

stack.tf.json
{
"provider": {
"aws": [
{
"region": "us-east-1",
"default_tags": {
"tags": {
"iac:stack-title": "Bucket With Composite Components",
"iac:stack-name": "bucket-with-composite-components"
}
}
}
]
},
"terraform": {
"required_providers": {
"aws": {
"source": "aws",
"version": "6.28.0"
}
},
"backend": {
"local": {
"path": "stack.tfstate.json"
}
}
},
"resource": {
"aws_s3_bucket": {
"awss3bucket_mydemobucketwithversioning": {
"bucket": "my-demo-bucket-with-versioning",
"tags": {
"Name": "my-demo-bucket-with-versioning",
"iac:id": "awss3bucket_mydemobucketwithversioning"
}
}
},
"aws_s3_bucket_versioning": {
"awss3bucket_mydemobucketwithversioning_versioning": {
"depends_on": [
"aws_s3_bucket.awss3bucket_mydemobucketwithversioning"
],
"bucket": "my-demo-bucket-with-versioning",
"versioning_configuration": {
"status": "Enabled"
}
}
}
}
}