Ana içeriğe geç

dtcloud_router_interface (Kaynak)

Bir özel ağı yönlendiriciye bağlar; o ağdaki makinelere her yere giden bir yol veren şey budur.

Örnek Kullanım​

resource "dtcloud_router_interface" "app" {
router_id = dtcloud_router.main.id
network_id = dtcloud_network.app.id
}

# Platformun seçtiği yerine belirlenmiş bir adresle.
# `port_security_enabled`'ın platforma ulaştığı tek yol da budur.
resource "dtcloud_router_interface" "db" {
router_id = dtcloud_router.main.id
network_id = dtcloud_network.db.id
ip_address = "10.0.20.1"
port_security_enabled = true
}
not

Burada hiçbir şey yerinde değişmez. Platformda bir bağlama ve bir ayırma uç noktası var, arada bir şey yok; bu yüzden her argüman bağlantıyı yeniden kurar.

Şema​

Zorunlu​

  • network_id (String) Bağlanacak ağın kimliği. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • router_id (String) Ağın bağlanacağı yönlendiricinin kimliği. Bu değiştirilirse yeni bir kaynak oluşturulur.

İsteğe Bağlı​

  • ip_address (String) Arayüzün ağ üzerinde alacağı adres. Verilmediğinde platform ağın ilk alt ağına bağlanır ve oradan bir adres tahsis eder. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • port_security_enabled (Boolean) Bu arayüze port güvenliğinin uygulanıp uygulanmayacağı. Platforma yalnızca ip_address verildiğinde ulaşır; adres vermeden bağlamak, bu ayarı almayan bir yoldan gider. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • timeouts (Block, Optional) (bkz. aşağıdaki iç içe şema)

Salt Okunur​

  • cidr (String) Bağlı ağın ilk alt ağının CIDR'i.
  • id (String) Bu kaynağın kimliği.
  • network_name (String) Bağlı ağın adı.
  • port_id (String) Platformun bu arayüz için oluşturduğu bağlantı noktasının kimliği.
  • status (String) Arayüzün portunun durumu.
  • subnet_id (String) Arayüzün adresinin geldiği alt ağın kimliği.

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

İsteğe Bağlı:

  • create (String)
  • delete (String)

Bilinmesi Gerekenler​

  • ip_address vermezseniz ağın ilk alt ağına düşersiniz. Sizin adlandırdığınıza değil, hepsine de değil. dtcloud_network ile oluşturulan ağların tam olarak bir alt ağı vardır; bu yüzden bu, yalnızca başka yerde birden çok alt ağla kurulmuş bir ağda önem taşır.
  • port_security_enabled yalnızca ip_address verildiğinde geçerlidir. İki bağlama yolu, bir alanı eksik bırakılmış tek bir işlem değil, farklı işlemlerdir: belirli bir adres istemek bir port oluşturur ve ona port güvenliği uygular; platformun seçmesine izin vermek ise bu ayara hiç bakmayan bir yoldan gider. Sessizce yok sayılmak yerine argüman olarak tutulur, çünkü diğer yolda gerçekten geçerlidir.
  • Güvenlik grupları sunulmuyor. Bir yönlendirici arayüzü hiç güvenlik grubu olmadan oluşturulur ve sonradan ekleyen bir uç nokta yoktur. Güvenlik grupları yönlendiricinin arkasındaki makinelere aittir.
  • Bir arayüzden geçen statik rota o arayüzü sabitler. Bir rotanın sonraki adımı arayüzün arkasındaki ağda bulunduğu sürece platform arayüzü ayırmayı reddeder; yani bir yönlendiricinin rotaları arayüzlerinden önce yok edilmelidir. Terraform bunu ancak yapılandırma söylerse bilir — hangi rotanın hangi arayüze ihtiyaç duyduğu, API'nin bildirmediği bir yönlendirme kararıdır. Yönettiğiniz bir arayüzden geçen her rotaya depends_on koyun; yoksa bir yok etme … cannot be deleted, as it is required by one or more routes ile durabilir. Aynısı, arayüzü yeniden kuran her değişiklik için de geçerlidir; örneğin daha önce ip_address verilmemiş bir arayüze adres vermek.
  • Yönlendiriciyi yok etmek arayüzlerini de götürür. Terraform'un grafiği bunları zaten önce yok eder; bu yüzden bu yalnızca Terraform dışında bağlanmış bir şey için ortaya çıkar.

Zaman Aşımları​

create ve delete varsayılan olarak 10'ar dakikadır. Oluşturma, yeni port yönlendiricide görünene kadar dönmez: bağlama uç noktası oluşturduğu portu değil yönlendiriciyi yanıtlar; bu yüzden ayırmanın tek tutamağı olan port kimliği, yönlendiricinin arayüz listesi izlenerek bulunur.

İçe Aktarma​

# <yönlendirici-kimliği>:<port-kimliği>. Port kimliği,
# `dtcloud_router_interfaces` içinde `type` alanı "Internal interface" olan
# girdinin `id` değeridir.
terraform import dtcloud_router_interface.app 3f2a1c9e-77b4-4a01-9d3e-2b6c81f4e5a7:8b41d0c6-5e29-4f77-a0d3-9c2e7b1a4f60

port_security_enabled geri getirilmez: hiçbir uç nokta bildirmez, bu yüzden içe aktarma varsayılanı — true — kabul eder. Arayüz port güvenliği kapalı bağlandıysa, içe aktarmadan önce bunu yapılandırmada belirtin; yoksa state'teki değer yanlış olur ve bunu size kimse söylemez.