servers/{{ID}}/deliveryservices
GET
Retrieves all Delivery Services assigned to a specific server either directly or inherited from topology.
- Auth. Required:
Yes
- Roles Required:
None[1]
- Permissions Required:
DELIVERY-SERVICE:READ, SERVER:READ
- Response Type:
Array
Request Structure
Name |
Description |
---|---|
ID |
The integral, unique identifier of the server for which assigned Delivery Services shall be listed |
Name |
Required |
Description |
---|---|---|
orderby |
no |
Choose the ordering of the results - must be the name of one of the fields of the objects in the |
sortOrder |
no |
Changes the order of sorting. Either ascending (default or “asc”) or descending (“desc”) |
limit |
no |
Choose the maximum number of results to return |
offset |
no |
The number of results to skip before beginning to return results. Must use in conjunction with limit |
page |
no |
Return the nth page of results, where “n” is the value of this parameter, pages are |
GET /api/5.0/servers/1/deliveryservices HTTP/1.1
User-Agent: python-requests/2.25.1
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Cookie: access_token=...; mojolicious=...
Response Structure
- active:
The Delivery Service’s Active state
- anonymousBlockingEnabled:
A boolean that defines Anonymous Blocking
- ccrDnsTtl:
The DNS TTL - named “ccrDnsTtl” for legacy reasons
- cdnId:
The integral, unique identifier of the CDN to which the Delivery Service belongs
- cdnName:
Name of the CDN to which the Delivery Service belongs
- checkPath:
- consistentHashRegex:
- consistentHashQueryParams:
An array of Consistent Hashing Query Parameters
- deepCachingType:
The Deep Caching setting for this Delivery Service
- displayName:
The Display Name
- dnsBypassCname:
- dnsBypassIp:
- dnsBypassIp6:
- dnsBypassTtl:
The DNS Bypass TTL
- dscp:
A DSCP to be used within the Delivery Service
- ecsEnabled:
A boolean that defines the EDNS0 Client Subnet Enabled setting on this Delivery Service
- edgeHeaderRewrite:
A set of Edge Header Rewrite Rules
- exampleURLs:
An array of Example URLs
- firstHeaderRewrite:
A set of First Header Rewrite Rules
- fqPacingRate:
- geoLimit:
An integer that defines the Geo Limit
- geoLimitCountries:
An array of strings defining the Geo Limit Countries
- geoLimitRedirectUrl:
- geoProvider:
- globalMaxMbps:
The Global Max Mbps
- globalMaxTps:
The Global Max TPS
- httpBypassFqdn:
- id:
An integral, unique identifier for this Delivery Service
- infoUrl:
An Info URL
- initialDispersion:
- innerHeaderRewrite:
A set of Inner Header Rewrite Rules
- ipv6RoutingEnabled:
A boolean that defines the IPv6 Routing Enabled setting on this Delivery Service
- lastHeaderRewrite:
A set of Last Header Rewrite Rules
- lastUpdated:
The date and time at which this Delivery Service was last updated, in RFC 3339 format
- logsEnabled:
A boolean that defines the Logs Enabled setting on this Delivery Service
- longDesc:
The Long Description of this Delivery Service
- matchList:
The Delivery Service’s Match List
- pattern:
A regular expression - the use of this pattern is dependent on the
type
field (backslashes are escaped)- setNumber:
An integer that provides explicit ordering of Match List items - this is used as a priority ranking by Traffic Router, and is not guaranteed to correspond to the ordering of items in the array.
- type:
The type of match performed using
pattern
.
- maxDnsAnswers:
The Max DNS Answers allowed for this Delivery Service
- maxOriginConnections:
- midHeaderRewrite:
A set of Mid Header Rewrite Rules
- missLat:
The Geo Miss Default Latitude used by this Delivery Service
- missLong:
The Geo Miss Default Longitude used by this Delivery Service
- multiSiteOrigin:
A boolean that defines the use of Use Multi-Site Origin Feature by this Delivery Service
- orgServerFqdn:
- originShield:
A Origin Shield string
- profileDescription:
The Description of the Profile with which this Delivery Service is associated
- profileId:
The ID of the Profile with which this Delivery Service is associated
- profileName:
The Name of the Profile with which this Delivery Service is associated
- protocol:
An integral, unique identifier that corresponds to the Protocol used by this Delivery Service
- qstringIgnore:
An integral, unique identifier that corresponds to the Query String Handling setting on this Delivery Service
- rangeRequestHandling:
An integral, unique identifier that corresponds to the Range Request Handling setting on this Delivery Service
- regexRemap:
- regional:
A boolean value defining the Regional setting on this Delivery Service
- regionalGeoBlocking:
A boolean defining the Regional Geoblocking setting on this Delivery Service
- remapText:
- signed:
true
if and only ifsigningAlgorithm
is notnull
,false
otherwise- signingAlgorithm:
Either a Signing Algorithm or
null
to indicate URL/URI signing is not implemented on this Delivery Service- rangeSliceBlockSize:
An integer that defines the byte block size for the ATS Slice Plugin. It can only and must be set if
rangeRequestHandling
is set to 3.- sslKeyVersion:
This integer indicates the SSL Key Version
- tenantId:
The integral, unique identifier of the Tenant who owns this Delivery Service
- tlsVersions:
A list of explicitly supported TLS Versions
- topology:
The unique name of the Topology that this Delivery Service is assigned to
- trRequestHeaders:
If defined, this defines the Traffic Router Log Request Headers used by Traffic Router for this Delivery Service
- trResponseHeaders:
If defined, this defines the Traffic Router Additional Response Headers used by Traffic Router for this Delivery Service
- type:
The Type of this Delivery Service
- typeId:
The integral, unique identifier of the Type of this Delivery Service
- xmlId:
This Delivery Service’s xml_id
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Set-Cookie, Cookie
Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin: *
Content-Encoding: gzip
Content-Type: application/json
Permissions-Policy: interest-cohort=()
Set-Cookie: mojolicious=...; Path=/; Expires=Thu, 29 Sep 2022 23:01:50 GMT; Max-Age=3600; HttpOnly, access_token=...; Path=/; Expires=Thu, 29 Sep 2022 23:01:50 GMT; Max-Age=3600; HttpOnly
Vary: Accept-Encoding
X-Server-Name: traffic_ops_golang/
Date: Thu, 29 Sep 2022 22:01:50 GMT
Content-Length: 845
{ "response": [{
"active": "ACTIVE",
"anonymousBlockingEnabled": false,
"ccrDnsTtl": null,
"cdnId": 2,
"cdnName": "CDN-in-a-Box",
"checkPath": null,
"consistentHashQueryParams": [
"abc",
"pdq",
"xxx",
"zyx"
],
"consistentHashRegex": null,
"deepCachingType": "NEVER",
"displayName": "Demo 1",
"dnsBypassCname": null,
"dnsBypassIp": null,
"dnsBypassIp6": null,
"dnsBypassTtl": null,
"dscp": 0,
"ecsEnabled": false,
"edgeHeaderRewrite": null,
"exampleURLs": [
"http://video.demo1.mycdn.ciab.test",
"https://video.demo1.mycdn.ciab.test"
],
"firstHeaderRewrite": null,
"fqPacingRate": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectURL": null,
"geoProvider": 0,
"globalMaxMbps": null,
"globalMaxTps": null,
"httpBypassFqdn": null,
"id": 1,
"infoUrl": null,
"initialDispersion": 1,
"innerHeaderRewrite": null,
"ipv6RoutingEnabled": true,
"lastHeaderRewrite": null,
"lastUpdated": "2022-09-29T20:58:53.07251Z",
"logsEnabled": true,
"longDesc": "Apachecon North America 2018",
"matchList": [
{
"type": "HOST_REGEXP",
"setNumber": 0,
"pattern": ".*\\.demo1\\..*"
}
],
"maxDnsAnswers": null,
"maxOriginConnections": 0,
"maxRequestHeaderBytes": 0,
"midHeaderRewrite": null,
"missLat": 42,
"missLong": -88,
"multiSiteOrigin": true,
"originShield": null,
"orgServerFqdn": "http://origin.infra.ciab.test",
"profileDescription": null,
"profileId": null,
"profileName": null,
"protocol": 2,
"qstringIgnore": 0,
"rangeRequestHandling": 0,
"rangeSliceBlockSize": null,
"regexRemap": null,
"regional": false,
"regionalGeoBlocking": false,
"remapText": null,
"routingName": "video",
"serviceCategory": null,
"signed": false,
"signingAlgorithm": null,
"sslKeyVersion": 1,
"tenant": "root",
"tenantId": 1,
"tlsVersions": null,
"topology": "demo1-top",
"trResponseHeaders": null,
"trRequestHeaders": null,
"type": "HTTP",
"typeId": 1,
"xmlId": "demo1"
}]}
POST
Assign an arbitrary number of Delivery Services to a single server.
- Auth. Required:
Yes
- Roles Required:
“admin” or “operations”
- Permissions Required:
DELIVERY-SERVICE:READ, SERVER:READ, DELIVERY-SERVICE:UPDATE, SERVER:UPDATE
- Response Type:
Object
Request Structure
Name |
Required |
Description |
ID |
Yes |
The integral, unique identifier of the server that you want to assign delivery services to. |
Name |
Required |
Description |
replace |
Yes |
Whether the list of Delivery Services you provide should replace the existing list or be merged with the existing list. Must be a 1, or true, or 0, or false. |
The request body is an array of IDs of Delivery Services that you want to assign to the server. The array can be empty, but it must be provided.
POST /api/5.0/servers/6/deliveryservices?replace=1 HTTP/1.1
User-Agent: python-requests/2.22.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Cookie: mojolicious=...
Content-Length: 3
[
1
]
Response Structure
- dsIds:
An array of integral, unique identifiers for Delivery Services which the request added to server. If
:replace:
isfalse
, Delivery Services that are already assigned will remain, though they are not listed by:dsIds:
.- replace:
The
:replace:
value you provided in the body of the request, ornull
if none was provided.- serverId:
The server’s integral, unique identifier
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Set-Cookie, Cookie
Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin: *
Content-Encoding: gzip
Content-Type: application/json
Set-Cookie: mojolicious=...; Path=/; Expires=Tue, 25 Feb 2020 09:08:32 GMT; Max-Age=3600; HttpOnly
Whole-Content-Sha512: iV+JzAZSsmlxRZsNtIRg3oA9470hAwrMpq5xhcYVi0Y831Trx2YRlsyhYpOPqHg5+QPoXHGF0nx8uso0fuNarw==
X-Server-Name: traffic_ops_golang/
Date: Tue, 25 Feb 2020 08:08:32 GMT
Content-Length: 129
{
"alerts": [
{
"text": "successfully assigned dses to server",
"level": "success"
}
],
"response": {
"serverId": 6,
"dsIds": [
1
],
"replace": true
}
}