Ресурсы
Ресурсы в Terraform — это основные строительные блоки для создания, изменения и управления инфраструктурой. В конфигурациях Terraform ресурсы представляют собой различные облачные ресурсы: виртуальные машины, сети, хранилища данных и другие элементы инфраструктуры.
В Terraform ресурсы описываются с помощью конфигурационных файлов на языке HCL. В этих файлах указываются атрибуты каждого ресурса, такие как тип ресурса, его свойства и зависимости от других ресурсов.
Terraform использует декларативный подход к управлению инфраструктурой. Это означает, что пользователь описывает целевое состояние инфраструктуры, а Terraform автоматически выполняет необходимые действия для достижения этого состояния. Декларативный подход позволяет упростить процесс управления инфраструктурой и снизить вероятность ошибок.
Для каждого типа ресурса в Terraform есть свой набор атрибутов, которые можно задать при создании инфраструктуры. Например, для ресурса yandex_compute_instance можно указать платформу, размер диска, количество ядер и другие параметры.
Ресурсы могут ссылаться друг на друга, определяя порядок их взаимного создания и удаления. Например, ресурс yandex_vpc_subnet может зависеть от ресурса yandex_vpc_network. Это позволяет Terraform автоматически создавать и удалять ресурсы в правильном порядке.
При изменении конфигурации Terraform сравнивает текущее состояние инфраструктуры с целевым состоянием и выполняет только те действия, которые необходимы для приведения инфраструктуры в целевое состояние. Это обеспечивает согласованность инфраструктуры и упрощает процесс ее обновления.