Back to Infrastructure as Code index <–
Catalog of predefined Azure Terraform Templates.
See Terraform guidelines for generic information about Terraform templates.
GENERAL SETUP:
All folders will have ‘provision.sh’ executable which is to be call’d from Azure DevOps Release pipeline. (provision.sh basically calls terraform command with required inputs to handle multiple AWS environments which was not possible using VSTS Terraform plugin)
e.g: To deploy under Testing environment of CPP, go to “cpp_workspace_terraform” folder and run below -
provision.sh plan test
provision.sh apply test
Format : provision.sh $action $environment
provision.sh takes parameters present inside “/config/” folder for “test, acc, prod” environment files to deploy into multiple AWS accounts.
AWS Terraform modules
Contains modules which are to be used for creating any AWS services instead of directly calling terraform resource function. Their can be specific cases (e.g: When adding Security Group Rules) when we can directly call terraform resource function, but for most of services its preferred to use modules when creating/using new AWS services under any accounts. If module is not present for any AWS service, contact AWS Landing Zone team to create a module which can be call’d from Workspace / Application terraform template.
- S02 Management
- S03 Identity
- S04 Connectivity
- S05 Security
- S06 Integration
- S07 Compute
- S08 Datastores
- S09 Platform
- S10 Data Analytics
not categorized
| Resource | Description |
|---|
S02 Management
| Resource | Description |
|---|---|
| AWS Account | Contains Terraform files which creates W01, W02, W03 VPC (incl Subnets, Security Groups, IGW, NAT etc) under Workspace Account for Testing, Acceptance and Production AWS account |
| AWS CloudWatch | Provides AWS CloudWatch. |
| AWS CloudWatch Logs | Create a Log Group in CloudWatch Logs |
| AWS Cloudwatch_log_metricfilter with Terraform | Aws_Cloudwatch_log_metricfilter by the Sogeti community. |
| AWS Cloudwatch_log_subscription_filter with Terraform | Aws_Cloudwatch_log_subscription_filter by the Sogeti community. |
| AWS SES Domain Identity Verification | Provides AWS SES Domain Identity Verification. |
| AWS flow_logs with Terraform | aws_flow_logs by the Sogeti community.. |
| CloudWatch event rule | CloudWatch event by the Sogeti community |
| CloudWatch log group | CloudWatch log group |
| CloudWatch log stream | CloudWatch log stream |
| CloudWatch metrics and alarms | CloudWatch metrics and alarms. |
| CloudWatch metrics and alarms | CloudWatch metrics and alarms. |
| EBS volume | EBS volume by the Sogeti community |
| Simple Notification Service | Simple Notification Service by the Sogeti community |
S03 Identity
| Resource | Description |
|---|---|
| workspace_account_terraform | Contains Terraform files which creates VPC (incl Subnets, Security Groups, IGW, NAT etc), Bastion host, ADDS, WAP under Shared Services Account for Testing and Production AWS account |
S04 Connectivity
| Resource | Description |
|---|---|
| AWS Cloud Trail | AWS Cloud Trail by the Sogeti community |
| AWS Customer_gateway with Terraform | Aws_Customer_gateway by the Sogeti community. |
| AWS ECS Account Setting default with Terraform | Aws_ECS_Account_Setting_default by the Sogeti community. |
| AWS ECS Cluster with Terraform | Aws_ECS_Cluster by the Sogeti community. |
| AWS EFS Backup policy with Terraform | Aws_EFS_Backup_policy by the Sogeti community. |
| AWS EFS Mount target with Terraform | Aws_EFS_mount_target by the Sogeti community. |
| AWS EFS file system Policy with Terraform | Aws_EFS_file_system_policy by the Sogeti community. |
| AWS EFS file system with Terraform | Aws_EFS_file_system by the Sogeti community. |
| AWS EIP Association | Provides AWS EIP Association. |
| AWS Elastic Beanstalk Application Version with Terraform | Aws_Elastic_Beanstalk_Application_Version by the Sogeti community. |
| AWS Elastic Beanstalk Application with Terraform | Aws_Elastic_Beanstalk_Application by the Sogeti community. |
| AWS Elastic Beanstalk Configuration Template with Terraform | Aws_Elastic_Beanstalk_Configuration_Template by the Sogeti community. |
| AWS Elastic Beanstalk Environment with Terraform | Aws_Elastic_Beanstalk_Environment by the Sogeti community. |
| AWS Elastic IP | Provides AWS Elastic IP addresses. |
| AWS Internet_gateway_attachment with Terraform | Aws_Internet_gateway_attachment by the Sogeti community. |
| AWS Load Balancer | Provides a Target Group resource for use with Load Balancer resources. |
| AWS NAT Gateway | Provides AWS NAT gateway |
| AWS Network Access control list association rule with Terraform | Aws_Network Access control list association rule by the Sogeti community. |
| AWS Network Access control list association with Terraform | Aws_Network_Access_control_list_association by the Sogeti community. |
| AWS Network Access control list with Terraform | Aws_Network_Access_control_list by the Sogeti community. |
| AWS Route with Terraform | Aws_Route by the Sogeti community. |
| AWS Route53 Zone | Provides AWS Route53 Zone. |
| AWS Route53 health check with Terraform | Aws_Route53_Health_check by the Sogeti community. |
| AWS Route53 record with Terraform | Aws_Route53_record by the Sogeti community. |
| AWS Route53 zone association with Terraform | Aws_Route53_zone_association by the Sogeti community. |
| AWS Route_table_Association with Terraform | Aws_Route_table_Association by the Sogeti community. |
| AWS Transit Gateway | Provides AWS Transit Gateway. |
| AWS Vpc_Route_table with Terraform | Aws_Vpc_Route_table by the Sogeti community. |
| AWS iam group with Terraform | Aws_iam_group by the Sogeti community. |
| AWS iam policy with Terraform | Aws_iam_policy by the Sogeti community. |
| AWS iam role policy with Terraform | Aws_iam_role_policy by the Sogeti community. |
| AWS iam role with Terraform | Aws_iam_role by the Sogeti community. |
| AWS load balancer target group with Terraform | aws_ses_domain_identity by the Sogeti community. |
| Generic LB Terraform module | Generic LB Terraform module |
| Generic VPC Peering Terraform module | Generic VPC Peering Terraform module |
| Generic VPC RPA Terraform module | Generic VPC RPA Terraform module |
| Generic VPC Terraform module | Generic VPC Terraform module |
| Generic VPC Terraform module | Generic VPC Terraform module |
| IAM instance profile and role | Generic IAM instance profile and role Terraform module |
| aws-workspaces-workspace | aws-workspaces-workspace by the Sogeti community |
| aws_subnet | aws-subnet by the Sogeti community |
| aws_vpn_gateway_attachment with Terraform | aws_vpn_gateway_attachment by the Sogeti community. |
| upload objects to S3 bucket | Upload file to S3 bucket by the Sogeti community |
| vpc | vpc by the Sogeti community |
| vpc internet gateway | vpc internet gateway by the Sogeti community |
| vpc peering | vpc peering by the Sogeti community |
| vpn connection | vpn connection by the Sogeti community |
| vpn connection route | vpn connection route by the Sogeti community |
| vpn gateway | vpn gateway by the Sogeti community |
S05 Security
| Resource | Description |
|---|---|
| AWS Cloudtrail | Provides AWS Cloudtrail. |
| AWS Cloudtrail with Terraform | Aws_Cloudtrail by the Sogeti community. |
| AWS Security group | Provides AWS Security group. |
| AWS Security group with Terraform | Aws_Security_group by the Sogeti community. |
| Aws Security group rule with Terraform | Aws security group rule by the Sogeti community. |
| Aws cloudfront origin access identity with Terraform | Aws security group rule by the Sogeti community. |
S06 Integration
| Resource | Description |
|---|---|
| AWS API Gateway | Provides an API Gateway. |
| Amazon Simple Notification Service | Provides Amazon Simple Notification Service |
S07 Compute
| Resource | Description |
|---|---|
| AMI Instance | Provides AMI Instance. |
| AWS Autoscaling Group | Provides aAWS Autoscaling Group. |
| AWS Autoscaling group with Terraform | Aws_Autoscaling_group by the Sogeti community. |
| AWS Bastion Host | Provides AWS Bastion Host. |
| AWS Lambda | Provides Lambda via terraform |
| AWS Lambda | Provides Lambda |
| AWS Lambda function url | Provides AWS Lambda function url. |
| AWS LoadBalancer Listner Rule | Provides AWS LoadBalancer Listner Rule. |
| AWS LoadBalancer Target Group Attachment | Provides AWS LoadBalancer Target Group Attachment. |
| Backup Lambda | Backup Lambda |
| EC2 Instance | Amazon-EC2 by the Sogeti community |
| S3 Metric | S3 metrics configuration. |
S08 Datastores
| Resource | Description |
|---|---|
| AWS CloudFront | Provides CloudFront. |
| AWS Data Parameter group with Terraform | Aws_Db_Parameter_group by the Sogeti community. |
| AWS ECS Capacity Provider with Terraform | Aws_ECS_Capacity_Provider by the Sogeti community. |
| AWS ECS Cluster Capacity Providers with Terraform | Aws_ECS_Cluster_Capacity_Providers by the Sogeti community. |
| AWS ECS Tag with Terraform | Aws_ECS_Tag by the Sogeti community. |
| AWS ECS Task Definition with Terraform | Aws_task_definition by the Sogeti community. |
| AWS Lambda event source mapping | Provides AWS Lambda event source mapping. |
| AWS Relational Database Service with Terraform | Aws_Relational Database Service by the Sogeti community. |
| AWS dynamodb_table with Terraform | aws_dynamodb_table by the Sogeti community. |
| AWS dynamodb_tag with Terraform | aws_dynamodb_tag by the Sogeti community. |
| AWS ebs_volume_snapshot with Terraform | aws_ebs_volume_snapshot by the Sogeti community. |
| AWS elasticsearch | Provides AWS elasticsearch. |
| AWS elasticsearch | Provides AWS elasticsearch. |
| Amazon Relational Database Service | Provides Amazon Relational Database Service. |
| Amazon Relational Database Service SQL | Provides Amazon Relational Database SQL Service. |
| Amazon S3 Bucket Access Block | Provides Amazon S3 bucket access block. |
| Amazon S3 Bucket Object | Provides Amazon S3 Object Bucket. |
| Amazon S3 Bucket Policy | Provides Amazon S3 Bucket Policy. |
| Amazon S3 Bucket Versioning | Provides Amazon S3 Bucket Versioning. |
| Amazon S3 Generic Storage | Provides Amazon S3 Generic Storage. |
| Amazon S3 Storage | Provides Amazon S3 Storage |
| Aws_dynamodb_global_table with Terraform | Aws_dynamodb_global_table by the Sogeti community. |
| Generic EBS Volume Terraform module | Generic EBS Volume Terraform module |
| Generic EC2 instance Terraform module | Generic EC2 instance Terraform module |
| aws_dynamodb_table_item with Terraform | aws_dynamodb_table_item by the Sogeti community. |
| aws_lambda_function_event_invoke_config with Terraform | aws_lambda_function_event_invoke_config by the Sogeti community. |
| cloudfront | Amazon-cloudfront by the Sogeti community |
S09 Platform
| Resource | Description |
|---|
S10 Data Analytics
| Resource | Description |
|---|