Зіткнувся з проблемою, задав провайдера cloudflare в конфігуції terraform, але після запуску terraform init отримав помилку пошуку провайдера за адресою registry.terraform.io/hashicorp/cloudflare:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
╷ │ Error: Failed to query available provider packages │ │ Could not retrieve the list of available versions for provider hashicorp/cloudflare: provider registry registry.terraform.io does not have a provider named registry.terraform.io/hashicorp/cloudflare │ │ Did you intend to use cloudflare/cloudflare? If so, you must specify that source address in each module which requires that provider. To see which modules are currently depending on hashicorp/cloudflare, run the following │ command: │ terraform providers ╵ make: *** [Makefile:2: init] Error 1 |
Чесно кажучии не відразу вдалось розібратись звідки ця проблема, після певного часу пошуку рішення, з’ясувалось, що провайдера потрібно задавати на рівні конфігурації модуля, це стосується third-party провайдерів.
Рішення було як на мене трохи несподіванним – перенести конфігурацію провайдера на рівень модулю.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
terraform { required_providers { cloudflare = { source = "cloudflare/cloudflare" version = "4.1.0" } } } provider "cloudflare" { email = var.cf_email api_key = var.cf_api_key } module "acm" { source = "terraform-aws-modules/acm/aws" version = "4.3.2" domain_name = var.certificate_domain_name |
після цього запрацювало