Skip to content

This repo contains a terraform module for creating and managing AWS RDS SSM Agents

License

Notifications You must be signed in to change notification settings

dfds/terraform-aws-ssm-agent

Repository files navigation

aws-modules-template

Terraform module for provisioning AWS SSM Agents

Documentation

Requirements

Name Version
terraform >= 1.3.0, < 1.6.0
aws ~> 5.0

Providers

Name Version
aws ~> 5.0

Modules

No modules.

Resources

Name Type
aws_iam_role.scheduler resource
aws_instance.this resource
aws_scheduler_schedule.start_instance resource
aws_scheduler_schedule.stop_instance resource
aws_scheduler_schedule_group.schedule_group resource
aws_ami.this data source
aws_region.current data source
aws_security_group.selected data source
aws_subnet.selected data source
aws_vpc.selected data source

Inputs

Name Description Type Default Required
automation_initiator_location Specify the URL to the repo of automation script.
Valid Values: URL to repo. Example: "https://github.com/dfds/terraform-aws-rds"
Notes: This set the dfds.automation.initiator.location tag. See recommendations here.
string null no
aws_ami_name Optional. Specify the name of the AMI image to use for the EC2 instance
Valid Values: Any suitable EC2 instance filter string
Notes:
- The value will be used to filter the AMI image to use for the EC2 instance.
- If not specified, it will use the default value as a filter.
string "al2023-ami-2023.*-x86_64" no
aws_iam_instance_profile Optional. Specify the name of the IAM instance profile to use for the EC2 instance
Valid Values: Any valid IAM Instance Profile name
Notes:
- The value will be used to set the IAM instance profile for the EC2 instance.
- If not specified, it will use the default value.
string "ssm-tunnel" no
aws_security_group_name Optional. Specify the name of the security group to use for the EC2 instance
Valid Values: Any valid AWS Security Group name
Notes:
- The value will be used to attach the correct security group to the EC2 instance.
- If not specified, it will use the default value.
string "ssm-tunnel" no
aws_subnet_name Optional. Specify the name of the subnet to use for the EC2 instance
Valid Values: Any valid VPC Subnet name
Notes:
- The value will be used to place the EC2 instance in the correct subnet.
- If not specified, it will use the default value.
string "peering-a" no
aws_vpc_name Optional. Specify the name of the VPC to use for the EC2 instance
Valid Values: Any valid VPC name
Notes:
- The value will be used to place the EC2 instance in the correct VPC.
- If not specified, it will use the default value.
string "peering" no
cost_centre Provide a cost centre for the resource.
Valid Values: .
Notes: This set the dfds.cost_centre tag. See recommendations here.
string n/a yes
environment Specify the staging environment.
Valid Values: "dev", "test", "staging", "uat", "training", "prod".
Notes: The value will set configuration defaults according to DFDS policies.
string n/a yes
name Specify the name of the EC2 instance
Valid Values: Any string
Notes: The value will be used as the Name tag for the EC2 instance.
string "ssm-tunnel" no
optional_tags Provide list of optional dfds.* tags to be applied on all resources.
Valid Values: .
Notes:
- Use this only for optional tags. Required tags are supplied through dedicated variables.
- See recommendations here.
map(string) {} no
pipeline_location Specify a valid URL path to the pipeline file used for automation script.
Valid Values: URL to repo. Example: "https://github.com/dfds/terraform-aws-rds/actions/workflows/qa.yml"
Notes: This set the dfds.automation.initiator.pipeline tag. See recommendations here.
string null no
regional_postfix Enable region as postfix in resources names where applicable
Valid Values: true, false
Notes: If set to true, the region will be added as a postfix to the resource names.
bool false no
resource_owner_contact_email Provide an email address for the resource owner (e.g. team or individual).
Valid Values: .
Notes: This set the dfds.owner tag. See recommendations here.
string null no
service_availability Specify service availability.
Valid Values: low, medium, high
Notes: This set the dfds.service.availability tag. See recommendations here.
string n/a yes
sleep_schedule Specify the cron expression for the sleep schedule
Valid Values: Any valid cron expression
Notes: The cron expression will be used to stop the EC2 instance running the SSM agent
string "cron(0 18 ? * MON-FRI *)" no
sleep_schedule_is_enabled Enable or disable the sleep schedule.
Valid Values: true, false
Notes:
- If set to true, the wakeup and sleep schedule will take effect based on be enabled schedules specified in wakeup_schedule and sleep_schedule variables.
- If set to false, the EC2 instance will be running 24/7.
bool true no
wakeup_schedule Specify the cron expression for the wakeup schedule
Valid Values: Any valid cron expression
Notes: The cron expression will be used to start the EC2 instance running the SSM agent
string "cron(0 8 ? * MON-FRI *)" no

Outputs

Name Description
connection_command n/a
instance_id n/a

About

This repo contains a terraform module for creating and managing AWS RDS SSM Agents

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages