Можно ли перегрузить модуль терраформирования?
Я вызываю модуль, который создает кластер GKE и пул узлов. В этом модуле отсутствуют параметры для указания возможностей графического процессора и gVisor. Мне интересно, можно ли перегрузить модуль? в основном я хочу добавить / добавить больше конфигураций к ресурсам, которые создает модуль.
Заранее спасибо.
Нет, это невозможно. Вы также не можете «перегрузить» ресурс (который в настоящее время существует в аналогичных DSL, например Puppet).





Язык Terraform предпочитает композицию наследованию/расширению, поэтому нет механизма, позволяющего делать именно то, что вы предложили.
Вместо этого типичным ответом является реорганизация одного большого модуля в два или более меньших модуля, а затем конфигурация вызова объединяет эти меньшие модули для получения желаемого эффекта. В идеале, если вызывающий абонент обнаружит, что один из меньших модулей не соответствует его потребностям, он может заменить только этот модуль — либо другим модулем, выполняющим аналогичную задачу, либо встроенными блоками resource/data, — но продолжать использовать другой. модули.
В конкретном примере, который вы привели, кажется, что можно провести различие между кластером GKE и связанным с ним пулом узлов. Возможным новым дизайном может быть модуль, который только объявляет кластер GKE, а затем либо встроенные блоки resource для объявления узлов для регистрации в этом кластере, либо потенциально несколько модулей, которые инкапсулируют различные виды пула узлов, если ваша архитектура включает фиксированный набор узлов. архетипы.
С учетом сказанного, если модуль, который вы используете, является сторонним, то у вас есть единственные варианты: либо использовать его так, как задумал его автор, либо написать свой собственный модуль, возможно, производный от оригинального. Создание собственного «форка» модуля гарантирует, что будущие изменения исходного модуля не сделают сделанные вами изменения недействительными.
Не то, чтобы я в курсе. Вы можете скопировать модуль, а затем модифицировать под свои требования (если позволяет лицензия).