Я работаю над terraform с openstack в качестве облачного провайдера.У меня есть сценарий deploy.tf , который создает роль:
resource "openstack_identity_role_v3" "role_example" {
name = "creator"
}
Мой вывод о том, как terraform создает ресурсы:
- Если роль не существуетв openstack terraform создает такой без проблем.
- Если роль существует в openstack и создается с помощью того же скрипта terraform, т.е.У terraform.state есть запись, terraform возвращается без ошибок.
моя проблема: если я удаляю файл состояния или если роль создается вне полос вручную или с помощью другого скрипта terraform. Я получаю следующую ошибку:
* openstack_identity_role_v3.role_example: Error creating OpenStack role: Expected HTTP response code [201] when accessing [POST https://<example-openstack-url>/v3/roles], but got 409 instead
{"error": {"message": "Conflict occurred attempting to store role - Duplicate Entry", "code": 409, "title": "Conflict"}}
Я пытаюсь найти обходной путь, чтобы, если роль не существует, terraform apply
создает ее, и, если она уже существует, несмотря на то, что она была создана вручную или с помощью любого другого сценария развертывания terraform, terraformпропускает его создание и не выдает ошибку.