我已经使用https://github.com/umotif-public/terraform-aws-ecs-fargate-scheduled-task一年多了,没有任何问题
从今天开始,我看到了错误:
│
│ on re-engage-campaigns.tf line 82, in module "re_engage_campaigns_process_scheduled_task":
│ 82: event_rule_is_enabled = local.re_engage_campaigns_process_scheduled_task_enabled
│
│ An argument named "event_rule_is_enabled" is not expected here.
我还没有更新任何模块/包,文档表明这event_rule_is_enabled
是一个有效的选项
这是模块配置:
module "re_engage_campaigns_process_scheduled_task" {
source = "cn-terraform/ecs-fargate-scheduled-task/aws"
version = "~> 1.0.22"
ecs_cluster_arn = data.terraform_remote_state.network.outputs.ecs_cluster_id
ecs_execution_task_role_arn = module.ecs_task_execution_role.iam_role_arn
ecs_task_role_arn = module.re_engage_campaigns_process_task_role.iam_role_arn
event_rule_description = local.re_engage_campaigns_process_scheduled_task_description
event_rule_name = "${local.re_engage_campaigns_process_scheduled_task}-${terraform.workspace}"
event_rule_schedule_expression = local.re_engage_campaigns_process_scheduled_task_scheduled_rule
event_target_ecs_target_subnets = local.private_subnet_ids
event_target_ecs_target_security_groups = [module.re_engage_campaigns_process_sg.security_group_id]
event_target_ecs_target_task_definition_arn = data.aws_ecs_task_definition.task_runner_task_definition.arn
event_target_ecs_target_assign_public_ip = false
name_prefix = "${local.re_engage_campaigns_process_scheduled_task}-${terraform.workspace}"
event_target_target_id = local.re_engage_campaigns_process_scheduled_task
event_rule_is_enabled = local.re_engage_campaigns_process_scheduled_task_enabled
event_target_input = local.re_engage_campaigns_process_event_target_input
}
我尝试使用true
而不是局部变量进行测试,但仍然存在问题
我可以在模块main.tf
文件中看到该文件event_rule_is_enabled
不存在,但不明白为什么。所有文档都表明它是有效的,并且在今天之前它已经在许多模板上运行,并且没有更新任何包
根据1.0.26 模块文档,该
event_rule_is_enabled
参数已被删除。最后一次支持是在 1.0.25 中。您的模块版本控制规范是
~> 1.0.22
。这种类型的约束相当于>= 1.0.22 < 1.1.0
,并且这包括1.0.26
使用不兼容的版本。这可以在版本约束文档中引用,因此模块更新为不兼容的版本。目前最简单的修复是将版本约束修改为
= 1.0.25
.这将使您有时间更新新版本的模块使用情况。通常,您提供的版本约束是安全的,因为它仅更新到较新的补丁版本,并且根据语义版本控制规则,这些约束只能是错误和安全修复等更新。向后不兼容的更改应该是次要版本增量,但此模块不遵守语义版本控制规则。