Ana içeriğe geç

dtcloud_snapshot (Kaynak)

Bir diskin belirli bir andaki kopyasını yönetir.

Boyut ve depolama politikası, kopyanın alındığı anda kaynak diskten gelir; bu yüzden yalnızca name ve description yerinde değişir. Geri yükleme burada yapılmaz: geri yükleme bir disk üretir, bu yüzden source_snapshot_id üzerinden dtcloud_volume'a aittir.

Örnek Kullanım​

resource "dtcloud_snapshot" "nightly" {
name = "app-data-2026-01-31"
volume_id = dtcloud_volume.data.id
description = "Before the schema migration"
}

# Geri yükleme burada yapılmaz: geri yükleme bir disk üretir, bu yüzden
# disk kaynağına aittir.
resource "dtcloud_volume" "restored" {
name = "app-data-restored"
size = 100
storage_policy = "standard"
source_snapshot_id = dtcloud_snapshot.nightly.id
}

Şema​

Zorunlu​

  • name (String) Anlık görüntünün adı. Yerinde değiştirilebilir.
  • volume_id (String) Anlık görüntüsü alınacak diskin kimliği. Disk çalışan bir makineye bağlı olabilir. Değiştirmek yeni bir anlık görüntü alır ve bunu yok eder. Bu değiştirilirse yeni bir kaynak oluşturulur.

İsteğe Bağlı​

  • description (String) Serbest metin açıklama. Yapılandırmadan kaldırmak onu platformda temizler; API boş bir dizeyi doğrudan reddettiği için bunu JSON null olarak ifade eder.
  • timeouts (Block, Optional) (bkz. aşağıdaki iç içe şema)

Salt Okunur​

  • created_at (String) Anlık görüntünün alındığı zaman, platformun bildirdiği haliyle. API saat dilimi göndermez ve değer değiştirilmeden aktarılır.
  • id (String) Bu kaynağın kimliği.
  • progress (String) Kopyalamanın ne kadar ilerlediği, 100% gibi bir yüzde dizesi olarak. Büyük bir anlık görüntünün hâlâ yazıldığının görünen tek işaretidir.
  • project_id (String) Anlık görüntünün ait olduğu projenin kimliği.
  • size (Number) GB cinsinden boyut, kaynak diskten gelir. Bir anlık görüntü yeniden boyutlandırılamaz; alındığı anda disk ne kadar büyükse o kadardır.
  • status (String) Platformun bildirdiği durum. Tek kararlı durum available'dır.
  • storage_policy (String) Anlık görüntüyü destekleyen depolama politikasının adı, volume_type_id'den çözülür. Depolama politikaları uç noktası okunamadıysa boştur.
  • updated_at (String) Anlık görüntünün meta verisinin son değiştiği zaman. İlk kez yeniden adlandırılana ya da açıklaması değiştirilene kadar boştur.
  • volume_type_id (String) Anlık görüntüler uç noktasının bildirdiği haliyle, anlık görüntüyü destekleyen disk tipinin kimliği. storage_policy aynı şeyin adıdır.

timeouts için iç içe şema​

İsteğe Bağlı:

  • create (String)
  • delete (String)
  • update (String)

Bilinmesi Gerekenler​

  • Kaynak disk bağlı ve çalışır durumda olabilir. Kopya, blok cihazının o anki halidir; bu yüzden tutarlı bir dosya sistemi değildir. Veri önemliyse uygulamayı yazma yapmayacak şekilde durdurun ya da anlık görüntüyü makine durdurulmuşken alın.
  • Bir diskinkinin aksine description geri okunur. Geri okunduğu için sapma gösterir, içe aktarmada korunur ve yapılandırmadan kaldırılması onu platformda temizler. Oluşturma açıklama kabul etmez, bu yüzden açıklama ikinci bir çağrıyla uygulanır.
  • storage_policy sağlayıcı tarafından çözülür. Anlık görüntüler uç noktası yalnızca volume_type_id bildirir; bu yüzden sağlayıcı adı her çalıştırmada bir kez arar ve yanıtı tüm anlık görüntüler arasında paylaşır. Arama başarısız olabilir: başarısız olursa storage_policy çalıştırmanın geri kalanında boş kalır, volume_type_id ise her zaman doludur.
  • Bir diski silmek anlık görüntülerini de siler. Kaynak dtcloud_volume'u yok etmek, Terraform tarafından yönetilsin ya da yönetilmesin tüm anlık görüntülerini kaldırır ve Terraform bu konuda uyarmaz. İkisi aynı yapılandırmadaysa volume_id içindeki referans, Terraform'un önce anlık görüntüyü yok etmesini sağlar.
  • Bir anlık görüntüyü silmek reddedilebilir: hâlâ oluşturulurken ya da ondan geri yüklenmiş bir disk hâlâ ona bağlıyken. Platformun mesajı aktarılır; önce ona bağlı diski yok edin.

Zaman Aşımları​

create için varsayılan süre 30 dakika, update için 15 dakika, delete için 20 dakikadır. Oluşturma diskin tamamını kopyaladığından varsayılan cömerttir; büyük diskler için artırın. Bunları bir timeouts bloğuyla değiştirin:

resource "dtcloud_snapshot" "nightly" {
# ...

timeouts {
create = "1h"
}
}

İçe Aktarma​

terraform import dtcloud_snapshot.nightly 9e7d3a02-5c81-4f6b-b294-7a1e6c4d8b55

description dahil her şey geri okunur; bu yüzden yapılandırma anlık görüntüyle eşleştiğinde içe aktarmanın hemen ardından gelen plan boştur.