├── .github └── main.workflow ├── .gitignore ├── app ├── README.md ├── api │ ├── gateway_deployment │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf │ ├── gateway_rest_api │ │ ├── main.tf │ │ ├── output.tf │ │ └── variables.tf │ └── swagger.json ├── cloudwatch │ ├── main.tf │ ├── outputs.tf │ └── variables.tf ├── cognito │ └── user_pool │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf ├── dynamodb │ ├── README.md │ ├── main.tf │ ├── outputs.tf │ └── variables.tf ├── kms │ ├── main.tf │ ├── output.tf │ └── variables.tf ├── lambda │ ├── README.md │ ├── artifacts │ │ ├── crud_handler.zip │ │ ├── producerjobs.zip │ │ └── surveyjobs.zip │ ├── functions │ │ ├── crud_handler │ │ │ ├── app.py │ │ │ ├── requirements.txt │ │ │ └── template.yml │ │ ├── producerjobs │ │ │ ├── dyno2sqs.py │ │ │ └── requirements.txt │ │ └── surveyjobs │ │ │ ├── SV_cGXWxvADgIihxrf-Example Qualtrics Output.csv │ │ │ ├── qualtrics.py │ │ │ ├── requirements.txt │ │ │ ├── sentiment.py │ │ │ └── tests │ │ │ ├── __init__.py │ │ │ ├── surveys_endpoint_response.json │ │ │ ├── test_qualtrics.py │ │ │ └── test_question_choices.py │ ├── lambda_role_policy.tpl │ ├── main.tf │ ├── outputs.tf │ └── variables.tf └── sqs │ ├── main.tf │ ├── outputs.tf │ └── variables.tf ├── cicd └── plan │ ├── Dockerfile │ ├── README.md │ └── entrypoint.sh ├── collaboration ├── backend_aws.hcl ├── backend_remote.hcl ├── inputs.tf ├── main.tf └── outputs.tf ├── modules ├── terraform-google-ip-range-datasource │ ├── README.md │ ├── examples │ │ └── example_1 │ │ │ └── main.tf │ ├── main.tf │ ├── outputs.tf │ ├── scripts │ │ ├── __pycache__ │ │ │ └── datasource.cpython-37.pyc │ │ ├── datasource.py │ │ └── requirements.txt │ └── variables.tf └── trivial │ ├── examples │ └── main.tf │ ├── main.tf │ ├── outputs.tf │ └── variables.tf └── slides └── Take Terraform To The Next Level.pptx /.github/main.workflow: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/.github/main.workflow -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/.gitignore -------------------------------------------------------------------------------- /app/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/README.md -------------------------------------------------------------------------------- /app/api/gateway_deployment/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/api/gateway_deployment/main.tf -------------------------------------------------------------------------------- /app/api/gateway_deployment/outputs.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/api/gateway_deployment/variables.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/api/gateway_rest_api/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/api/gateway_rest_api/main.tf -------------------------------------------------------------------------------- /app/api/gateway_rest_api/output.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/api/gateway_rest_api/output.tf -------------------------------------------------------------------------------- /app/api/gateway_rest_api/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/api/gateway_rest_api/variables.tf -------------------------------------------------------------------------------- /app/api/swagger.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/api/swagger.json -------------------------------------------------------------------------------- /app/cloudwatch/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/cloudwatch/main.tf -------------------------------------------------------------------------------- /app/cloudwatch/outputs.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/cloudwatch/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/cloudwatch/variables.tf -------------------------------------------------------------------------------- /app/cognito/user_pool/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/cognito/user_pool/main.tf -------------------------------------------------------------------------------- /app/cognito/user_pool/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/cognito/user_pool/outputs.tf -------------------------------------------------------------------------------- /app/cognito/user_pool/variables.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/dynamodb/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/dynamodb/README.md -------------------------------------------------------------------------------- /app/dynamodb/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/dynamodb/main.tf -------------------------------------------------------------------------------- /app/dynamodb/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/dynamodb/outputs.tf -------------------------------------------------------------------------------- /app/dynamodb/variables.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/kms/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/kms/main.tf -------------------------------------------------------------------------------- /app/kms/output.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/kms/output.tf -------------------------------------------------------------------------------- /app/kms/variables.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/lambda/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/README.md -------------------------------------------------------------------------------- /app/lambda/artifacts/crud_handler.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/artifacts/crud_handler.zip -------------------------------------------------------------------------------- /app/lambda/artifacts/producerjobs.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/artifacts/producerjobs.zip -------------------------------------------------------------------------------- /app/lambda/artifacts/surveyjobs.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/artifacts/surveyjobs.zip -------------------------------------------------------------------------------- /app/lambda/functions/crud_handler/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/functions/crud_handler/app.py -------------------------------------------------------------------------------- /app/lambda/functions/crud_handler/requirements.txt: -------------------------------------------------------------------------------- 1 | requests 2 | -------------------------------------------------------------------------------- /app/lambda/functions/crud_handler/template.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/functions/crud_handler/template.yml -------------------------------------------------------------------------------- /app/lambda/functions/producerjobs/dyno2sqs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/functions/producerjobs/dyno2sqs.py -------------------------------------------------------------------------------- /app/lambda/functions/producerjobs/requirements.txt: -------------------------------------------------------------------------------- 1 | requests 2 | click 3 | python-json-logger -------------------------------------------------------------------------------- /app/lambda/functions/surveyjobs/SV_cGXWxvADgIihxrf-Example Qualtrics Output.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/functions/surveyjobs/SV_cGXWxvADgIihxrf-Example Qualtrics Output.csv -------------------------------------------------------------------------------- /app/lambda/functions/surveyjobs/qualtrics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/functions/surveyjobs/qualtrics.py -------------------------------------------------------------------------------- /app/lambda/functions/surveyjobs/requirements.txt: -------------------------------------------------------------------------------- 1 | requests -------------------------------------------------------------------------------- /app/lambda/functions/surveyjobs/sentiment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/functions/surveyjobs/sentiment.py -------------------------------------------------------------------------------- /app/lambda/functions/surveyjobs/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/lambda/functions/surveyjobs/tests/surveys_endpoint_response.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/functions/surveyjobs/tests/surveys_endpoint_response.json -------------------------------------------------------------------------------- /app/lambda/functions/surveyjobs/tests/test_qualtrics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/functions/surveyjobs/tests/test_qualtrics.py -------------------------------------------------------------------------------- /app/lambda/functions/surveyjobs/tests/test_question_choices.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/functions/surveyjobs/tests/test_question_choices.py -------------------------------------------------------------------------------- /app/lambda/lambda_role_policy.tpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/lambda_role_policy.tpl -------------------------------------------------------------------------------- /app/lambda/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/main.tf -------------------------------------------------------------------------------- /app/lambda/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/outputs.tf -------------------------------------------------------------------------------- /app/lambda/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/lambda/variables.tf -------------------------------------------------------------------------------- /app/sqs/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/sqs/main.tf -------------------------------------------------------------------------------- /app/sqs/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/app/sqs/outputs.tf -------------------------------------------------------------------------------- /app/sqs/variables.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cicd/plan/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/cicd/plan/Dockerfile -------------------------------------------------------------------------------- /cicd/plan/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cicd/plan/entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/cicd/plan/entrypoint.sh -------------------------------------------------------------------------------- /collaboration/backend_aws.hcl: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /collaboration/backend_remote.hcl: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /collaboration/inputs.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /collaboration/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/collaboration/main.tf -------------------------------------------------------------------------------- /collaboration/outputs.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/terraform-google-ip-range-datasource/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/terraform-google-ip-range-datasource/examples/example_1/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/modules/terraform-google-ip-range-datasource/examples/example_1/main.tf -------------------------------------------------------------------------------- /modules/terraform-google-ip-range-datasource/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/modules/terraform-google-ip-range-datasource/main.tf -------------------------------------------------------------------------------- /modules/terraform-google-ip-range-datasource/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/modules/terraform-google-ip-range-datasource/outputs.tf -------------------------------------------------------------------------------- /modules/terraform-google-ip-range-datasource/scripts/__pycache__/datasource.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/modules/terraform-google-ip-range-datasource/scripts/__pycache__/datasource.cpython-37.pyc -------------------------------------------------------------------------------- /modules/terraform-google-ip-range-datasource/scripts/datasource.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/modules/terraform-google-ip-range-datasource/scripts/datasource.py -------------------------------------------------------------------------------- /modules/terraform-google-ip-range-datasource/scripts/requirements.txt: -------------------------------------------------------------------------------- 1 | dnspython==1.16.0 -------------------------------------------------------------------------------- /modules/terraform-google-ip-range-datasource/variables.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/trivial/examples/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/modules/trivial/examples/main.tf -------------------------------------------------------------------------------- /modules/trivial/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/modules/trivial/main.tf -------------------------------------------------------------------------------- /modules/trivial/outputs.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/trivial/variables.tf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /slides/Take Terraform To The Next Level.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rojopolis/Take-Terraform-to-the-Next-Level/HEAD/slides/Take Terraform To The Next Level.pptx --------------------------------------------------------------------------------