2016-08-25 10 views
4

Использование TF 0.7.2 на машине Win 10.Как сделать Terraform ресурс archive_file забрать изменения в исходные файлы?

Я пытаюсь создать цикл редактирования/загрузки для развития моих лямбда-функций в АМС, используя новый «archive_file» ресурс, введенную в TF 0.7.1

Моя конфигурация выглядит следующим образом:

resource "archive_file" "cloudwatch-sumo-lambda-archive" { 
    source_file = "${var.lambda_src_dir}/cloudwatch/cloudwatchSumologic.js" 
    output_path = "${var.lambda_gen_dir}/cloudwatchSumologic.zip" 
    type = "zip" 
} 

resource "aws_lambda_function" "cloudwatch-sumo-lambda" { 
    function_name = "cloudwatch-sumo-lambda" 
    description = "managed by source project" 
    filename = "${archive_file.cloudwatch-sumo-lambda-archive.output_path}" 
    source_code_hash = "${archive_file.cloudwatch-sumo-lambda-archive.output_sha}" 
    handler = "cloudwatchSumologic.handler" 

    ... 
} 

Это работает в первый раз, когда я запускаю его - TF создает файл zamba lambda, загружает его и создает лямбду в AWS. Проблема связана с обновлением лямбда.

Если я изменил файл cloudwatchSumologic.js в приведенном выше примере, TF, похоже, не знает, что исходный файл был изменен - ​​он не добавляет новый файл в zip и не загружает новую лямбду код для AWS.

Я что-то не так в своей конфигурации, или ресурс archive_file не предназначен для использования таким образом?

ответ

0

Возможно, вы обнаружили ошибку. Я на 0.7.7, и теперь проблема заключается в изменениях SHA, даже если вы не вносите изменений. Hashicorp будет обновлять этот ресурс источника данных в 0.7.8

https://github.com/hashicorp/terraform/pull/8492

+0

Yeh - Я попытался разместить о нем в списке рассылки, но никакого ответа. В любом случае, есть другие проблемы. особенно вокруг создания x-платформы архива, порядка zip, разделителей путей и т. д. Я думаю, что TF не является правильным решением для сложной лямбда-инфраструктуры. – Shorn