in pkg/selector/outputs/outputs.go [53:96]
func TerraformSpotMixedInstancesPolicyHCLOutput(instanceTypeInfoSlice []instancetypes.Details) []string {
instanceTypeOverrides := instanceTypeInfoToOverrides(instanceTypeInfoSlice)
overridesString := ""
for _, override := range instanceTypeOverrides {
overridesString = overridesString + fmt.Sprintf(`
override {
instance_type = "%s"
}
`, override.InstanceType)
}
asgResource := fmt.Sprintf(`resource "aws_autoscaling_group" "AutoScalingGroupMIG" {
vpc_zone_identifier = [
"REPLACE_WITH_SUBNET_ID"
]
name = "AutoScalingGroupMIG"
max_size = 0
min_size = 0
desired_capacity = 0
mixed_instances_policy {
instances_distribution {
on_demand_base_capacity = 0
on_demand_percentage_above_base_capacity = 0
spot_allocation_strategy = "capacity-optimized"
}
launch_template {
launch_template_specification {
launch_template_id = "REPLACE_WITH_LAUNCH_TEMPLATE_ID"
version = "$$Latest"
}
%s
}
}
}
provider "aws" {
region = "us-east-1"
}
`, overridesString)
return []string{asgResource}
}