Property object

This table aggregates membership for all versions of the Property object.

Versioned schema members

Any object member specific to a range of versions is indicated in its description, at what version the member was either introduced or removed. Any listed data member with no version number is common to all versions of the object.

MemberTypeDescription
Property: Contains information about the entire GTM property configuration.
backupCNameString, Nullrequired: Specifies a backupCName. If GTM declares that all of the servers configured for your property are down, and you configured a backupCName, then queries for the property return the backupCName. If a backupCName is set, don't set a backupIp.
backupIpString, Nullrequired: Specifies a backup IP. When GTM declares that all of the targets are down, it hands out the backupIP. The IP type coincides with the property's iPv6 setting. If a backupIp is set, don't set a backupCName.
balanceByDownloadScoreBooleanrequired: Indicates whether download score based load balancing is enabled. GTM estimates the load on your data centers based on how long they take to respond to GTM liveness tests. The advantage: you don't need to implement a load object. The disadvantage: it's a very crude measure of load, and usually highly nonlinear. As load increases, download times don't increase significantly, until there is too much load. When that happens, the download times skyrocket. This can easily cause erratic load balancing or load oscillations.
cnameString, Nullrequired: Indicates the fully qualified name aliased to a particular property. The public name of the property.
dynamicTTLIntegerrequired: Indicates the TTL in seconds for records that might change dynamically based on liveness and load balancing such as A and AAAA records, and CNAMEs. The value ranges from 30 to 3600 and can change on request. The default is 60.
failbackDelayInteger, Nullrequired: Specifies the failback delay in seconds. The minimum value is 0. If specified, when a server has been down and comes back up, (that is, its liveness test starts succeeding again), GTM only considers it up after the failback delay has elapsed and tests continue to succeed.
failoverDelayInteger, Nullrequired: Specifies the failover delay in seconds. The minimum value is 0. If specified, when a server begins failing its liveness test, GTM only considers it down after the failover delay has elapsed and the errors persist.
handoutLimitInteger, Nullv1.3. required: Indicates the limit for the number of live IPs handed out to a DNS request. The handoutLimit applies only if handoutMode is set to either normal or persistent for the property. If applicable, the handoutLimit default value is 8 or null if not.
handoutModeEnumerationrequired: Specifies how IPs are returned when more than one IP is alive and available. Either normal, persistent, one-ip, one-ip-hashed, or all-live-ips. The default is normal. Handout mode is relevant only when you have more than one server IP in a data center.
healthMaxNumber, Nullrequired: Defines the absolute limit beyond which IPs are declared unhealthy. If backup CNAMEs are provided for a property, then it is reasonable for all IPs to be declared unhealthy. The healthMax value is multiplied by the smaller of the timeoutPenalty and the errorPenalty. This check declares as down any server with a score greater than this product. The default value is null.
healthMultiplierNumber, Nullrequired: Configures a cutoff value that is computed from the median scores. Any server with a score over the cutoff value is considered down, and load isn't sent to it. The cutoff is computed from the minimum score across all data centers, for a given property and two object members: healthMultiplier and healthThreshold. The cutoff is either healthMultiplier (default value: 1.5) times the minimum score, or the healthThreshold (default value: 4), whichever is greater. See also healthThreshold within this object. For more information on how to determine server liveness, see Welcome to Global Traffic Management.
healthThresholdNumber, Nullrequired: Configures a cutoff value that is computed from the median scores. Any server with a score over the cutoff value is considered down, and load isn't sent to it. See also healthMultiplier within this object. For more information on how to determine server liveness, see Welcome to Global Traffic Management.
ipv6Booleanrequired: Indicates the type of IP address handed out by a property. A true value indicates that all IP addresses specified are IPv6, and all hostnames need to resolve to AAAA records. A false value indicates IPv4 addresses, and all hostnames need to resolve to A records.
lastModifiedString, Nullrequired: An ISO 8601 timestamp that indicates when the property was last changed.
linksHypermedia[]Provides a URL path that allows direct navigation to the property.
livenessTestsProperty.livenessTests[]:required: Contains information about the liveness tests, which are run periodically to determine whether your servers respond to requests, as discussed in API concepts.
loadImbalancePercentageNumber, Nullrequired: Indicates the percent of load imbalance factor (LIF) for the domain. It lets GTM exceed the value configured for traffic distribution. For example, if the data center's traffic allocation is 25 percent and the LIF is 1.5, the demand can grow to 37.5 percent (25% × 1.5) before the load balancer starts shifting load away from it. If the LIF is 0, no load imbalance is allowed. However, internally, GTM adds one to the LIF to allow its use as a multiplier. The default LIF is 1.1, which is displayed as 10.0 percent. The value ranges from 0 to 1000000 percent.
mapNameString, Nullrequired: A descriptive label for a Geographic Map or a Cidr Map object that's required if the property is either geographic or cidrmapping, in which case mapName needs to reference either an existing Geographic Map or Cidr Map object in the same domain.
maxUnreachablePenaltyNumber, Nullrequired: For 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. The penalty value is either maxUnreachablePenalty (minimum value is 0 and the default is null) or unreachableThreshold (decimal between 0 and 1. A value of 1.0 or null disables an unreachable penalty). See also unreachableThreshold within this object.
minLiveFractionNumber, Nullv1.3. required: Specifies what fraction of the servers need to respond to requests so GTM considers the data center up and able to receive traffic. For example, if your data center contains eight servers, and the minLiveFraction value is 0.5, then at least four servers need to respond to requests. Conversely, if five servers are down, and three servers are up, then GTM considers the entire data center down. Optional when a minLiveFraction value exists or not null.
mxRecordsProperty.mxRecords[]required: Specifies the MX records handed out to MX record type queries. Note that mapping and liveness testing aren't done. The same MX records are handed out for every request. Deprecated as of version 1.4, use staticRRSets instead.
nameStringrequired: The value, together with the GTM domainName, forms the property's hostname. The value should not begin or end with a dot character and needs to be a valid RFC 1123 hostname. Set the name to @ if the property is to be located at the apex of the domain.
scoreAggregationTypeEnumerationrequired: Specifies how GTM aggregates liveness test scores across different tests, when multiple tests are configured. Values are mean, median, best, or the default worst.
staticRRSetsProperty.staticRRSets[]v1.4. Contains static recordsets. Use this member instead of mxRecords and staticTTL, which are deprecated in version 1.4.
staticTTLInteger, Nullrequired: Specifies the TTL in seconds for static resource records that don't change based on the requesting name server IP. This includes MX, TXT, and SPF records.
stickinessBonusConstantInteger, Nullrequired: Specifies a constant used to configure data center affinity. This only applies if the property type is performance and the domain type is full. The value ranges from 0 to 30000. See also stickinessBonusPercentage within this object. To learn more about how these object members relate to each other, see API concepts.
stickinessBonusPercentageInteger, Nullrequired: Specifies a percentage used to configure data center affinity. This only applies if the property type is performance and the domain type is full. The value ranges from 0 to 100. See also stickinessBonusConstant within this object. To learn more about how these object members relate to each other, see API concepts.
trafficTargetsProperty.trafficTargets[]required: Contains information about where to direct data center traffic. For geographic mapped properties, it is always a cname. For mirror failover properties, it can be any set of servers. For load balanced properties, this is a set of servers that are all within the same data center. You can assign multiple traffic targets to the same data center.
typeEnumerationrequired: Specifies the load balancing behavior for the property. Either failover, geographic, cidrmapping, weighted-round-robin, weighted-hashed, weighted-round-robin-load-feedback, qtr, or performance. An additional value of asmapping requires the application/vnd.config-gtm.v1.1+json media type, or higher. A value of static allows solely standard DNS record types with no load balancing. Requires the application/vnd.config-gtm.v1.4+json media type. See Object versioning for more information.
unreachableThresholdNumber, Nullrequired: For 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. The value is a decimal between 0 and 1. A value of 1.0 or null disables an unreachable penalty. See also maxUnreachablePenalty within this object.
useComputedTargetsBooleanrequired: For load-feedback domains only, this specifies that you want GTM to automatically compute target load. Report only the current load objects, either by omission, or by using non-XML load objects.
Property.livenessTests[]: Contains information about the liveness tests, which are run periodically to determine whether your servers respond to requests, as discussed in API concepts.
answersRequiredBooleanv1.3. required: If testObjectProtocol is DNS, DOH or DOT, requires an answer to the DNS query to be considered a success. The default is false.
disabledBooleanv1.4. Disables the liveness test. When disabled, GTM stops running the test, treating it as if it no longer exists. The default is false.
disableNonstandardPortWarningBooleanrequired: Disables warnings when non-standard ports are used. For example, GTM doesn't emit a warning to specify port 1234 when the testObjectProtocol is http, as HTTP typically uses port 80. The default is false.
errorPenaltyNumberv1.2. required: Specifies the score that's reported if the liveness test encounters an error other than timeout, such as connection refused, and 404. The default value is 75.
hostHeaderString, Nullrequired: Sent if the testObjectProtocol is http or https, up to 256 non-space, alphanumeric characters. Obsolete as of version 1.4 - recommended to use hostHeaders instead.
httpError3xxBooleanrequired: Treats a 3xx HTTP response as a failure if the testObjectProtocol is http, https, or ftp.
httpError4xxBooleanrequired: Treats a 4xx HTTP response as a failure if the testObjectProtocol is http, https, or ftp.
httpError5xxBooleanrequired: Treats a 5xx HTTP response as a failure if the testObjectProtocol is http, https, or ftp.
httpHeadersProperty.livenessTests[].httpHeaders[]v1.4. Contains HTTP headers to send if the testObjectProtocol is http or https. This hostHeader member is deprecated as of version 1.4.
httpMethodEnumeration, Nullv1.5. Contains HTTP method to send if the testObjectProtocol is http or https. Supported values are TRACE, HEAD, OPTIONS, GET, PUT, POST, PATCH, DELETE. When omitted or null, this value defaults to GET.
httpRequestBodyString, Nullv1.5. Contains Base64-encoded HTTP request body to send if the testObjectProtocol is http or https. When omitted or null, omits the request body from the request.
nameStringrequired: A descriptive name for the liveness test.
peerCertificateVerificationBooleanv1.3. required: Validates the origin certificate. Applies only to tests with testObjectProtocol of https. The default is false.
recursionRequestedBooleanv1.3. required:mIndicates that if testObjectProtocol is DNS, DOH or DOT, the DNS query is recursive. The default is false.
requestStringString, Nullrequired: Specifies a request string. Required if testObjectProtocol is tcp or tcps. The value is a maximum of 4000 non-space, alphanumeric characters.
resourceTypeEnumeration, Nullv1.3. required: Specifies the query type, if testObjectProtocol is DNS. Types include: A, AAAA, AFSDB, CNAME, HINFO, LOC, MX, NAPTR, NS, PTR, RP, SOA, SPF, SRV, SSHFP, TXT, DNSKEY, DS, NSEC3, NSEC3PARAM, or RRSIG. Additional support for unknown types TYPENNNNN where NNNNN is an integer from 1 through 65535.
responseStringString, Nullrequired: Specifies a response string. Required if testObjectProtocol is tcp or tcps. Maximum 4000 characters.
sslClientCertificateString, Nullrequired: Indicates a Base64-encoded certificate. SSL client certificates are available for livenessTests that use secure protocols.
sslClientPrivateKeyString, Nullrequired: 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.
testIntervalIntegerrequired: Indicates the interval at which the liveness test is run, in seconds. Requires a minimum of 10 seconds.
testObjectString, Nullrequired: Specifies the static text that acts as a stand-in for the data that you're sending on the network.
testObjectPasswordString, Nullrequired: Specifies the test object's password. It is required if testObjectProtocol is ftp. Maximum is 128 characters.
testObjectPortIntegerrequired: Specifies the port number for the testObject. Value from 1 to 65535.
testObjectProtocolEnumerationrequired: Specifies the test protocol. Either DNS, DOH, DOT, HTTP, HTTPS, FTP, POP, POPS, SMTP, SMTPS, TCP, or TCPS. To enable testObjectProtocol for DNS, DOH, or DOT requires application/vnd.config-gtm.v1.3+json.
testObjectUsernameString, Nullrequired: A descriptive name for the testObject. If testObjectProtocol is ftp, then you need to specify a testObjectUsername. The value is a maximum of 256 non-space, alphanumeric characters.
testTimeoutNumberrequired: Specifies the duration of the liveness test before it fails. The range is from 0.001 to 60 seconds.
timeoutPenaltyNumberv1.2. required: Specifies the score reported if the liveness test times out. This is independent of the liveness testTimeout value. The default value is 25 seconds.
Property.livenessTests[].httpHeaders[]: v1.4. Contains HTTP headers to send if the testObjectProtocol is http or https. This hostHeader member is deprecated as of version 1.4.
nameStringrequired: Name of the HTTP header.
valueStringrequired: Value of the HTTP header.
Property.mxRecords[]: Specifies the MX records handed out to MX record type queries. Note that mapping and liveness testing aren't done. The same MX records are handed out for every request. Deprecated as of version 1.4, use staticRRSets instead.
exchangeStringrequired: MX record exchange member.
preferenceNumberrequired: MX record preference field.
Property.staticRRSets[]: __v1.4__. <span class="Param-required2cYbu9SjF2YX">required:</span> Contains static recordsets. Use this member instead of mxRecordsandstaticTTL`, which are deprecated in version 1.4.
rdataArrayrequired: An array of data strings, representing multiple records within a set. The format of the rdata strings are dependent on the type of this record.
ttlIntegerrequired: The number of seconds that this record should live in a resolver's cache before being refetched.
typeStringrequired: The record type.
Property.trafficTargets[]: Contains information about where to direct data center traffic. For geographic mapped properties, it is always a cname. For mirror failover properties, it can be any set of servers. For load balanced properties, this is a set of servers that are all within the same data center. You can assign multiple traffic targets to the same data center.
datacenterIdIntegerA unique identifier for an existing data center in the domain.
enabledBooleanIndicates whether the traffic target is used. You can also omit the traffic target, which has the same result as the false value. However, when the value is false, GTM continues to store the other traffic target fields in the database. There's no need to store them locally should you want to use the traffic target at a later time.
handoutCNameString, NullSpecifies an optional data center for the property. Uses the handoutCName when there are no servers configured for the property. Maximum 63 characters for the labels, 255 characters overall. May contain alphanumeric, hyphens, and underscores, but not literal IP addresses. Leading or trailing hyphens are not allowed.
nameString, NullAn alternative label for the traffic target.
serversArrayIdentifies the IP address or the hostnames of the servers. For hostnames that return IP addresses, tests all IP addresses for liveness.
weightNumberSpecifies the traffic weight for the target. This member is required when the enclosing property is failover, weighted, weighted-with-load-feedback, or performance. The sum of this value, for all enabled targets, can be any number, percentage, or ratio. For example, you can express a traffic split as 60/40, 120/80, or 3/2, all equivalent values. For failover properties, set this value to 1 for the traffic target you want to mark as primary.

Sample v1 object

This version includes information about the entire GTM property configuration. It uses this MIME type:

property-vnd-config-gtm.v1.0+json
{
  "backupCName": null,
  "backupIp": null,
  "balanceByDownloadScore": false,
  "cname": null,
  "comments": null,
  "dynamicTTL": 300,
  "failbackDelay": 0,
  "failoverDelay": 0,
  "handoutMode": "normal",
  "healthMax": null,
  "healthMultiplier": null,
  "healthThreshold": null,
  "ipv6": false,
  "lastModified": "2014-04-08T15:11:10.000+0000",
  "loadImbalancePercentage": null,
  "mapName": null,
  "maxUnreachablePenalty": null,
  "name": "www",
  "scoreAggregationType": "mean",
  "staticTTL": 600,
  "stickinessBonusConstant": 0,
  "stickinessBonusPercentage": 0,
  "type": "failover",
  "unreachableThreshold": null,
  "useComputedTargets": false,
  "mxRecords": [],
  "links": [
    {
      "href": "/config-gtm/v1/domains/example.akadns.net/properties/www",
      "rel": "self"
    }
  ],
  "livenessTests": [
    {
      "disabled": false,
      "disableNonstandardPortWarning": false,
      "hostHeader": "foo.example.com",
      "httpError3xx": true,
      "httpError4xx": true,
      "httpError5xx": true,
      "name": "health-check",
      "requestString": null,
      "responseString": null,
      "sslClientCertificate": null,
      "sslClientPrivateKey": null,
      "testInterval": 60,
      "testObject": "/status",
      "testObjectPassword": null,
      "testObjectPort": 80,
      "testObjectProtocol": "HTTP",
      "testObjectUsername": null,
      "testTimeout": 10.0
    }
  ],
  "trafficTargets": [
    {
      "datacenterId": 3134,
      "enabled": true,
      "handoutCName": null,
      "name": null,
      "weight": 0.0,
      "servers": [
        "1.2.3.5"
      ]
    },
    {
      "datacenterId": 3133,
      "enabled": true,
      "handoutCName": null,
      "name": null,
      "weight": 1.0,
      "servers": [
        "1.2.3.4"
      ]
    }
  ]
}