asg
foss-cafe/asg/aws
Terraform module for AWS Auto scaling group
Terraform Module for AWS Auto Scaling Group Use as a Module Go tot examples dir for more examples ``terrraform module "asg_1" { source = "../" name = "example" image_id = "ami-01fee56b22f308154" instance_type = "t2.micro" key_name = "test" user_data = file("${path.module}/install.sh") root_block_device = [ { volume_size = "25" volume_type = "gp2" delete_on_termination = true encrypted = true }, ] vpc_id = var.vpc_id ingress = var.ingress egress = var.egress vpc_zone_identifier = var.vpc_zone_identifier min_size = 0 max_size = 1 desired_capacity = 1 wait_for_capacity_timeout = 0 service_linked_role_arn = aws_iam_service_linked_role.autoscaling.arn tags = { extra_tag1 = "extra_value1" extra_tag2 = "extra_value2" } } ` Requirements | Name | Version | |------|---------| | terraform | >= 0.12.7
| Name | Type | Description | Default |
|---|---|---|---|
| instance_type | string | The size of instance to launch | required |
| placement_group | string | The name of the placement group into which you'll launch your instances, if any | required |
| key_name | string | The key name that should be used for the instance | required |
| min_adjustment_magnitude | string | (Optional) Minimum value to scale by when adjustment_type is set to PercentChang | required |
| user_data_base64 | string | Can be used instead of user_data to pass base64-encoded binary data directly | required |
| credit_specification | object({ cpu_credits = str | Customize the credit specification of the instances | required |
| user_data | string | The user data to provide when launching the instance. Do not pass gzip-compress | required |
| iam_instance_profile | string | The name attribute of the IAM instance profile to associate with launched instan | required |
| default_version | number | Default Version of the launch template. | required |
| name | string | (Optional) The name of the launch configuration. If you leave this blank, Terraf | required |
| image_id | string | The EC2 image ID to launch | required |
| enable_launch_template | bool | Do you want to enable launch_template | true |
| metadata_options | list(map(string)) | (Optional) Customize the metadata options for the instance. | [] |
| enable_autoscaling_policy | bool | Do you want to enable ASG Policy | false |
| target_group_arns | list(string) | A list of aws_alb_target_group ARNs, for use with Application Load Balancing | [] |
| egress | any | (Optional, VPC only) Can be specified multiple times for each egress rule. | [] |
| vpc_zone_identifier | list(string) | A list of subnet IDs to launch resources in | [] |
| service_linked_role_arn | string | The ARN of the service-linked role that the ASG will use to call other AWS servi | "" |
| initial_lifecycle_hook | list(map(string)) | (Optional) One or more Lifecycle Hooks to attach to the autoscaling group before | [] |
| instance_initiated_shutdown_behavior | string | Shutdown behavior for the instances. Can be `stop` or `terminate` | "terminate" |
| tags | map(string) | A map of tags and values in the same format as other resources accept. This will | {} |
| load_balancers | list(string) | A list of elastic load balancer names to add to the autoscaling group names | [] |
| enable_autoscaling_group | bool | Do you want to enable Auto scaling group | false |
| min_size | number | The minimum size of the auto scale group | "1" |
| termination_policies | list(string) | A list of policies to decide how the instances in the auto scale group should be | [
"Default"
] |
| enable_monitoring | bool | Enables/disables detailed monitoring. This is enabled by default. | false |
| health_check_grace_period | number | Time (in seconds) after instance comes into service before checking health. | 300 |
| adjustment_type | string | (Optional) Specifies whether the adjustment is an absolute number or a percenta | "ExactCapacity" |
| cooldown | number | (Optional) The amount of time, in seconds, after a scaling activity completes a | 300 |
| associate_public_ip_address | bool | Associate a public ip address with an instance in a VPC. | false |
| desired_capacity | number | The number of Amazon EC2 instances that should be running in the group | "1" |
| … and 10 more inputs | |||
launch_configuration_arn — The name of the launch configurationasg_simple_scaling_policy_adjustment_type — The scaling policy's adjustment type.launch_configuration_id — The ID of the launch configurationasg_target_tracking_policy_arns — The ARN assigned by AWS to the scaling policy.asg_simple_scaling_policy_arn — The ARN assigned by AWS to the scaling policy.asg_simple_scaling_policy — The scaling policy's type.asg_target_tracking_policy_adjustment_types — The scaling policy's adjustment type.sg_id — The ID of the security groupasg_target_tracking_policy_names — The scaling policy's name.asg_simple_scaling_policy_names — The scaling policy's name.asg_target_tracking_policys — The scaling policy's type.launch_configuration_name — The name of the launch configurationasg_id — The autoscaling group idasg_arn — The ARN for this AutoScaling Groupsg_arn — The ID of the security groupAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,