terraform - Terraform:在 aws_autoscaling_schedule 资源中传递自动缩放组名称时出错
问题描述
将模块输出解析到另一个模块资源时出现错误。
错误:
* module.scheduled_action.aws_autoscaling_schedule.asg[0]: 1 error(s) occurred:
* aws_autoscaling_schedule.asg.0: Error Creating Autoscaling Scheduled Action: ValidationError: AutoScalingGroup name not found - null
status code: 400, request id: eedacea2-4819-11e9-a48e-2178a7946e4b
* module.scheduled_action.aws_autoscaling_schedule.asg[1]: 1 error(s) occurred:
* aws_autoscaling_schedule.asg.1: Error Creating Autoscaling Scheduled Action: ValidationError: AutoScalingGroup name not found - null
status code: 400, request id: eedbb8f2-4819-11e9-a103-ed59f82b87f3
代码:
预定的.tf
resource "aws_autoscaling_schedule" "asg" {
count = "${var.actions_count}"
..
...
....
autoscaling_group_name = "{var.autoscaling_group_name}"
}
变量.tf
variable "autoscaling_group_name" {}
主文件
autoscaling_group_name = "${module.launch_configs.asg_name}"
解决方案
您将模块变量与局部变量混合。
其中main.tf
, 的值autoscaling_group_name
来自一个名为 的模块launch_configs
,因此您可以在资源中使用相同的名称aws_autoscaling_schedule
代码可以改成
resource "aws_autoscaling_schedule" "asg" {
count = "${var.actions_count}"
..
...
....
autoscaling_group_name = "${module.launch_configs.asg_name}"
}
在您的情况下,变量autoscaling_group_name
in的定义variables.tf
是无用的。你可以删除它。
推荐阅读
- r - 绘制 log10 值时与 stat_summary() 的差异
- android - 带 alpha 的可绘制矩形实体
- r - R循环中的索引变量
- selenium - 获取元素的 XPath
- python - 为 Keras 准备文本数据(张量流)
- flask - 从使用 Flask 应用程序的 Microsoft PowerBI Embedded,我如何使用 url 过滤?
- ios - 观察者没有调用 swift iOS firebase 实时数据库
- firebase - Service Account does not have storage.objects.get access to the Google Cloud Storage object
- python - Python 最小 Modbus CRC 字节顺序
- html - 增加表中每 2 行之间的间隙