Spec-Zone.ru › OpenTofu 1.12

Команда: fmt

Команда tofu fmt используется для перезаписи файлов конфигурации OpenTofu в каноническом формате и стиле. Эта команда применяет часть соглашений о стиле языка OpenTofu, а также вносит другие небольшие изменения для повышения читаемости.

Другие команды OpenTofu, которые создают конфигурацию OpenTofu, генерируют файлы конфигурации, соответствующие стилю, задаваемому командой tofu fmt, поэтому использование этого стиля в собственных файлах обеспечит единообразие.

Канонический формат может незначительно меняться между версиями OpenTofu, поэтому после обновления OpenTofu мы рекомендуем заблаговременно запускать tofu fmt для ваших модулей вместе с любыми другими изменениями, которые вы вносите для перехода на новую версию.

Мы не считаем новые правила форматирования в tofu fmt несовместимыми изменениями в новых версиях OpenTofu, но стремимся свести к минимуму изменения конфигураций, уже соответствующих примерам стиля в документации OpenTofu. Новые правила форматирования обычно будут распространять действие правил, уже используемых в примерах конфигурации из документации, поэтому мы рекомендуем следовать документированному стилю даже в тех случаях, которые tofu fmt пока не обрабатывает автоматически.

Решения о форматировании всегда субъективны, поэтому вы можете быть не согласны с решениями, которые принимает tofu fmt. Эта команда намеренно придерживается определённого мнения и не имеет параметров настройки, поскольку её основная цель — способствовать единообразию стиля в разных кодовых базах OpenTofu, хотя выбранный стиль никогда не сможет нравиться всем.

При написании модулей OpenTofu мы рекомендуем следовать соглашениям о стиле, применяемым командой tofu fmt, но если результаты кажутся вам особенно неприемлемыми, вы можете отказаться от использования этой команды и, возможно, выбрать сторонний инструмент форматирования. Если вы решите использовать сторонний инструмент, вам также следует запускать его для файлов, автоматически создаваемых OpenTofu, чтобы обеспечить единообразие между написанными вручную и сгенерированными файлами.

Использование​

Использование: tofu fmt [options] [target...]

По умолчанию fmt выполняет поиск файлов конфигурации в текущем каталоге. Если в качестве аргумента target указать каталог, fmt выполнит поиск в этом каталоге (см. раздел Поведение при сканировании каталогов). Если указать файл, fmt обработает только этот файл. Если указать одиночный дефис (-), fmt будет читать данные из стандартного ввода (STDIN).

Все флаги командной строки необязательны. Доступны следующие флаги:

  • -list=false — не выводить список файлов, содержащих несоответствия форматирования.
  • -write=false — не перезаписывать входные файлы. (Этот флаг подразумевается при использовании -check или если данные поступают через STDIN.)
  • -diff — отображать различия форматирования.
    • При использовании этого флага убедитесь, что установлен инструмент diff. Он используется внутри команды для улучшения взаимодействия с пользователем.
  • -check — проверять, отформатированы ли входные данные. Код завершения будет равен 0, если все входные данные отформатированы правильно. В противном случае код завершения будет ненулевым, а команда выведет список имён файлов, отформатированных неправильно.
  • -recursive — также обрабатывать файлы во вложенных каталогах. По умолчанию обрабатывается только указанный каталог (или текущий каталог).

Поведение при сканировании каталогов​

При сканировании каталога команда tofu fmt применяет следующие правила, чтобы определить, какие файлы обрабатывать:

  • Правило исключения: пропускаются файлы, имена которых начинаются с . или ~, а также файлы, имена которых одновременно начинаются и заканчиваются на #. Такие шаблоны обычно обозначают временные файлы, созданные текстовыми редакторами или другими инструментами. Команда tofu fmt пропускает их, чтобы не мешать работе этих программ.

  • Правило включения: после применения правила исключения обрабатываются только файлы со следующими расширениями: .tf, .tofu, .tfvars, .tftest.hcl, .tofutest.hcl

Например, файл с именем .auto.tfvars будет исключён, поскольку его имя начинается с ., несмотря на то, что он имеет расширение .tfvars.

Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.12/cli/commands/fmt/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API