Ana içeriğe geç

dtcloud_lb_listener (Kaynak)

Bir yük dengeleyici üzerindeki dinleyiciyi yönetir: bağlantıları kabul ettiği protokol ve port.

Örnek Kullanım​

resource "dtcloud_lb_listener" "https" {
lb_id = dtcloud_lb.public.id
name = "https"
protocol = "HTTPS"
protocol_port = 443

# Dinleyiciye yalnızca bu adresler ulaşabilir.
allowed_cidrs = ["10.0.0.0/8"]

# Burada milisaniye. dtcloud_lb_balancing_pool aynı üçünü saniye olarak
# alır.
timeout_client_data = 50000
}

Şema​

Zorunlu​

  • lb_id (String) Bu dinleyicinin ait olduğu yük dengeleyicinin kimliği. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • protocol (String) Ön uç protokolü. Şunlardan biri: HTTP, HTTPS, TCP, UDP. Bu değiştirilirse yeni bir kaynak oluşturulur.
  • protocol_port (Number) Dinleyicinin trafiği kabul ettiği ön uç portu. Bu değiştirilirse yeni bir kaynak oluşturulur.

İsteğe Bağlı​

  • admin_state_up (Boolean) Dinleyicinin yönetimsel olarak açık olup olmadığı.
  • allowed_cidrs (List of String) Bu dinleyiciye ulaşmasına izin verilen CIDR'ler.
  • connection_limit (Number) Eşzamanlı bağlantı üst sınırı.
  • default_pool_id (String) Başka bir kural eşleşmediğinde trafiği alan havuz.
  • description (String) Serbest metin açıklama.
  • insert_headers (Block List, Max: 1) Dinleyicinin üyelere ilettiği isteklere eklediği başlıklar. (bkz. aşağıdaki iç içe şema)
  • name (String) Dinleyicinin adı.
  • timeout_client_data (Number) İstemci hareketsizlik zaman aşımı, milisaniye.
  • timeout_member_connect (Number) Üyeye bağlanma zaman aşımı, milisaniye.
  • timeout_member_data (Number) Üye hareketsizlik zaman aşımı, milisaniye.
  • timeouts (Block, Optional) (bkz. aşağıdaki iç içe şema)

Salt Okunur​

  • created_at (String) API'nin bildirdiği oluşturulma zamanı.
  • id (String) Bu kaynağın kimliği.
  • listener_id (String) Dinleyicinin yük dengeleyici öneki olmadan kendi kimliği.
  • operating_status (String) Çalışma durumu.
  • provisioning_status (String) Sağlama durumu.
  • updated_at (String) API'nin bildirdiği son güncelleme zamanı.

insert_headers için iç içe şema​

İsteğe Bağlı:

  • x_forwarded_for (String)
  • x_forwarded_port (String)
  • x_forwarded_proto (String)
  • x_ssl_client_cn (String)
  • x_ssl_client_dn (String)
  • x_ssl_client_has_cert (String)
  • x_ssl_client_not_after (String)
  • x_ssl_client_not_before (String)
  • x_ssl_client_sha1 (String)
  • x_ssl_client_verify (String)
  • x_ssl_issuer (String)

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

İsteğe Bağlı:

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

Bilinmesi Gerekenler​

  • protocol ve protocol_port oluşturma anında sabitlenir. Geri kalan her şey yerinde değişir. Oluşturma çağrısı yalnızca protokolü, portu, bir adı ve bir açıklamayı kabul eder; sağlayıcı geri kalanını hemen ardından ikinci bir çağrıyla uygular.
  • Üç zaman aşımı burada milisaniyedir. dtcloud_lb_balancing_pool aynı üçünü saniye olarak alır. Bu asimetri API'ye aittir: o uç nokta çevirir, bu çevirmez.
  • Verilmediğinde zaman aşımlarını ve bağlantı sınırını platform doldurur ve seçtiğini bildirir. Computed olmalarının nedeni budur; böylece verilmemiş bir değer fark olarak okunmaz.
  • allowed_cidrs boş olduğunda null olarak yanıtlanır. State'e yalnızca boş olmayan bir liste yazılır; böylece argümanı vermemekle platformun hiçbir şey bildirmemesi örtüşür.

Zaman Aşımları​

create, update ve delete varsayılan olarak 15'er dakikadır. Her çağrı önce üst yük dengeleyicinin kararlı duruma gelmesini bekler.

İçe Aktarma​

# <load-balancer-id>:<listener-id>
terraform import dtcloud_lb_listener.https 3d372446-4c75-4327-9511-98442456162f:8c1f0b7a-22e5-4a90-b5d1-1f3c9e77a201

Kimlik yük dengeleyiciyi de taşır; çünkü her dinleyici çağrısı ona göre kapsanır ve tek başına dinleyici kimliği bir dinleyiciyi adresleyemez.