Я не совсем уверен, как решить эту проблему в терраформе.
У нас есть кластер EMR с некоторыми действиями начальной загрузки, которые указаны как ресурсы S3. Упрощенный вид нашей конфигурации terraform:
resource "aws_s3_bucket_object" "bootstrap_action" {
bucket = "${var.s3_emr_bootstrap_bucket}"
key = "bootstrap"
content = <<EOF
#!/bin/bash
echo "Doing bootstrap actions"
EOF
}
resource "aws_emr_cluster" "emr_cluster" {
...configuration of the EMR cluster...
bootstrap_action {
path = "s3://${aws_s3_bucket_object.bootstrap_action.bucket}/${aws_s3_bucket_object.bootstrap_action.key}"
name = "Bootstrap Step"
}
}
Что мы хотели бы сделать, так это сделать так, чтобы изменение содержимого сценария действия начальной загрузки приводило к перестройке кластера. Прямо сейчас мы должны вручную испортить кластер, если это изменится.
Я пробовал использовать «depends_on», но это влияет только на порядок, а не на перестройку.
Этот вопрос обсуждается в: https://github.com/hashicorp/terraform/issues/8099 Читая, я не вижу очевидного решения, но решил, что все равно задам вопрос.