{"id":40122693,"url":"https://github.com/timeweb-cloud/terraform-provider-timeweb-cloud","last_synced_at":"2026-01-19T13:02:17.418Z","repository":{"id":151174581,"uuid":"611745308","full_name":"timeweb-cloud/terraform-provider-timeweb-cloud","owner":"timeweb-cloud","description":"Timeweb Cloud Terraform Provider","archived":false,"fork":false,"pushed_at":"2025-12-23T14:59:49.000Z","size":96,"stargazers_count":73,"open_issues_count":11,"forks_count":4,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-12-25T04:44:47.583Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timeweb-cloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-03-09T13:10:12.000Z","updated_at":"2025-12-24T12:00:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"9f49de28-368f-4ee9-af17-b166050d3c57","html_url":"https://github.com/timeweb-cloud/terraform-provider-timeweb-cloud","commit_stats":null,"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"purl":"pkg:github/timeweb-cloud/terraform-provider-timeweb-cloud","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timeweb-cloud%2Fterraform-provider-timeweb-cloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timeweb-cloud%2Fterraform-provider-timeweb-cloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timeweb-cloud%2Fterraform-provider-timeweb-cloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timeweb-cloud%2Fterraform-provider-timeweb-cloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timeweb-cloud","download_url":"https://codeload.github.com/timeweb-cloud/terraform-provider-timeweb-cloud/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timeweb-cloud%2Fterraform-provider-timeweb-cloud/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28568833,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T12:50:50.164Z","status":"ssl_error","status_checked_at":"2026-01-19T12:50:42.704Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-19T13:02:17.325Z","updated_at":"2026-01-19T13:02:17.400Z","avatar_url":"https://github.com/timeweb-cloud.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Timeweb Cloud | Terraform Provider Docs\n\nTerraform позволяет автоматизированно управлять множеством ресурсов в Timeweb Cloud с помощью файлов удобных файлов конфигурации формата HCL (HashiCorp Configuration Language) и детальных планов вносимых изменений.\n\nПодробную информацию о ресурсах провайдера можно получить в документации на [сайте Terraform](https://developer.hashicorp.com/terraform/docs).\n\n## Документация\n\nПодробная документация по параметрам ресурсов и источников данных провайдера\n\n* Ресурсы\n\n  * [twc_network_drive](docs/resources/network_drive.md) - сетевые диски;\n  * [twc_server](docs/resources/server.md) - сервер;\n  * [twc_server_ip](docs/resources/server_ip.md) - дополнительный IP адрес для сервера;\n  * [twc_server_disk](docs/resources/server_disk.md) - дополнительный диск для сервера;\n  * [twc_server_disk_backup](docs/resources/server_disk_backup.md) - резервная копия  основного и дополнительного диска сервера;\n  * [twc_server_disk_backup_schedule](docs/resources/server_disk_backup_schedule.md) - настройки автоматически создаваемых резервных копий основного и дополнительного диска сервера;\n  * [twc_project](docs/resources/project.md) - проекты;\n  * [twc_s3_bucket](docs/resources/s3_bucket.md) - хранилище S3;\n  * [twc_s3_bucket_directory](docs/resources/s3_bucket_directory.md) - директории S3-хранилища;\n  * [twc_s3_bucket_file](docs/resources/s3_bucket_file.md) - файлы S3-хранилища;\n  * [twc_s3_bucket_subdomain](docs/resources/s3_bucket_subdomain.md) - поддомены для S3-хранилища;\n  * [twc_database_cluster](docs/resources/database_cluster.md) - кластер управляемой СУБД;\n  * [twc_database_instance](docs/resources/database_instance.md) - БД в управляемом кластере СУБД;\n  * [twc_database_user](docs/resources/database_user.md) - пользователь в управляемом кластере СУБД;\n  * [twc_database_backup](docs/resources/database_backup.md) - бекапы управляемых СУБД;\n  * [twc_database_backup_schedule](docs/resources/database_backup_schedule.md) - настройка автоматически создаваемых бекапов СУБД;\n  * [twc_dns_rr](docs/resources/dns_rr.md) - ресурсные записи DNS;\n  * [twc_k8s_cluster](docs/resources/k8s_cluster.md) - управляемый кластер K8S;\n  * [twc_k8s_node_group](docs/resources/k8s_node_group.md) - группы узлов кластера K8S;\n  * [twc_firewall](docs/resources/firewall.md) - управляемый Firewall;\n  * [twc_firewall_rule](docs/resources/firewall_rule.md) - правила управляемого Firewall;\n  * [twc_vpc](docs/resources/vpc.md) - управляемый VPC;\n  * [twc_floating_ip](docs/resources/floating_ip.md) - плавающий IP-адрес;\n\n* Источники данных\n\n  * [twc_network_drive_preset](docs/data-sources/network_drive_preset.md) - пресеты сетевых дисков;\n  * [twc_network_drive](docs/data-sources/network_drive.md) - сетевые диски аккаунта;\n  * [twc_configurator](docs/data-sources/configurator.md) - конфигураторы для ручного выбора требуемых ресурсов VDS;\n  * [twc_os](docs/data-sources/os.md) - ОС для установки на сервер;\n  * [twc_presets](docs/data-sources/presets.md) - пресеты конфигураций сервера;\n  * [twc_projects](docs/data-sources/projects.md) - проекты аккаунта;\n  * [twc_software](docs/data-sources/software.md) - ПО для установки на сервер;\n  * [twc_ssh_keys](docs/data-sources/ssh_keys.md) - SSH-ключи для установки на сервер;\n  * [twc_s3_bucket](docs/data-sources/s3_bucket.md) - S3 хранилища;\n  * [twc_s3_preset](docs/data-sources/s3_preset.md) - пресеты конфигураций S3 хранилища;\n  * [twc_database_preset](docs/data-sources/database_preset.md) - пресеты конфигураций баз данных;\n  * [twc_database_cluster](docs/data-sources/database_cluster.md) - управляемые кластера СУБД;\n  * [twc_dns_zone](docs/data-sources/dns_zone.md) - зоны DNS;\n  * [twc_k8s_preset](docs/data-sources/k8s_preset.md) - пресеты конфигураций K8S кластера;\n  * [twc_image](docs/data-sources/image.md) - образы для серверов;\n  * [twc_floating_ip](docs/data-sources/floating_ip.md) - плавающий IP-адрес;\n\n## Быстрый старт\n\n### Установите Terraform\n\nВы можете установить Terraform согласно [официальной инструкции](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli?in=terraform%2Faws-get-started)\n\n### Создание конфигурации Terraform\n\n1. Создайте новую директорию с произвольным названием, к примеру: `timeweb-cloud-terraform`;\n\n2. В созданной директории добавьте конфигурационный файл с расширением `.tf`, например: `main.tf`.\n\n### Добавление провайдера\n\n1. В начале конфигурационного файла `main.tf` добавьте следующий блок:\n\n    ```\n    terraform {\n      required_providers {\n        twc = {\n          source = \"tf.timeweb.cloud/timeweb-cloud/timeweb-cloud\"\n        }\n      }\n      required_version = \"\u003e= 0.13\"\n    }\n    ```\n\n    \u003e Провайдер поддерживает только версии Terraform 0.13 и выше, на версиях ниже работа провайдера не поддерживается\n\n2. Выполните `terraform init` для скачивания провайдера\n\n### Установка API-токена для работы с провайдером\n\nДля работы с провайдером Terraform требуется получения токена API в [соответствующем разделе Панели управления](https://timeweb.cloud/my/api-keys) для доступа к ресурсам аккаунта.\n\nПосле создания токена им можно воспользоваться одним из указанных способов:\n\nДобавьте созданный токен в переменные окружения для его использования в Terraform:\n\n```sh\nexport TWC_TOKEN=eyJhbGc...\n```\n\nили\n\nДобавьте созданный токен в качестве параметра провайдера:\n\n```terraform\nprovider \"twc\" {\n  token = \"eyJhbGci...\"\n}\n```\n\n\u003e Для корректной работы Terraform-провайдера у токена должно быть отключено подтверждение удаления серверов через Telegram\n\n### Подготовка конфигурации\n\nПри помощи Terraform в Timeweb Cloud можно управлять различными типами типы ресурсов. Подробная информация о каждом ресурсе и источнике данных находится в отдельных разделах данной документации\n\nВ качестве примера будет применена конфигурация ниже, в рамках которой будет создана виртуальная машина с именем `Example server` c NVMe диском на 10 Гб, 1 ядром CPU и 1 Гб RAM с установленной ОС `Ubuntu 22.04` в локации `ru-1`.\n\n```terraform\nterraform {\n  required_providers {\n    twc = {\n      source = \"tf.timeweb.cloud/timeweb-cloud/timeweb-cloud\"\n    }\n  }\n  required_version = \"\u003e= 0.13\"\n}\n\ndata \"twc_configurator\" \"configurator\" {\n  location = \"ru-1\"\n  disk_type = \"nvme\"\n}\n\ndata \"twc_os\" \"os\" {\n  name = \"ubuntu\"\n  version = \"22.04\"\n}\nresource \"twc_server\" \"example-server\" {\n  name = \"Example server\"\n  os_id = data.twc_os.os.id\n\n  configuration {\n    configurator_id = data.twc_configurator.configurator.id\n    disk = 1024 * 15\n    cpu = 1\n    ram = 1024\n  }\n}\n```\n\n\u003e Для работы данного примера требуется установленная переменная окружения TWC_TOKEN\n\nДля доступа у созданной VDS потребуется пароль, который после создания сервера будет отправлен на почту. Как альтернативный вариант можно использовать доступ по SSH, подробнее о котором можно узнать в документации по ресурсу `twc_server` и источнику данных `twc_ssh_keys`.\n\n\n### Проверка файлов конфигурации\n\nПроверка конфигурации выполняется конфигурацию командой:\n\n```sh\nterraform validate\n```\n\nЕсли конфигурация является допустимой, появится сообщение:\n\n```\nSuccess! The configuration is valid.\n```\n\n\u003e Другие команды `terraform` можно узнать из [официальной документации Terraform](https://developer.hashicorp.com/terraform/cli)\n\n### Применение файлов конфигурации\n\n1. Для составления плана применения конфигурации выполните команду:\n\n    ```sh\n    terraform plan\n    ```\n\n    В терминале будет выведен список планируемых изменений. На этом этапе конфигурация применена не будет\n\n2. Чтобы применить конфигурацию и создать ресурсы выполните команду:\n\n    ```sh\n    terraform apply\n    ```\n\n3. Подтверждение создания ресурсов\n\n  Перед применением конфигурации Terraform повторно выведет план вносимых изменений и запросит ручное подтверждение перед началом своей работы:\n\n  ```sh\n  Do you want to perform these actions?\n    Terraform will perform the actions described above.\n    Only 'yes' will be accepted to approve.\n\n    Enter a value:\n  ```\n\n  введите в терминал слово `yes` и нажмите *Enter*.\n\n  После применения конфигурации Terraform выведет результат применения конфигурации, который можно проверить в [Панели управления](https://timeweb.cloud/my)\n\n### Удаление созданных ресурсов\n\nЧтобы удалить все ресурсы, созданные через Terraform:\n\n1. Выполните команду;\n    ```sh\n    terraform destroy\n    ```\n    Во время выполнения будет выведен план удаления всех созданных ресурсов и Terraform запросит ручное подтверждение перед началом своей работы:\n\n    ```sh\n    Do you really want to destroy all resources?\n      Terraform will destroy all your managed infrastructure, as shown above.\n      There is no undo. Only 'yes' will be accepted to confirm.\n\n      Enter a value:\n    ```\n\n2. Введите слово `yes` и нажмите *Enter*\n\n## Модули от сообщества\n\nМодули от сторонних разработчиков.\n\n- [terraform-timeweb-cloud-server](https://github.com/deff-dev/terraform-timeweb-cloud-server) — модуль для создания облачных серверов [[Terraform Registry](https://registry.terraform.io/modules/deff-dev/cloud-server/timeweb/latest)↗].\n- [terraform-timeweb-cloud-firewall](https://github.com/deff-dev/terraform-timeweb-cloud-firewall) — модуль для создания FireWall [[Terraform Registry](https://registry.terraform.io/modules/deff-dev/cloud-firewall/timeweb/latest)↗].\n- [terraform-twc-db-cluster](https://gitlab.com/denismaster/terraform-twc-db-cluster) — модуль для создания баз данных.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimeweb-cloud%2Fterraform-provider-timeweb-cloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimeweb-cloud%2Fterraform-provider-timeweb-cloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimeweb-cloud%2Fterraform-provider-timeweb-cloud/lists"}