Ana içeriğe geç

dtcloud_network (Kaynak)

Bir ağı ve IPAM etkinse içindeki alt ağı yönetir.

İkisini tek bir kaynak kapsar, çünkü API onları ayrı ayrı yönetmez: tek bir çağrı ağı ve alt ağını oluşturur, ayrıntı uç noktası da ikisini birlikte bildirir.

Örnek Kullanım​

# IPAM'ı açık bir ağ: sağlayıcı içindeki alt ağı da yönetir.
resource "dtcloud_network" "app" {
name = "app-net"
ipam_enabled = true
cidr = "10.20.0.0/24"

gateway_ip = "10.20.0.1"
enable_dhcp = true
dns_nameservers = ["8.8.8.8", "8.8.4.4"]
}

# IPAM kapalıyken alt ağ yoktur ve adresler Terraform dışında yönetilir.
resource "dtcloud_network" "flat" {
name = "flat-net"
ipam_enabled = false
}

Şema​

Zorunlu​

  • name (String) Ağın adı. Yerinde değiştirilebilir.

İsteğe Bağlı​

  • allocation_pools (Block List) Alt ağın adres ayırdığı aralıklar. Verilmezse platform makul bir varsayılan seçer. (bkz. aşağıdaki iç içe şema)
  • cidr (String) Alt ağ için IPv4 aralığı, örn. 10.0.0.0/24. ipam_enabled true olduğunda zorunludur, false olduğunda reddedilir. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • dns_nameservers (List of String) Bu ağdaki makinelere duyurulan DNS sunucuları.
  • enable_dhcp (Boolean) Alt ağın DHCP üzerinden adres dağıtıp dağıtmadığı.
  • gateway_ip (String) Ağ geçidi adresi. Verilmezse platform kullanılabilir ilk adresi seçer.
  • ipam_enabled (Boolean) Bu ağda adreslemeyi platformun yönetip yönetmediği. Açıkken cidr'dan bir alt ağ oluşturulur ve bağlantı noktası güvenliği etkinleştirilir. Kapalıyken hiç alt ağ yoktur: CIDR, ağ geçidi ve DHCP de yoktur. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • timeouts (Block, Optional) (bkz. aşağıdaki iç içe şema)

Salt Okunur​

  • id (String) Bu kaynağın kimliği.
  • ip_version (Number) Alt ağın IP sürümü. API yalnızca IPv4 oluşturur.
  • network_type (String) Platformun bildirdiği haliyle Virtual ya da Physical.
  • subnet_id (String) Alt ağın kimliği; ipam_enabled false ise boş.

allocation_pools için iç içe şema​

Zorunlu:

  • end (String) Aralıktaki son adres.
  • start (String) Aralıktaki ilk adres.

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

İsteğe Bağlı:

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

Bilinmesi Gerekenler​

warning

ipam_enabled iki iş yapan tek bir bayraktır. Ağın bağlantı noktası güvenliği ayarı olur ve bir alt ağın var olup olmadığına karar verir. Kapalıyken alt ağ yoktur; bu yüzden cidr, gateway_ip, dns_nameservers, allocation_pools ve enable_dhcp = false uygulanacak bir şey bulamaz ve herhangi birinin ayarlanması plan aşamasında reddedilir.

  • Yerinde değişenler. name ve alt ağın gateway_ip, enable_dhcp, dns_nameservers ve allocation_pools değerleri. ipam_enabled ve cidr yeni bir ağ gerektirir: alt ağın adres aralığı da, var olup olmaması da sonradan değiştirilemez.
  • Alt ağ düzenlemeleri tüm değerleri birlikte gönderir. Alt ağ uç noktası enable_dhcp, dns_nameservers ve allocation_pools değerlerini birlikte ister; bu yüzden birini değiştirmek, gateway_ip dahil dört alt ağ ayarının hepsini gönderir. Bunlardan birinde Terraform dışında yapılan bir değişiklik, burada herhangi biri bir sonraki değiştiğinde üzerine yazılır.
  • ip_version bir argüman değildir. API istek ne derse desin IPv4 alt ağlar oluşturur, bu yüzden sürüm yalnızca geri bildirilir.
  • Oluşturma ve silme eşzamansızdır. Bir ağın yoklanacak bir durumu yoktur; bu yüzden sağlayıcı ağ geri okunana ya da artık bulunamayana kadar bekler.

Zaman Aşımları​

create için varsayılan süre 15 dakika, update için 10 dakika, delete için 15 dakikadır. Bunları bir timeouts bloğuyla değiştirin:

resource "dtcloud_network" "app" {
# ...

timeouts {
create = "30m"
}
}

İçe Aktarma​

terraform import dtcloud_network.app 3d2b9c88-4a71-4e5f-b0c2-9e8a1d7f4c33

Alt ağ ayarları dahil her şey geri okunur; bu yüzden yapılandırma ağla eşleştiğinde içe aktarmanın hemen ardından gelen plan boştur.