Terraform'dan yapılandırmayı doğrulamasını istemeden once, durumu ice aktarmamız gerekir, boylece Terraform yeni nesneler yaratmaya calışmaz, bunun yerine Cloudflare'da sahip olduğumuz mevcut nesneleri yeniden kullanır.
Generate komutuyla yaptığımıza benzer şekilde, terraform importkomutları oluşturmak icin import komutunu kullanıyoruz .
Kod:
cf-terraforming import --resource-type cloudflare_record --zone
Bu komutu bozmak:
importdaha terraform importsonra calıştırabileceğimiz gecerli bir komut uretecek olan komuttur
--resource-type(uretme komutuyla aynıdır), kendisi icin ice aktarma komutları oluşturmak istediğimiz Terraform kaynak adını belirtir. Bir seferde yalnızca bir kaynak kullanabilirsiniz. Bu ornekte kullandığımız cloudflare_record
--zone(oluşturma komutuyla aynı), tum DNS kayıtlarını almak istediğimiz Cloudflare bolge kimliğini belirtir, boylece cf-terraforming komutları uygun API cağrılarıyla doldurabilir.
Ve cıktılı bir ornek:
Kod:
$ cf-terraforming import --resource-type cloudflare_record --zone 9c2f972575d986b99fa03c7bbfaab414 terraform import cloudflare_record.terraform_managed_resource_db185 030f44e358e1c2162a9ecda7253 9c2f972575d986b99fa03c7bbfaab414/db185030f44e358e1c2162a9ecda7253 terraform import cloudflare_record.terraform_managed_resource_e908d 014ebef5011d5981b3ba961a011 9c2f972575d986b99fa03c7bbfaab414/e908d014ebef5011d5981b3ba961a011 terraform import cloudflare_record.terraform_managed_resource_3f62e 6950a5e0889a14cf5b913e87699 9c2f972575d986b99fa03c7bbfaab414/3f62e6950a5e0889a14cf5b913e87699 terraform import cloudflare_record.terraform_managed_resource_47581 f47852ad2ba61df90b15933903d 9c2f972575d986b99fa03c7bbfaab414/47581f47852ad2ba61df90b15933903d$
Bunun cıktısı terraform importkomutları kullanmaya hazır olacaktır . Oluşturulan terraform importkomutu calıştırmak, kaynak durumunu Terraform'un terraform.tfstatedosyasına aktarmak icin mevcut Cloudflare Terraform sağlayıcı işlevselliğinden yararlanacaktır . Bu, tum uygun kaynak kimliklerini Cloudflare API'sinden cekme ve ardından bu komutları tek tek bicimlendirme sıkıntısını ortadan kaldırır. Yapılandırma durumunun işlem sırası, Terraform .tfdurumu ice aktarmadan once dosyada bu kaynaklar icin yapılandırma olmasını beklediğinden onemlidir .
Not: Bu kaynakları gercekten ice aktarırken dikkatli olun, ancak bu noktadan itibaren plan veya uygulama gibi sonraki Terraform eylemleri bu kaynağın orada olmasını bekleyecektir. Durumun kaldırılması mumkundur ancak terraform.tfstatedosyanın manuel olarak duzenlenmesini gerektirir . Terraform, bir hata yapmanız durumunda yerel olarak bir yedekleme yapar.
Şimdi terraform importdurumu ice aktarmak icin aslında bu komutları calıştırıyoruz . Aşağıda bunun tek bir kaynak icin nasıl gorunduğu gosterilmektedir.
Kod:
$ terraform import cloudflare_record.terraform_managed_resource_47581 f47852ad2ba61df90b15933903d 9c2f972575d986b99fa03c7bbfaab414/47581f47852ad2ba61df90b15933903d cloudflare_record.terraform_managed_resource_47581 f47852ad2ba61df90b15933903d: Importing from ID "9c2f972575d986b99fa03c7bbfaab414/47581f47852ad2ba61df90b15933903d"... cloudflare_record.terraform_managed_resource_47581 f47852ad2ba61df90b15933903d: Import prepared! Prepared cloudflare_record for import cloudflare_record.terraform_managed_resource_47581 f47852ad2ba61df90b15933903d: Refreshing state... [id=47581f47852ad2ba61df90b15933903d] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform.
İle cloudflare_recordithal, şimdi firewall_rules ve filtreler icin aynı şeyi.
Kod:
cf-terraforming import --resource-type cloudflare_firewall_rule --zone cf-terraforming import --resource-type cloudflare_filter --zone
Cıktıyla birlikte gosterilir:
Kod:
$ cf-terraforming import --resource-type cloudflare_firewall_rule --zone 9c2f972575d986b99fa03c7bbfaab414 terraform import cloudflare_firewall_rule.terraform_managed_resourc e_0de909f3229341a2b8214737903f2caf 9c2f972575d986b99fa03c7bbfaab414/0de909f3229341a2b8214737903f2caf terraform import cloudflare_firewall_rule.terraform_managed_resourc e_0c722eb85e1c47dcac83b5824bad4a7c 9c2f972575d986b99fa03c7bbfaab414/0c722eb85e1c47dcac83b5824bad4a7c $ cf-terraforming import --resource-type cloudflare_filter --zone 9c2f972575d986b99fa03c7bbfaab414 terraform import cloudflare_filter.terraform_managed_resource_ee048 570bb874972bbb6557f7529e094 9c2f972575d986b99fa03c7bbfaab414/ee048570bb874972bbb6557f7529e094 terraform import cloudflare_filter.terraform_managed_resource_1bb6c d50e2534a64a9ec698fd841ffc5 9c2f972575d986b99fa03c7bbfaab414/1bb6cd50e2534a64a9ec698fd841ffc5 $
Olduğu gibi cloudflare_record, terraform importtum durumun başarıyla ice aktarıldığından emin olmak icin bu komutları calıştırıyoruz .
Terraform durumunu ice aktarma
Site & Server Administration0 Mesaj
●8 Görüntüleme
- ReadBull.net
- Domain & Sunucu & Web Hosting
- Site & Server Administration
- Terraform durumunu ice aktarma
-
05-09-2022, 16:42:46