Target groups
Lists target groups.
A target group is a set of one or more registered targets. You must specify an IP address, a port number, and a weight for each target. Any object with an IP address in your VDC can be a target, for example, a VM, another load balancer, etc. You can register a target with multiple target groups.
Controls whether the response is pretty-printed (with indentations and new lines).
true
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
0
The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).
0
The maximum number of elements to return (used together with offset for pagination). It must not exceed 200.
100
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
GET /cloudapi/v6/targetgroups HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Accept: */*
{
"id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
"type": "collection",
"href": "<RESOURCE-URI>",
"items": [
{
"id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
"type": "target-group",
"href": "<RESOURCE-URI>",
"metadata": {
"etag": "45480eb3fbfc31f1d916c1eaa4abdcc3",
"createdDate": "2015-12-04T14:34:09.809Z",
"createdBy": "[email protected]",
"createdByUserId": "[email protected]",
"lastModifiedDate": "2015-12-04T14:34:09.809Z",
"lastModifiedBy": "[email protected]",
"lastModifiedByUserId": "63cef532-26fe-4a64-a4e0-de7c8a506c90",
"state": "AVAILABLE"
},
"properties": {
"name": "My target group",
"algorithm": "ROUND_ROBIN",
"protocol": "HTTP",
"protocolVersion": "HTTP1",
"location": "de/fra",
"targets": [
{
"ip": "22.231.2.2",
"port": 8080,
"weight": 123,
"proxyProtocol": "v1",
"healthCheckEnabled": true,
"maintenanceEnabled": true
}
],
"healthCheck": {
"checkTimeout": 2000,
"checkInterval": 2000,
"retries": 3
},
"httpHealthCheck": {
"path": "/monitoring",
"method": "GET",
"matchType": "STATUS_CODE",
"response": "200",
"regex": false,
"negate": false
}
}
}
],
"offset": 0,
"limit": 1000,
"_links": {
"prev": "<PREVIOUS-PAGE-URI>",
"self": "<THIS-PAGE-URI>",
"next": "<NEXT-PAGE-URI>"
}
}
Creates a target group.
Controls whether the response is pretty-printed (with indentations and new lines).
true
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
0
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
The resource's unique identifier.
15f67991-0f51-4efc-a8ad-ef1fb31a480c
The type of object that has been created.
target-group
The URL to the object representation (absolute path).
<RESOURCE-URI>
POST /cloudapi/v6/targetgroups HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 494
{
"type": "target-group",
"metadata": {},
"properties": {
"name": "My target group",
"algorithm": "ROUND_ROBIN",
"protocol": "HTTP",
"protocolVersion": "HTTP1",
"location": "de/fra",
"targets": [
{
"ip": "22.231.2.2",
"port": 8080,
"weight": 123,
"proxyProtocol": "v1",
"healthCheckEnabled": true,
"maintenanceEnabled": true
}
],
"healthCheck": {
"checkTimeout": 2000,
"checkInterval": 2000,
"retries": 3
},
"httpHealthCheck": {
"path": "/monitoring",
"method": "GET",
"matchType": "STATUS_CODE",
"response": "200",
"regex": false,
"negate": false
}
}
}
{
"id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
"type": "target-group",
"href": "<RESOURCE-URI>",
"metadata": {
"etag": "45480eb3fbfc31f1d916c1eaa4abdcc3",
"createdDate": "2015-12-04T14:34:09.809Z",
"createdBy": "[email protected]",
"createdByUserId": "[email protected]",
"lastModifiedDate": "2015-12-04T14:34:09.809Z",
"lastModifiedBy": "[email protected]",
"lastModifiedByUserId": "63cef532-26fe-4a64-a4e0-de7c8a506c90",
"state": "AVAILABLE"
},
"properties": {
"name": "My target group",
"algorithm": "ROUND_ROBIN",
"protocol": "HTTP",
"protocolVersion": "HTTP1",
"location": "de/fra",
"targets": [
{
"ip": "22.231.2.2",
"port": 8080,
"weight": 123,
"proxyProtocol": "v1",
"healthCheckEnabled": true,
"maintenanceEnabled": true
}
],
"healthCheck": {
"checkTimeout": 2000,
"checkInterval": 2000,
"retries": 3
},
"httpHealthCheck": {
"path": "/monitoring",
"method": "GET",
"matchType": "STATUS_CODE",
"response": "200",
"regex": false,
"negate": false
}
}
}
Retrieves the properties of the target group specified by its ID.
The unique ID of the target group.
Controls whether the response is pretty-printed (with indentations and new lines).
true
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
0
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
GET /cloudapi/v6/targetgroups/{targetGroupId} HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Accept: */*
{
"id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
"type": "target-group",
"href": "<RESOURCE-URI>",
"metadata": {
"etag": "45480eb3fbfc31f1d916c1eaa4abdcc3",
"createdDate": "2015-12-04T14:34:09.809Z",
"createdBy": "[email protected]",
"createdByUserId": "[email protected]",
"lastModifiedDate": "2015-12-04T14:34:09.809Z",
"lastModifiedBy": "[email protected]",
"lastModifiedByUserId": "63cef532-26fe-4a64-a4e0-de7c8a506c90",
"state": "AVAILABLE"
},
"properties": {
"name": "My target group",
"algorithm": "ROUND_ROBIN",
"protocol": "HTTP",
"protocolVersion": "HTTP1",
"location": "de/fra",
"targets": [
{
"ip": "22.231.2.2",
"port": 8080,
"weight": 123,
"proxyProtocol": "v1",
"healthCheckEnabled": true,
"maintenanceEnabled": true
}
],
"healthCheck": {
"checkTimeout": 2000,
"checkInterval": 2000,
"retries": 3
},
"httpHealthCheck": {
"path": "/monitoring",
"method": "GET",
"matchType": "STATUS_CODE",
"response": "200",
"regex": false,
"negate": false
}
}
}
Modifies the properties of the target group specified by its ID.
The unique ID of the target group.
Controls whether the response is pretty-printed (with indentations and new lines).
true
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
0
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
The resource's unique identifier.
15f67991-0f51-4efc-a8ad-ef1fb31a480c
The type of object that has been created.
applicationloadbalancer
The URL to the object representation (absolute path).
<RESOURCE-URI>
PUT /cloudapi/v6/targetgroups/{targetGroupId} HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 491
{
"type": "applicationloadbalancer",
"properties": {
"name": "My target group",
"algorithm": "ROUND_ROBIN",
"protocol": "HTTP",
"protocolVersion": "HTTP1",
"location": "de/fra",
"targets": [
{
"ip": "22.231.2.2",
"port": 8080,
"weight": 123,
"proxyProtocol": "v1",
"healthCheckEnabled": true,
"maintenanceEnabled": true
}
],
"healthCheck": {
"checkTimeout": 2000,
"checkInterval": 2000,
"retries": 3
},
"httpHealthCheck": {
"path": "/monitoring",
"method": "GET",
"matchType": "STATUS_CODE",
"response": "200",
"regex": false,
"negate": false
}
}
}
{
"id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
"type": "target-group",
"href": "<RESOURCE-URI>",
"metadata": {
"etag": "45480eb3fbfc31f1d916c1eaa4abdcc3",
"createdDate": "2015-12-04T14:34:09.809Z",
"createdBy": "[email protected]",
"createdByUserId": "[email protected]",
"lastModifiedDate": "2015-12-04T14:34:09.809Z",
"lastModifiedBy": "[email protected]",
"lastModifiedByUserId": "63cef532-26fe-4a64-a4e0-de7c8a506c90",
"state": "AVAILABLE"
},
"properties": {
"name": "My target group",
"algorithm": "ROUND_ROBIN",
"protocol": "HTTP",
"protocolVersion": "HTTP1",
"location": "de/fra",
"targets": [
{
"ip": "22.231.2.2",
"port": 8080,
"weight": 123,
"proxyProtocol": "v1",
"healthCheckEnabled": true,
"maintenanceEnabled": true
}
],
"healthCheck": {
"checkTimeout": 2000,
"checkInterval": 2000,
"retries": 3
},
"httpHealthCheck": {
"path": "/monitoring",
"method": "GET",
"matchType": "STATUS_CODE",
"response": "200",
"regex": false,
"negate": false
}
}
}
Deletes the target group specified by its ID.
The unique ID of the target group.
Controls whether the response is pretty-printed (with indentations and new lines).
true
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
0
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
DELETE /cloudapi/v6/targetgroups/{targetGroupId} HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Accept: */*
No content
Updates the properties of the target group specified by its ID.
The unique ID of the target group.
Controls whether the response is pretty-printed (with indentations and new lines).
true
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
0
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
The target group name.
My target group
The balancing algorithm. A balancing algorithm consists of predefined rules with the logic that a load balancer uses to distribute network traffic between servers.
-
Round Robin: Targets are served alternately according to their weighting.
-
Least Connection: The target with the least active connection is served.
-
Random: The targets are served based on a consistent pseudorandom algorithm.
-
Source IP: It is ensured that the same client IP address reaches the same target.
ROUND_ROBIN
Possible values: The forwarding protocol. Only the value 'HTTP' is allowed.
HTTP
Possible values: The forwarding protocol version. Value is ignored when protocol is not 'HTTP'.
HTTP1
Possible values: The target group location. This attribute is optional.
de/fra
PATCH /cloudapi/v6/targetgroups/{targetGroupId} HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Content-Type: */*
Accept: */*
Content-Length: 443
{
"name": "My target group",
"algorithm": "ROUND_ROBIN",
"protocol": "HTTP",
"protocolVersion": "HTTP1",
"location": "de/fra",
"targets": [
{
"ip": "22.231.2.2",
"port": 8080,
"weight": 123,
"proxyProtocol": "v1",
"healthCheckEnabled": true,
"maintenanceEnabled": true
}
],
"healthCheck": {
"checkTimeout": 2000,
"checkInterval": 2000,
"retries": 3
},
"httpHealthCheck": {
"path": "/monitoring",
"method": "GET",
"matchType": "STATUS_CODE",
"response": "200",
"regex": false,
"negate": false
}
}
{
"id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
"type": "target-group",
"href": "<RESOURCE-URI>",
"metadata": {
"etag": "45480eb3fbfc31f1d916c1eaa4abdcc3",
"createdDate": "2015-12-04T14:34:09.809Z",
"createdBy": "[email protected]",
"createdByUserId": "[email protected]",
"lastModifiedDate": "2015-12-04T14:34:09.809Z",
"lastModifiedBy": "[email protected]",
"lastModifiedByUserId": "63cef532-26fe-4a64-a4e0-de7c8a506c90",
"state": "AVAILABLE"
},
"properties": {
"name": "My target group",
"algorithm": "ROUND_ROBIN",
"protocol": "HTTP",
"protocolVersion": "HTTP1",
"location": "de/fra",
"targets": [
{
"ip": "22.231.2.2",
"port": 8080,
"weight": 123,
"proxyProtocol": "v1",
"healthCheckEnabled": true,
"maintenanceEnabled": true
}
],
"healthCheck": {
"checkTimeout": 2000,
"checkInterval": 2000,
"retries": 3
},
"httpHealthCheck": {
"path": "/monitoring",
"method": "GET",
"matchType": "STATUS_CODE",
"response": "200",
"regex": false,
"negate": false
}
}
}
Was this helpful?