Skip to content

Instantly share code, notes, and snippets.

@sscovil
Last active November 17, 2022 01:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sscovil/c3e5a17d0f4e4c85894b23249f4af128 to your computer and use it in GitHub Desktop.
Save sscovil/c3e5a17d0f4e4c85894b23249f4af128 to your computer and use it in GitHub Desktop.
Terraform CDK template with S3 Bucket, correctly formatted after being converted from Terraform using the 'cdktf convert' command.
from constructs import Construct
from cdktf import App, TerraformStack
from cdktf_cdktf_provider_aws.provider import AwsProvider
from cdktf_cdktf_provider_aws.s3_bucket import S3Bucket, S3BucketGrant, S3BucketServerSideEncryptionConfiguration, \
S3BucketServerSideEncryptionConfigurationRule, S3BucketVersioning, \
S3BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault
class ExampleStack(TerraformStack):
def __init__(self, scope: Construct, ns: str):
super().__init__(scope, ns)
AwsProvider(self, "aws", region="us-east-1")
S3Bucket(
self,
"tfer--terraformer-to-cdktf",
arn="arn:aws:s3:::terraformer-to-cdktf",
bucket="terraformer-to-cdktf",
force_destroy=False,
grant=[
S3BucketGrant(
id="8d21f6687505cae71b257ce38713a9e2071c721a304f2b0720ed73103d3709d2",
permissions=["FULL_CONTROL"],
type="CanonicalUser",
),
],
hosted_zone_id="Z5AGBSXGF7JATE",
object_lock_enabled=False,
request_payer="BucketOwner",
server_side_encryption_configuration=S3BucketServerSideEncryptionConfiguration(
rule=S3BucketServerSideEncryptionConfigurationRule(
apply_server_side_encryption_by_default=
S3BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault(
kms_master_key_id="arn:aws:kms:us-east-1:456517036819:alias/aws/s3",
sse_algorithm="aws:kms"
),
bucket_key_enabled=True,
)
),
tags={
"example": "true",
},
tags_all={
"example": "true",
},
versioning=S3BucketVersioning(enabled=False, mfa_delete=False),
)
app = App()
MyStack(app, "cdktf")
app.synth()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment