Up-to-date reference of API arguments for WAF domain you can get at documentation portal
opentelekomcloud_waf_domain_v1¶
Manages a WAF domain resource within OpenTelekomCloud.
Example Usage¶
variable "content" {}
resource "opentelekomcloud_waf_certificate_v1" "certificate_1" {
name = "cert_1"
content = "-----BEGIN CERTIFICATE-----MIIDIjCCAougAwIBAgIJALV96mEtVF4EMA0GCSqGSIb3DQEBBQUAMGoxCzAJBgNVBAYTAnh4MQswCQYDVQQIEwJ4eDELMAkGA1UEBxMCeHgxCzAJBgNVBAoTAnh4MQswCQYDVQQLEwJ-----END CERTIFICATE-----"
key = "-----BEGIN RSA PRIVATE KEY-----MIICXQIBAAKBgQDFPN9ojPndxSC4E1pqWQVKGHCFlXAAGBOxbGfSzXqzsoyacotueqMqXQbxrPSQFATeVmhZPNVEMdvcAMjYsV/mymtAwVqVA6q/OFdX/b3UHO+b/VqLo3J5SrM-----END RSA PRIVATE KEY-----"
}
resource "opentelekomcloud_waf_domain_v1" "domain_1" {
hostname = "www.example.com"
server {
client_protocol = "HTTPS"
server_protocol = "HTTPS"
address = "80.158.42.162"
port = "443"
}
certificate_id = opentelekomcloud_waf_certificate_v1.certificate_1.id
proxy = true
sip_header_name = "default"
sip_header_list = ["X-Forwarded-For"]
block_page {
template = "custom"
status_code = "200"
content_type = "application/json"
content = var.content
}
}
Argument Reference¶
The following arguments are supported:
hostname- (Required) The domain name. For example,www.example.comor*.example.com. Changing this creates a new domain.certificate_id- (Optional) The certificate ID. This parameter is mandatory whenfront_protocol/client_protocolis set toHTTPS.server- (Required) Array of server object. The server object structure is documented below. Theserverblock supports:client_protocol- (Optional) Protocol type of the client. The options are HTTP and HTTPS. Required iffront_protocolis not setserver_protocol- (Optional) Protocol used by WAF to forward client requests to the server. The options are HTTP and HTTPS. Required ifback_protocolis not set.address- (Required) IP address or domain name of the web server that the client accesses. For example,192.168.1.1orwww.bla-bla.com.port- (Required) Port number used by the web server. The value ranges from0to65535, for example,8080.
proxy- (Required) Specifies whether a proxy is configured.policy_id- (Optional) The policy ID associate with the domain.
-> If no policy ID is defined, default policy will be automatically created and assigned to the domain.
sip_header_name- (Optional) The type of the source IP header. This parameter is required only when proxy is set totrue. The options are as follows:default,cloudflare,akamai, andcustom.sip_header_list- (Optional) Array of HTTP request header for identifying the real source IP address. This parameter is required only when proxy is set totrue.If
sip_header_nameisdefault,sip_header_listis["X-Forwarded-For"].If
sip_header_nameiscloudflare,sip_header_listis["CF-Connecting-IP", "X-Forwarded-For"].If
sip_header_nameisakamai,sip_header_listis["True-Client-IP"].If
sip_header_nameiscustom, you can customize a value.
cipher- (Optional) Cipher suite to use with TLS. Possible values are:cipher_default- Default cipher suite: Good browser compatibility, most clients supported, sufficient for most scenarioscipher_1- Cipher suite 1: Recommended configuration, the best combination of compatibility and securitycipher_2- Cipher suite 2: Strict compliance with forward secrecy requirements of PCI DSS and excellent protection, but older browsers may be unable to access the websitescipher_3- Cipher suite 3: Support for ECDHE, DHE-GCM, and RSA-AES-GCM algorithms but not CBC
-> сipher_2 is not supported if TLS v1.1 is selected.
tls- (Optional) Minimum TLS version for accessing the protected domain name ifclient_protocolis set toHTTPS. Possible values are:TLS v1.1andTLS v1.2.block_page- (Optional) Alarm page configuration Theblock_pageblock supports:template- (Required) Template name which can bedefault,customorredirect.
-> Redirection arguments (
redirecttemplate):redirect_url- (Optional) URL of the redirected page.
-> Custom alarm page arguments (
customtemplate):status_code- (Optional) Status Codes for custom.content_type- (Optional) The content type of the custom alarm page. The value can betext/html,text/xml, orapplication/json.content- (Optional) The page content based on the selected page type.
Attributes Reference¶
In addition to all arguments above, the following attributes are exported:
id- ID of the domain.access_code- The access code.cname- The CNAME value.txt_code- The TXT record. This attribute is returned only when proxy is set totrue.sub_domain- The subdomain name. This attribute is returned only when proxy is set totrue.protect_status- The WAF mode.-1:bypassed,0:disabled,1:enabled.access_status- Whether a domain name is connected to WAF.0: The domain name is not connected to WAF,1: The domain name is connected to WAF.protocol- The protocol type of the client. The options areHTTP,HTTPS, andHTTP&HTTPS.auto_policy_id- ID of the policy automatically created for the domain.
Import¶
Domains can be imported using the id, e.g.
terraform import opentelekomcloud_waf_domain_v1.dom_1 7117d38e-4c8f-4624-a505-bd96b97d024c