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
protocolveprotocol_portoluş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_poolaynı üçü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_cidrsboş olduğundanullolarak 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.