GuideReference
TrainingSupportCommunity
Guide

Property

akamai_gtm_property

Create or update a GTM property.

resource "akamai_gtm_property" "demo_property" {
    domain = "demo_domain.akadns.net"
    name = "demo_property"
    type =  "weighted-round-robin"
    score_aggregation_type = "median"
    handout_limit = 5
    handout_mode = "normal"
    traffic_target {
        datacenter_id = 3131
    }
}

Argument reference

ArgumentRequiredDescription
domain✔️DNS name for the GTM Domain set that includes this Property.
name✔️DNS name for a collection of IP address or CNAME responses. The value, together with the GTM domainName, forms the Property's hostname.
type✔️Specifies the load balancing behavior for the property. One of:
  • static. Lets you set up and configure DNS record sets yourself.
  • failover. Directs traffic to your primary traffic target. If that fails, to your backup traffic target.
  • ranked-failover. Directs traffic to the target with the highest precedence. If that fails, it's directed to your backup targets in order of precedence.
  • geographic. Maps end users to traffic targets based on their location.
  • cidrmapping. Uses a predefined CIDR to send end users to traffic targets based on their IP address.
  • weighted-round-robin. Distributes traffic based on your load proportion settings.
  • weighted-round-robin-load-feedback. Distributes traffic based on your load proportion settings and provides real-time information about your data center load.
  • weighted-hashed. Maps traffic to targets based on a hash of the client nameserver's IP address.
  • qtr. Directs traffic to targets based on frequency variation influence.
  • performance. Sends traffic to the location closest to the end user.
  • performance-with-load-feedback. Balances your traffic load using one or more resources, or load measurements.
  • performance-with-load-feedback-computed-targets. Balances your traffic load using resources, or load measurements, along with the targets' set weight.
  • performance-with-load-feedback-download-score. Deprecated. Sends end user traffic to targets based on a data center's response time to liveness tests.
  • asmapping. Uses a pre-configured AS map to direct end-user requests to targets.
score_aggregation_type✔️Specifies how GTM aggregates liveness test scores across different tests, when multiple tests are configured.
handout_limit✔️Indicates the limit for the number of live IPs handed out to a DNS request.
handout_mode✔️Specifies how IPs are returned when more than one IP is alive and available.
traffic_targetContains information about where to direct data center traffic. You can have multiple traffic_target arguments. Contains:
  • datacenter_id. A unique identifier for an existing data center in the domain.
  • enabled. A boolean indicating whether the traffic target is used. You can also omit the traffic target, which has the same result as the false value.
  • weight. Specifies the traffic weight for the target.
  • servers. Identifies the IP address or the hostnames of the servers.
  • handout_cname. Specifies an optional data center for the property. Used when there are no servers configured for the property.
  • precedence. A non-negative integer that represents the failover rank in the event that the primary traffic target is down. Value is 0-255. The default is 0.
