Соглашения о стиле
Парсер 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.9/language/syntax/style/