and generating their terraform config
make sure you’re on the right profile
yc config profile list yc config profile activate test
start with a MWE and no definitions
vi providers.tf
terraform {
required_providers {
yandex = {
source = "yandex-cloud/yandex"
}
}
required_version = ">= 1.0.0"
}
vi main.tf
# yc compute instance list | grep INSTANCE-NAME
import {
id = "..."
to = yandex_compute_instance.server
}
# yc compute disk list | grep INSTANCE-ID
import {
id = "..."
to = yandex_compute_disk.boot-disk
}
# yc vpc address list | grep PUBLIC-IP OR INSTANCE-NAME
import {
id = "..."
to = yandex_vpc_address.static
}
also for security groups
# yc vpc security-group list | grep SG-NAME
import {
id = "..."
to = yandex_vpc_security_group.SG-NAME
}
also for dns zones
# yc dns zone list | grep ZONE
import {
id = "..."
to = yandex_dns_zone.zone
}
also for dns record sets
import {
id = "ZONE-ID/FQDN./RECORD-TYPE"
to = yandex_dns_recordset.rs
}
prepare your env
export YC_TOKEN=`yc iam create-token`
#export YC_CLOUD_ID=`yc config get cloud-id`
#export YC_FOLDER_ID=`yc config get folder-id`
echo $YC_TOKEN
#echo $YC_CLOUD_ID
#echo $YC_FOLDER_ID
now ready to generate the definitions
terraform init terraform plan -generate-config-out=generated_resources.tf cat generated_resources.tf >> main.tf rm -f generated_resources.tf rm -rf .terraform* terraform init terraform plan terraform apply
FW https://developer.hashicorp.com/terraform/language/import/generating-configuration