Соглашения о стиле
Парсер OpenTofu предоставляет некоторую свободу в расположении элементов в файлах конфигурации, однако в языке OpenTofu также существуют общепринятые соглашения о стиле, которым мы рекомендуем всегда следовать, чтобы файлы и модули, написанные разными командами, были единообразными. Инструменты автоматического форматирования исходного кода могут применять эти соглашения автоматически.
Вы можете автоматически применять эти соглашения, запустив tofu fmt.
-
Используйте отступ в два пробела для каждого уровня вложенности.
-
Если несколько аргументов с однострочными значениями расположены на следующих друг за другом строках на одном уровне вложенности, выравнивайте знаки равенства:
Блок кода ami = "abc123" instance_type = "t2.micro"
-
Если внутри тела блока присутствуют и аргументы, и блоки, размещайте все аргументы вверху, а затем — вложенные блоки. Отделяйте аргументы от блоков одной пустой строкой.
-
Используйте пустые строки, чтобы разделять логические группы аргументов внутри блока.
-
В блоках, содержащих аргументы и «метааргументы» (согласно семантике языка OpenTofu), перечисляйте метааргументы первыми и отделяйте их от остальных аргументов одной пустой строкой. Блоки метааргументов размещайте последними и отделяйте их от остальных блоков одной пустой строкой.
Блок кода resource "aws_instance" "example" { count = 2 # meta-argument first ami = "abc123" instance_type = "t2.micro" network_interface { # ... } lifecycle { # meta-argument block last create_before_destroy = true } } -
Блоки верхнего уровня всегда должны отделяться друг от друга одной пустой строкой. Вложенные блоки также следует разделять пустыми строками, за исключением случаев, когда связанные блоки одного типа объединены в группу (например, несколько блоков
provisionerв ресурсе). -
Не объединяйте несколько блоков одного типа с блоками другого типа, если только семантика не определяет эти типы блоков как семейство. (Например,
root_block_device,ebs_block_deviceиephemeral_block_deviceвaws_instanceобразуют семейство типов блоков, описывающих блочные устройства AWS, поэтому их можно объединять в группу и смешивать.)
Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.12/language/syntax/style/