По умолчанию функция file
разрешает указанный путь относительно текущего рабочего каталога, в котором вы запускали Terraform. Обычно это каталог, содержащий модуль root.
В общем случае, когда файл включен как часть модуля, мы часто хотим использовать путь относительно собственного каталога этого модуля, а не root. Мы можем сделать это путем интерполяции path.module
, например, так:
assume_role_policy = file("${path.module}/iam/lambda-assume-policy.json")
Для того, чтобы конфигурации Terraform обычно были агностическими c для платформы, на которой запускается Terraform, конфигурации Terraform обычно используют прямые косые черты. потому что они используются в Unix системах и поддерживаются в Windows системах (даже если backsla sh является разделителем по умолчанию). Поэтому path.module
создает путь, содержащий косые черты, даже на Windows. с ожиданием, что оставшаяся часть пути, которую вы напишите после него, также будет использовать прямую косую черту.