Skip to content

Instantly share code, notes, and snippets.

View sscovil's full-sized avatar

Shaun Scovil sscovil

View GitHub Profile
@sscovil
sscovil / main.py
Last active November 17, 2022 01:08
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):
@sscovil
sscovil / main.py
Last active November 17, 2022 01:05
Terraform CDK template with S3 Bucket, incorrectly formatted when converted from Terraform using the 'cdktf convert' command.
from constructs import Construct
from cdktf import App, TerraformStack, TerraformOutput
from cdktf_cdktf_provider_aws.provider import AwsProvider
from cdktf_cdktf_provider_aws.s3_bucket import S3Bucket
class MyStack(TerraformStack):
def __init__(self, scope: Construct, ns: str):
super().__init__(scope, ns)
@sscovil
sscovil / main.py
Last active November 17, 2022 01:00
Terraform CDK using Dynamic Provider w/ AWS or LocalStack (Python)
from cdktf import App, TerraformStack, TerraformOutput
from constructs import Construct
from provider import Provider, get_provider
class ExampleStack(TerraformStack):
def __init__(self, scope: Construct, ns: str, provider: Provider):
super().__init__(scope, ns)
@sscovil
sscovil / main.py
Last active November 17, 2022 00:57
Terraform CDK using AWS Provider w/ LocalStack (Python)
from cdktf import App, TerraformStack, TerraformOutput
from cdktf_cdktf_provider_aws.provider import AwsProvider
from constructs import Construct
class ExampleStack(TerraformStack):
def __init__(self, scope: Construct, ns: str):
super().__init__(scope, ns)
AwsProvider(
@sscovil
sscovil / main.py
Created November 9, 2022 09:21
Terraform CDK Python app template, with AwsProvider added.
from constructs import Construct
from cdktf import App, TerraformStack
from cdktf_cdktf_provider_aws.provider import AwsProvider
class MyStack(TerraformStack):
def __init__(self, scope: Construct, id: str):
super().__init__(scope, id)
AwsProvider(self, "aws", region="us-east-1")
@sscovil
sscovil / main.py
Created November 9, 2022 09:18
Terraform CDK Python app template, generated by running 'cdktf init --template=python --local'.
from constructs import Construct
from cdktf import App, TerraformStack
class MyStack(TerraformStack):
def __init__(self, scope: Construct, id: str):
super().__init__(scope, id)
# define resources here
@sscovil
sscovil / s3_bucket.py
Created November 9, 2022 09:07
Terraform CDK code for an S3 bucket, converted from Terraform using the 'cdktf convert' command.
# Provider bindings are generated by running cdktf get.
# See https://cdk.tf/provider-generation for more details.
import ...gen.providers.aws as aws
aws.s3_bucket.S3Bucket(self, "tfer--terraformer-to-cdktf",
arn="arn:aws:s3:::terraformer-to-cdktf",
bucket="terraformer-to-cdktf",
force_destroy="false",
grant=[{
"id": "8d21f6687505cae71b257ce38713a9e2071c721a304f2b0720ed73103d3709d2",
"permissions": ["FULL_CONTROL"],
@sscovil
sscovil / s3_bucket.tf
Created November 9, 2022 09:02
Terraform configuration for an S3 bucket, generated by Terraformer.
resource "aws_s3_bucket" "tfer--terraformer-to-cdktf" {
arn = "arn:aws:s3:::terraformer-to-cdktf"
bucket = "terraformer-to-cdktf"
force_destroy = "false"
grant {
id = "8d21f6687505cae71b257ce38713a9e2071c721a304f2b0720ed73103d3709d2"
permissions = ["FULL_CONTROL"]
type = "CanonicalUser"
}
@sscovil
sscovil / jira-github-review-lambda.py
Created November 7, 2022 15:07
Python lambda function for accepting incoming webhooks from GitHub for pull request reviews, and passing the review status to a Jira incoming webhook automation.
#!/usr/bin/env python
import json
import os
import re
import urllib3
http = urllib3.PoolManager()
jira_webhook_url = os.environ["JIRA_WEBHOOK_URL"]
valid_states = ["APPROVED", "CHANGES_REQUESTED"]
@sscovil
sscovil / main.py
Last active November 6, 2022 20:32
Terraform CDK using AWS Provider (Python)
from cdktf import App, TerraformStack, TerraformOutput
from cdktf_cdktf_provider_aws.provider import AwsProvider
from constructs import Construct
class ExampleStack(TerraformStack):
def __init__(self, scope: Construct, ns: str):
super().__init__(scope, ns)
AwsProvider(self, "aws", region="us-east-1")