This API method fetches a target configuration
Request
GET /target/geohost_name/target_name HTTP/1.0 Host: api.gslb.me Accept: encoding_type Authorization: Basic base64_credentials
Where:
- geohost_name is the name of the geohost the target belongs to (ie.: mygeohost.mydomain.com)
- target_name is the name of the target you want to get configuration for (ie.: the IP address or FQDN of your target)
- base64_credentials is username:password in base64-encoded format (HTTP Basic Authentication)
- encoding_type is either application/xml or application/json (if the “Accept” header is omitted, response will be JSON-encoded)
Sample requests:
- Raw request:
GET /target/mygeohost.mydomain.com/1.2.3.4 HTTP/1.0 Host: api.gslb.me Accept: application/json Authorization: Basic dGVzdHVzZXJAZ3NsYi5tZTp0ZXN0cGFzc3dvcmQK
- Using curl:
curl -X GET -u testuser@gslb.me:testpassword -H "Accept: application/json" https://api.gslb.me/target/mygeohost.mydomain.com/1.2.3.4
Response
- In case of invalid geohost:
HTTP/1.1 404 Not Found
Content-Type: application/json
{"message":"Geohost not found","returncode":"2"}
- In case of invalid target:
HTTP/1.1 404 Not Found
Content-Type: application/json
{"message":"Target not found","returncode":"2"}
- In case of internal error:
HTTP/1.1 500 Server Error
Content-Type: application/json
{"message":"Internal error, please contact support@gslb.me","returncode":"4"}
- In case of success:
HTTP/1.1 200 OK
Content-Type: application/json
{
"target":
{
"active":"true",
"address":"1.2.3.4",
"alias":"target-1.domain.com",
"checks":{
"check":
[
{
"active":"true",
"name":"Ping check",
"parameters":null,
"reverse":"false",
"timeout":"3",
"typeTag":"check.icmp"
},
{
"active":"true",
"name":"HTTP GET / check",
"parameters":
{
"parameter":
[
{"type":"check.http.port","value":"80"},
{"type":"check.http.uri","value":"/"},
{"type":"check.http.statuscode","value":"200"},
{"type":"check.http.host","value":"myhttp.host.com"},
{"type":"check.http.regexp","value":""},
{"type":"check.http.username","value":""},
{"type":"check.http.password","value":""},
{"type":"check.http.authenabled","value":"false"}
]
},
"reverse":"false",
"timeout":"30",
"typeTag":"check.http"
}
]
},
"geoHostName":"mygeohost",
"geoHostZoneName":"mydomain.com",
"priority":"1",
"reqChecks":"2",
"schedule":"15",
"weight":"1"
}
}
Where:
- active: the state of the target
- address: the IP address or FQDN of the target
- alias: the (optional) IP address or FQDN alias for the target
- checks: a group of check objects defining the healthchecks for the target
- geoHostName: the name of the geohost. Together with the field “geoHostZoneName” it defines the DNS FQDN of the geohost. The FQDN of the geohost is “geoHostName“.“geoHostZoneName“
- geoHostZoneName: the name of the DNS zone this target’s geohost belongs to
- priority: the target priority, only used if the geohost’s balancing algorithm is “priority”
- reqChecks: the minimum number of “healthy” checks needed to mark the target as “healthy”
- schedule: schedule interval in seconds to run all checks for the target
- weight: the target “weight”, only used if the geohosts’s balancing algorithm is “weighted”