# Terraform HandBook

- **[Установка Terraform](https://developer.hashicorp.com/terraform/install#linux)**
- **Terraform Guides:** **[Official](https://developer.hashicorp.com/terraform)** [<span style="color: rgb(22, 145, 121);">**+Yandex.Cloud**</span>](https://yandex.cloud/ru/docs/tutorials/infrastructure-management/terraform-quickstart)

<p class="callout info">**Terraform Providers: [<span style="color: rgb(224, 62, 45);">Official</span>](https://registry.terraform.io/browse/providers)** [**+Github**](https://github.com/shuaibiyy/awesome-tf#providers) **<span style="color: rgb(22, 145, 121);">[+Yandex.Cloud](https://yandex.cloud/ru/docs/terraform/quickstart#configure-provider)</span>**</p>

<table border="1" id="bkmrk-%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D1%8F" style="border-collapse: collapse; width: 56.4286%; height: 320.89px;"><colgroup><col style="width: 50.3171%;"></col><col style="width: 49.6829%;"></col></colgroup><tbody><tr style="height: 35.375px;"><td style="height: 35.375px;">**PROVIDER**

</td><td style="height: 35.375px;">**API**

</td></tr><tr style="height: 35.3906px;"><td style="height: 35.3906px;">[**GitLab** Repo](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/tree/main/docs?ref_type=heads)

</td><td style="height: 35.3906px;">[GitLab API](https://docs.gitlab.com/api/packages/terraform-modules/)</td></tr><tr style="height: 35.3906px;"><td style="height: 35.3906px;">[<span style="color: rgb(185, 106, 217);">**Yandex Cloud**</span>](https://wiki-docs.ru/books/cloud-providers/page/yc-provider-handbook "YC Provider Handbook")

</td><td style="height: 35.3906px;">[Yandex API](https://yandex.cloud/ru-kz/docs/api-design-guide/concepts/standard-methods)

</td></tr><tr style="height: 41.3906px;"><td style="height: 41.3906px;">[**Digital Ocean**\_droplet](https://docs.digitalocean.com/reference/terraform/reference/resources/droplet/)</td><td style="height: 41.3906px;">[Digital Ocean\_API](https://developers.digitalocean.com/documentation/v2/#list-all-droplets)

</td></tr><tr style="height: 57.7812px;"><td style="height: 57.7812px;">[**Vscale**\_compute instance](https://docs.selectel.ru/terraform/examples/cloud-networks/create-servers/create-server-with-public-subnet/#create-server)[<span style="color: rgb(22, 145, 121);">**+Official**</span>](https://developer.hashicorp.com/vagrant)

</td><td style="height: 57.7812px;">[Vscale\_API](https://developers.vscale.io/documentation/api/v1/#api-Servers-GetScalet)</td></tr><tr style="height: 35.3906px;"><td style="height: 35.3906px;">[<span style="color: rgb(224, 62, 45);">**Hetzner Cloud** server</span>](https://www.terraform.io/docs/providers/hcloud/r/server.html)</td><td style="height: 35.3906px;"><span style="color: rgb(224, 62, 45);">[Hetzner Cloud\_API](https://docs.hetzner.com/cloud/api/getting-started/using-api/)</span></td></tr><tr style="height: 80.1719px;"><td style="height: 80.1719px;">[**AWS**\_instance](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/aws-create#configuration-blocks)

[AWS\_Route53\_record](https://github.com/hashicorp/terraform-provider-aws/blob/main/website/docs/r/route53_record.html.markdown)

[AWS\_Route53\_zone](https://github.com/hashicorp/terraform-provider-aws/blob/main/website/docs/d/route53_zone.html.markdown#data-source-aws_route53_zone)

</td><td style="height: 80.1719px;">[HTTP API + API Gatewa](https://developer.hashicorp.com/terraform/tutorials/aws/lambda-api-gateway#create-an-http-api-with-api-gateway)  
</td></tr></tbody></table>

<p class="callout info">**Источник [developer.hashicorp.com](https://developer.hashicorp.com)**</p>

- [Environment variables](https://developer.hashicorp.com/terraform/cli/config/environment-variables)
- [Variables](https://developer.hashicorp.com/terraform/language/values/variables)
- [<span class="YPkS7KbdpWfGdYKd3QB9" data-src-align="0:7">External</span> <span class="YPkS7KbdpWfGdYKd3QB9" data-src-align="8:9">provider</span>](https://support.hashicorp.com/hc/en-us/articles/4547786359571-Reading-and-using-environment-variables-in-Terraform-runs)
- [Functions](https://developer.hashicorp.com/terraform/language/functions)
- [Count](https://developer.hashicorp.com/terraform/language/meta-arguments/count#usage)
- [Output Values](https://developer.hashicorp.com/terraform/language/values/outputs#define-outputs)
- [Interpolation Syntax](https://developer.hashicorp.com/terraform/language/v1.13.x/expressions/strings#directives)
- [Provisioner remote-exec](https://developer.hashicorp.com/terraform/language/provisioners#run-provisioners-without-a-resource)
- [Provisioner local-exec](https://developer.hashicorp.com/terraform/language/provisioners#run-commands-on-the-local-machine)

<p class="callout info">**Другие источники**</p>

- [Google Load Balancers](https://docs.cloud.google.com/load-balancing/docs/https/ext-http-lb-tf-module-examples)
- <span style="color: rgb(185, 106, 217);">[Import JSON Code from API+jq](https://wiki-docs.ru/books/infrastructure-as-code/page/import-json-code-from-apijq "Import JSON Code from API+jq")</span>
- [Утилита curl](https://curl.se/docs/httpscripting.html)
- [Утилита jq](https://stedolan.github.io/jq/manual/)