# Terraform Top Commands

- **[Terraform CLI Guide](https://developer.hashicorp.com/terraform/cli/commands)**

**Инициализация рабочего каталога**

```ruby
terraform init
```

**Валидация конфигурационных файлов**

```ruby
terraform validate
```

**Просмотр плана выполнения**

```ruby
terraform plan
```

**Применение изменений** (авто подтверждение)

```ruby
terraform apply -auto-approve
```

**Уничтожение всей управляемой инфраструктуры** (авто подтверждение)

```ruby
terraform destroy -auto-approve
```

**Поиск ssh-ключа по NAME**

```ruby
curl -X GET \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <do_key>' \
  'https://api.digitalocean.com/v2/account/keys' \
  -G \
  --data-urlencode 'page=1' \
  --data-urlencode 'per_page=999' \
  | jq '.ssh_keys[] | select(.name=="xeonmp22_key1") | .id'
```

**Удаление ключа оп ID**

```ruby
curl -X DELETE \
  -H 'Authorization: Bearer <do_key>' \
  "https://api.digitalocean.com/v2/account/keys/<key_id>"
```

**Создание/Удаление заданного ресурса**

```ruby
terraform apply -target=digitalocean_droplet.web2 -auto-approve
terraform apply -target=aws_route53_record.www2 -auto-approve
terraform destroy -target=digitalocean_droplet.web2 -auto-approve
```