0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Переменные в Terraform, делают конфигурацию более гибкой и упрощают повторное использование данных. Правда несмотря на название, они не могут меняться в процессе работы Terraform. Но их можно задавать динамически прямо перед выполнением.</p>
1
<p>Переменные в Terraform, делают конфигурацию более гибкой и упрощают повторное использование данных. Правда несмотря на название, они не могут меняться в процессе работы Terraform. Но их можно задавать динамически прямо перед выполнением.</p>
2
<h2>Определение переменных</h2>
2
<h2>Определение переменных</h2>
3
<p>Определение переменных может появляться в любой части конфигурации, так как это не инструкция, а описание того, что мы хотим получить. Однако, для удобства восприятия, Terraform рекомендует класть их в отдельный файл<em>variables.tf</em>.</p>
3
<p>Определение переменных может появляться в любой части конфигурации, так как это не инструкция, а описание того, что мы хотим получить. Однако, для удобства восприятия, Terraform рекомендует класть их в отдельный файл<em>variables.tf</em>.</p>
4
<p>Ниже пример определения переменной<em>yc_token</em></p>
4
<p>Ниже пример определения переменной<em>yc_token</em></p>
5
<p>Все четыре аргумента опциональные, но тип лучше указывать всегда, это защищает от случайных ошибок. Значение по умолчанию ставится только тогда, когда оно имеет смысл. В примере выше переменная определяет ключ, поэтому значение по умолчанию ей не нужно.</p>
5
<p>Все четыре аргумента опциональные, но тип лучше указывать всегда, это защищает от случайных ошибок. Значение по умолчанию ставится только тогда, когда оно имеет смысл. В примере выше переменная определяет ключ, поэтому значение по умолчанию ей не нужно.</p>
6
<p>Если значение по умолчанию не установлено, то Terraform требует указания конкретного значения перед выполнением. Terraform предлагает несколько способов указания переменных.</p>
6
<p>Если значение по умолчанию не установлено, то Terraform требует указания конкретного значения перед выполнением. Terraform предлагает несколько способов указания переменных.</p>
7
<p>Первый. Через флаг<em>-var-file</em>, указанный при запуске Terraform на выполнение:</p>
7
<p>Первый. Через флаг<em>-var-file</em>, указанный при запуске Terraform на выполнение:</p>
8
<p>Второй. Терраформ автоматически загружает все файлы в директории с именем<em>terraform.tfvars</em>и соответствующих маске<em>*.auto.tfvars</em>.</p>
8
<p>Второй. Терраформ автоматически загружает все файлы в директории с именем<em>terraform.tfvars</em>и соответствующих маске<em>*.auto.tfvars</em>.</p>
9
<p>Файлы<em>*.tfvars</em>содержат присваивания переменным их значений:</p>
9
<p>Файлы<em>*.tfvars</em>содержат присваивания переменным их значений:</p>
10
<h3>Типы переменных</h3>
10
<h3>Типы переменных</h3>
11
<p>Переменные в Terraform могут быть 5 типов:</p>
11
<p>Переменные в Terraform могут быть 5 типов:</p>
12
<ul><li><p><em>string</em></p>
12
<ul><li><p><em>string</em></p>
13
</li>
13
</li>
14
<li><p><em>number</em></p>
14
<li><p><em>number</em></p>
15
</li>
15
</li>
16
<li><p><em>bool</em></p>
16
<li><p><em>bool</em></p>
17
</li>
17
</li>
18
<li><p><em>list</em>: список элементов одного типа</p>
18
<li><p><em>list</em>: список элементов одного типа</p>
19
</li>
19
</li>
20
<li><p><em>map</em>или<em>object</em>: ассоциативный массив состоящий из пар ключ-значение</p>
20
<li><p><em>map</em>или<em>object</em>: ассоциативный массив состоящий из пар ключ-значение</p>
21
</li>
21
</li>
22
</ul><h2>Использование переменных</h2>
22
</ul><h2>Использование переменных</h2>
23
<p>Для обращения к переменной используется синтаксис<em>var.<variable_name></em>. Переменные могут подставляться в любых местах, где есть присваивания. Пример:</p>
23
<p>Для обращения к переменной используется синтаксис<em>var.<variable_name></em>. Переменные могут подставляться в любых местах, где есть присваивания. Пример:</p>
24
24