Mam moduł bazy danych i chciałbym użyć count w zasobie bazy danych, jednak nie mogę użyć count w dostawcy mysql. Czy jest jakieś obejście?

Oto odpowiedni kod:

provider "mysql" {
    endpoint = "${docker_container.database.ip_address}:3306"
    #CUT CUT
}

resource "docker_container" "database" {
    count = length(var.database_resource_images)
    name       = "db${count.index}"
    image      = var.database_resource_images[count.index]
    # CUT CUT
}


0
Tomas Novoselić 19 grudzień 2019, 15:21
Co chcesz tutaj osiągnąć? Jeśli chcesz utworzyć kontener, a następnie utworzyć schematy bazy danych lub użytkowników, jeśli istnieje powód, aby tego nie robić raz i zapakować to w moduł, aby łatwiej było to powtórzyć?
 – 
ydaetskcoR
19 grudzień 2019, 15:29
Nie jestem pewien, czy czegoś mi brakuje, ale jeśli raz to utworzę i zawinię w moduł, mogę użyć modułu tylko raz na środowisko (a może się mylę?). Potrzebuję wielu hostów bazy danych bez potrzeby tworzenia wielu modułów.
 – 
Tomas Novoselić
19 grudzień 2019, 16:07
Możesz wielokrotnie używać modułu, o to właśnie chodzi. Będziesz musiał zdefiniować dla nich interfejs za każdym razem i nie możesz ich zapętlić, ale powinno być całkiem proste zadeklarowanie tylu modułów, ile potrzebujesz do utworzenia potrzebnych baz danych
 – 
ydaetskcoR
19 grudzień 2019, 16:30
Dzięki! Naprawdę zadałem głupie pytanie. Teraz to widzę :D
 – 
Tomas Novoselić
19 grudzień 2019, 17:31

1 odpowiedź

Teraz widzę, jak głupie było to pytanie. Kiedy @ydaetskcoR powiedział „interfejs”, wszystko stało się dla mnie jasne. Mógłbym po prostu stworzyć, powiedzmy „moduł coś” i „moduł coś2” i użyć tego samego źródła. Jestem nowy w terraformie i próbowałem użyć modułu, powtarzając „modułową bazę danych” w moim głównym module i nie zadziałało, więc wypróbowałem to, co opisałem.

0
Tomas Novoselić 19 grudzień 2019, 17:30