Рубрики
Uncategorized

Некоторые аккуратные улучшения в Hashicorp’s Terraform 0.12 превью

Некоторые вещи, которые я взволнован в террафоре 0.12 превью. Теги с DevOps, Tools, Technology.

Привет, мир,

Я копаю немного больше, чем подходы к выпуску, и просто хотел поделиться некоторыми вещами, которые я взволнован в Terraform 0.12 превью.

Во-первых, давайте будем быстрым обзором/откровителем языка конфигурации террафора в 0.11, чтобы настроить нас за разговоры о новых вкусностях …

Язык конфигурации террафора в 0.11 состоит из парней парней:

  1. HCL — Язык конфигурации Hashicorp — Блок и синтаксис атрибута
  2. Хил — Язык интерпретации Hashicorp — позволяет нам встраивать выражения в строки HCl

    • Это включает в себя местные переменные и функции Terraform — Terraform Ships со встроенными переменными и функциями.
      • Функции называются с именем синтаксиса (ARG, ARG2, …). Например, чтобы прочитать файл: $ {file («path.txt»)}.

Таким образом, Terraform 0.12 представляет HCl 2, и это полное перезапись этого базового языка конфигурации. Он улучшил HCl следующими способами:

  • Объединяет HCl и HIL
  • Он представляет собой надежную систему типа
  • Он включает в себя большой список запросов на функцию и улучшения, о которых сообщество просило.

Это только некоторые изменения, которые входят в силу:

  • Надежный синтаксис JSON
  • Для и для каждого выражения
  • Обобщенный оператор Splat
  • Первоклассный выражение
  • Условные улучшения оператора и условно пропущенные аргументы
  • Ввод модуля и вывод насыщенные типы значений
  • Шаблон синтаксиса
  • Динамические блоки
  • Улучшенные сообщения об ошибках

Потрясающе, поскольку список стал, это некоторые из улучшений HCL, я действительно взволнован …

  1. Первоклассные выражения : Ранее они должны были завершить в интерполяционные последовательности с двойными кавычками, такими как «$ {var.foo}». Это изменение предварительного просмотра 0,12, выражения теперь являются собственной частью языка и могут использоваться с Raw Dot Notiation, поскольку вы будете на других языках программирования.

    • Примеры:
      • foo.foo
      • Ami.ami [1]
  2. Ввод модуля и вывод насыщенные типы значений : TerraForm поддерживает основные списки и карты в качестве входных данных/выходов, поскольку Terraform 0,7, но элементы были ограничены только простыми значениями. Terraporm 0.12 позволяет произвольно сложные списки и карты для любых входов и выходов, это включает в себя использование с модулями.

    • Террафор 0.12 теперь может представлять отдельных типов сложного объекта. Это было невозможно в более ранних версиях террафора. Приведенный ниже пример показывает спецификацию типа, и объект также можно пропустить как ввод, так и вывод, и из, модуль. Вы также можете заметить еще одну разницу, когда типы не указаны … Типы теперь являются первоклассными значениями в террафоре 0.12 и могут быть использованы напрямую.
    • Соответственно, вы также можете выводить целые ресурсы из модулей сейчас. Это не делает круглые поездки обратно в модуль создателя/сопровождающего, чтобы подвергать другие значения в качестве выходов для потребителей:
  3. Улучшенные сообщения об ошибках : Это руки — вниз мой любимый, хотя, и вот почему …

    • Это сообщение об ошибке Terraform 0.11. Main.tf может быть тысячи строк длинные И мы бы не знали, что не хватало скорей. Это было не полезно, и большинство из нас провели временные комментирующие куски кода до тех пор, пока не будет доступен какой-то расширения синтаксиса редактора.
    • Так в 0,12 они выступили в игру. Вот сообщение об ошибке Terraform 0.12. Парсер HCL2 сохраняет подробную информацию о местонахождении каких-либо синтаксических элементов или токенов, поэтому вы не только получите какой файл эту ошибку, мы получаем номер строки, и он распечатает в рецензе!
    • Другой пример, который они продемонстрировали, здесь у нас есть тип проверки принудительного повышения ошибки при попытке добавить номер в строку. Хорошая OL Type9ismatch отдавая нам, что такое проблема, и он расскажет нам именно файл и строку.
    • Что я ♥ ️ Об этом последним, что они демонстрируют ощущение послания! Да, это именно то, что я имел в виду, спасибо, что смотрел на нас!

Таким образом, это мои лучшие 3 функции, которые появляются. Но, честно говоря, весь набор улучшений делает это намного больше, чем мягкое модернизация, которое я буду с нетерпением ждать реализации.

Не стесняйтесь пропускать больше, перечисленные здесь, на блоге Hashicorp Terraform: https://www.hashicorp.com/blog/category/terraform

Большинство из них префиксированы с «Hashicorp Terraform 0.12 Предварительный просмотр:» И они публикуют больше как подходы к выпуску.

Счастливое кодирование!

Оригинал: «https://dev.to/philiplavoie/some-neat-enhancements-in-hashicorps-terraform-012-preview-1fa»