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çıkkencidr'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.
nameve alt ağıngateway_ip,enable_dhcp,dns_nameserversveallocation_poolsdeğerleri.ipam_enabledvecidryeni 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_nameserversveallocation_poolsdeğerlerini birlikte ister; bu yüzden birini değiştirmek,gateway_ipdahil 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_versionbir 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"
}
}