Terraform выдаст это сообщение, если пакет / каталог, обозначенный source
, не содержит файлов .tf
.
Одна из причин, по которой это может произойти, - если source
относится к пакету (например,репозиторий или архив), который на самом деле содержит несколько модулей в подкаталогах, но в корневом каталоге ничего нет.В то время как Стандартная структура модуля требует наличия какого-либо модуля объединения по умолчанию в корне, при этом другие подмодули служат в качестве отдельных компонентов этого значения по умолчанию, что является скорее соглашением, чем требованием.и при желании пакет может содержать только модулей в подкаталогах.
Чтобы обратиться к модулю в подкаталоге , используйте специальный двойной слеш //
разделитель для отделения пути пакета от пути подкаталога.
Например, для доступа к подкаталогу modules/consul-cluster
из к модулю hashicorp/consul/aws
в Terraform Registry, вашемполный source
адрес будет hashicorp/consul/aws//modules/consul-cluster
.Аналогично, для подкаталога vpc
источника репозитория git git::https://example.com/network.git
вы должны установить source
на git::https://example.com/network.git//vpc
.
В любом каталоге, указанном вами, должен быть хотя бы один файл .tf
для Terraform.считать его действительным модулем Terraform.