我设法创建了一个删除ebs快照的lambda函数。我已经为运行的cloudwatch事件规则添加了必要的terraform,但我无法确定如何应用过滤器。
我希望能够删除名称中带有“backup”的ebs快照,并将保留天数设置为30,最小值为5.还将test_mode设置为false。
如下:
resource "aws_cloudwatch_event_target" "delete_ebs_backups" {
target_id = "deleteOldEbsSnapshotsEvery2Days"
rule = "${aws_cloudwatch_event_rule.ebs_snapshot_delete.name}"
arn = "${data.terraform.remote_state_utilities.delete_ebs_snapshots_arn}"
input_parameters / schedule_expression = ???????
}
发布于 2019-03-18 13:46:35
我通常使用deleteOn标记标记快照,指定日期,然后lambda函数可以每天运行并删除所有快照标记以便今天删除。
resource "aws_lambda_function" "lambda" {
runtime = "${var.runtime}"
filename = "./${var.lambda_name}.zip"
function_name = "Lambda"
role = "${aws_iam_role.lambda.arn}"
handler = "${var.handler}"
source_code_hash = "${data.archive_file.zip.output_base64sha256}"
count = "${var.enabled}"
}
resource "aws_cloudwatch_event_rule" "lambda" {
name = "Lambda-Event"
schedule_expression = "${var.schedule_expression}"
count = "${var.enabled}"
}
resource "aws_cloudwatch_event_target" "lambda" {
target_id = "Lambda-Target"
rule = "${ aws_cloudwatch_event_rule.lambda.name}"
arn = "${aws_lambda_function.lambda.*.arn[0]}"
count = "${var.enabled}"
}
https://stackoverflow.com/questions/-100006462
复制相似问题