Improve this page

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.

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