Я думаю, что вы видите здесь classi c Недостаток проекта Terraform 0.11: когда значение неизвестно в плановое время (поскольку оно будет принято только во время применения), Terraform 0.11 не может должным образом отслеживать информацию о типе для него.
Поскольку possible_outbound_ip_addresses
является неизвестным значением во время планирования, результат split
с этой строкой также неизвестен. Поскольку Terraform не отслеживает информацию о типе для этого результата, код SDK поставщика отклоняет это неизвестное значение, поскольку оно не является списком.
Для решения этой проблемы в Terraform 0.11 требуется выполнить первоначальный запуск с -target
аргумент, чтобы Terraform мог сначала сосредоточиться на создании функции (и, следовательно, выделении своих исходящих IP-адресов), а затем заняться обработкой этой строки отдельно, как только она станет известна:
terraform apply -target=azurerm_function_app.function
terraform apply # to complete the rest of the work that -target excluded
Terraform 0.12 устранила это ограничение путем информация о типе отслеживания как для известных, так и для неизвестных значений, поэтому в Terraform 0.12 функция split
увидит, что вы дали ей неизвестную строку, и примете ее как правильно введенную, а затем вернет неизвестный список строк служить заполнителем для результата, который будет окончательно определен на этапе применения.