liveness_testContains information about the liveness tests, which are run periodically to determine whether your servers respond to requests. You can have multiple liveness_test arguments. If used, pass the required arguments:
  • name. Required. A descriptive name for the liveness test.
  • test_interval. Required. Indicates the interval at which the liveness test is run, in seconds. Requires a minimum of 10 seconds.
  • test_object_protocol. Required. Specifies the test protocol. One of: DNS, HTTP, HTTPS, FTP, POP, POPS, SMTP, SMTPS, TCP, or TCPS.
  • test_timeout. Required. Specifies the duration of the liveness test before it fails. The range is from 0.001 to 60 seconds.
  • test_object_port. Required. Specifies the port number for the testObject.
  • answers_required. If test_object_protocol is DNS, enter a boolean value if an answer is needed for the DNS query to be successful.
  • disabled. A boolean indicating whether the liveness test is disabled. When disabled, GTM stops running the test, effectively treating it as if it no longer exists.
  • disable_nonstandard_port_warning. A boolean that if set to true, disables warnings when non-standard ports are used.
  • error_penalty. Specifies the score that's reported if the liveness test encounters an error other than timeout, such as connection refused, and 404.
  • http_header. Contains HTTP headers to send if the test_object_protocol is http or https. You can have multiple http_header entries. Contains:
    • name. Optional. The name of an HTTP header.
    • value. Optional. The value of an HTTP header.
  • http_error3xx. A boolean that if set to true, treats a 3xx HTTP response as a failure if the test_object_protocol is http, https, or ftp.
  • http_error4xx. A boolean that if set to true, treats a 4xx HTTP response as a failure if the test_object_protocol is http, https, or ftp.
  • http_error5xx. A boolean that if set to true, treats a 5xx HTTP response as a failure if the test_object_protocol is http, https, or ftp.
  • http_method. When the test_object_protocol is http or https, the HTTP method to send. Value is one of:
    • TRACE
    • HEAD
    • OPTIONS
    • GET (default)
    • PUT
    • POST
    • PATCH
    • DELETE
  • http_request_body. The Base64-encoded HTTP request body sent if the test_object_protocol is http or https.
  • peer_certificate_verification. A boolean that if set to true, validates the origin certificate. Applies only to tests with test_object_protocol of https.
  • recursion_requested. A boolean indicating whether the test_object_protocol is DNS. The DNS query is recursive.
  • pre_2023_security_posture. Whether to enable backwards compatibility for liveness endpoints that use older TLS protocols.
    • true allows the operation of pre-2023 security postures.
    • false sets failure for older and less secure protocol features rejected by OpenSSL 3.x.
  • alternate_ca_certificates. A list of alternate CA certificates.
  • request_string. Specifies a request string.
  • resource_type. Specifies the query type, if test_object_protocol is DNS.
  • response_string. Specifies a response string.
  • ssl_client_certificate. Indicates a Base64-encoded certificate. SSL client certificates are available for livenessTests that use secure protocols.
  • ssl_client_private_key. Indicates a Base64-encoded private key. The private key used to generate or request a certificate for livenessTests can't have a passphrase nor be used for any other purpose.
  • test_object. Specifies the static text that acts as a stand-in for the data that you're sending on the network.
  • test_object_password. Specifies the test object's password. It is required if testObjectProtocol is ftp.
  • test_object_username. A descriptive name for the testObject.
  • timeout_penalty. Specifies the score to be reported if the liveness test times out.
wait_on_completeA boolean indicating whether to wait for transaction to complete. Set to true by default.
failover_delaySpecifies the failover delay in seconds.
failback_delaySpecifies the failback delay in seconds.
ipv6A boolean that indicates the type of IP address handed out by a GTM property.
stickiness_bonus_percentageSpecifies a percentage used to configure data center affinity.
stickiness_bonus_constantSpecifies a constant used to configure data center affinity.
health_thresholdConfigures a cutoff value that is computed from the median scores.
use_computed_targetsFor load-feedback domains only, a boolean that indicates whether you want GTM to automatically compute target load.
backup_ipSpecifies a backup IP. When GTM declares that all of the targets are down, the backup IP is handed out. If a backup IP is set, do not set a backup CNAME.
backup_cnameSpecifies a backup CNAME. If GTM declares that all of the servers configured for your property are down, the backup CNAME is handed out. If a backup CNAME is set, do not set a backup IP.
balance_by_download_scoreA boolean that indicates whether download score based load balancing is enabled.
unreachable_thresholdFor performance domains, this specifies a penalty value that's added to liveness test scores when data centers have an aggregated loss fraction higher than this value.
health_multiplierConfigures a cutoff value that is computed from the median scores.
dynamic_ttlIndicates the TTL in seconds for records that might change dynamically based on liveness and load balancing such as A and AAAA records, and CNAMEs.
max_unreachable_penaltyFor performance domains, this specifies a penalty value that's added to liveness test scores when data centers show an aggregated loss fraction higher than the penalty value.
map_nameA descriptive label for a GeographicMap or a CidrMap that's required if the property is either geographic or cidrmapping, in which case mapName needs to reference either an existing GeographicMap or CidrMap in the same domain.
load_imbalance_percentageIndicates the percent of load imbalance factor (LIF) for the property.
health_maxDefines the absolute limit beyond which IPs are declared unhealthy.
cnameIndicates the fully qualified name aliased to a particular property.
commentsA descriptive note about changes to the domain. The maximum is 4000 characters.
ghost_demand_reportingUse load estimates from Akamai Ghost utilization messages.
min_live_fractionSpecifies what fraction of the servers need to respond to requests so GTM considers the data center up and able to receive traffic.
static_rr_setContains static record sets. You can have multiple static_rr_set entries. Contains:
  • type. The record type.
  • ttl. The number of seconds that this record should live in a resolver's cache before being refetched.
  • rdata. An array of data strings, representing multiple records within a set.

Attribute reference

There is no default standard output. Upon creation, the last line of the process log contains your property's ID.