deliveryservices/{{ID}}
PUT
Allows users to edit an existing Delivery Service.
- Auth. Required
Yes
- Roles Required
“admin” or “operations”1
- Permissions Required
DELIVERY-SERVICE:UPDATE, DELIVERY-SERVICE:READ, CDN:READ, TYPE:READ
- Response Type
Array (should always have a length of exactly one on success)
Request Structure
- active
A boolean that defines Active.
- 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
Note
If the Delivery Service has SSL Keys, then cdnId is not allowed to change as that would invalidate the SSL Key
- 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
- firstHeaderRewrite
A set of First Header Rewrite Rules
- fqPacingRate
- geoLimit
An integer that defines the Geo Limit
- geoLimitCountries
A string containing a comma-separated list defining the Geo Limit Countries2
- geoLimitRedirectUrl
- geoProvider
- globalMaxMbps
The Global Max Mbps
- globalMaxTps
The Global Max TPS
- httpBypassFqdn
- 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
- logsEnabled
A boolean that defines the Logs Enabled setting on this Delivery Service
- longDesc
The Long Description of this Delivery Service
- 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
- profileId
An optional ID of the Profile with which this Delivery Service will be 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
- regionalGeoBlocking
A boolean defining the Regional Geoblocking setting on this Delivery Service
- remapText
- routingName
The Routing Name of this Delivery Service
Note
If the Delivery Service has SSL Keys, then
routingName
is not allowed to change as that would invalidate the SSL Key- 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. It can only be between (inclusive) 262144 (256KB) - 33554432 (32MB).- sslKeyVersion
This integer indicates the SSL Key Version
- tenantId
The integral, unique identifier of the Tenant who owns this Delivery Service
- tlsVersions
An array of explicitly supported TLS Versions
New in version 4.0.
- 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
- typeId
The integral, unique identifier of the Type of this Delivery Service
- xmlId
This Delivery Service’s xml_id
Note
While this field must be present, it is not allowed to change; this must be the same as the
xml_id
the Delivery Service already has. This should almost never be different from the Delivery Service’sdisplayName
.
PUT /api/4.0/deliveryservices/6 HTTP/1.1
Host: trafficops.infra.ciab.test
User-Agent: python-requests/2.24.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Cookie: mojolicious=...
Content-Length: 1585
Content-Type: application/json
{
"active": false,
"anonymousBlockingEnabled": false,
"ccrDnsTtl": null,
"cdnId": 2,
"checkPath": null,
"consistentHashRegex": null,
"consistentHashQueryParams": [],
"deepCachingType": "NEVER",
"displayName": "test",
"dnsBypassCname": null,
"dnsBypassIp": null,
"dnsBypassIp6": null,
"dnsBypassTtl": null,
"dscp": 0,
"ecsEnabled": true,
"edgeHeaderRewrite": null,
"firstHeaderRewrite": null,
"fqPacingRate": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectUrl": null,
"geoProvider": 0,
"globalMaxMbps": null,
"globalMaxTps": null,
"httpBypassFqdn": null,
"infoUrl": null,
"initialDispersion": 1,
"innerHeaderRewrite": null,
"ipv6RoutingEnabled": false,
"lastHeaderRewrite": null,
"logsEnabled": true,
"longDesc": "A Delivery Service created expressly for API documentation examples",
"maxDnsAnswers": null,
"missLat": 0,
"missLong": 0,
"maxOriginConnections": 0,
"maxRequestHeaderBytes": 131072,
"midHeaderRewrite": null,
"multiSiteOrigin": false,
"orgServerFqdn": "http://origin.infra.ciab.test",
"originShield": null,
"profileId": null,
"protocol": 0,
"qstringIgnore": 0,
"rangeRequestHandling": 0,
"regexRemap": null,
"regionalGeoBlocking": false,
"routingName": "test",
"serviceCategory": null,
"signed": false,
"signingAlgorithm": null,
"rangeSliceBlockSize": null,
"sslKeyVersion": null,
"tenant": "root",
"tenantId": 1,
"tlsVersions": null,
"topology": null,
"trRequestHeaders": null,
"trResponseHeaders": null,
"type": "HTTP",
"typeId": 1,
"xmlId": "test"
}
Response Structure
- active
A boolean that defines Active.
- 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
A string containing a comma-separated list 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
Changed in version 4.0: Prior to API version 4.0, this property used Traffic Ops’s Custom Date/Time 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
- maxRequestHeaderBytes
- 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
- regionalGeoBlocking
A boolean defining the Regional Geoblocking setting on this Delivery Service
- remapText
- serviceCategory
The name of the Service Category with which the Delivery Service is associated
- 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
An array of explicitly supported TLS Versions
New in version 4.0.
- 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=Tue, 08 Jun 2021 00:34:04 GMT; Max-Age=3600; HttpOnly
Vary: Accept-Encoding
Whole-Content-Sha512: tTncbRoJR+pyykVbEc6nWyoFnhlJzsbge9hVZfw+WK28rzSGECZ/Q4zXTQtFjHWY5G+0Rk4w9GKrSFK3k+u5Ng==
X-Server-Name: traffic_ops_golang/
Date: Mon, 07 Jun 2021 23:34:04 GMT
Content-Length: 840
{ "alerts": [
{
"text": "Delivery Service update was successful",
"level": "success"
}
],
"response": [{
"active": false,
"anonymousBlockingEnabled": false,
"ccrDnsTtl": null,
"cdnId": 2,
"cdnName": null,
"checkPath": null,
"consistentHashQueryParams": [],
"consistentHashRegex": null,
"deepCachingType": "NEVER",
"displayName": "test",
"dnsBypassCname": null,
"dnsBypassIp": null,
"dnsBypassIp6": null,
"dnsBypassTtl": null,
"dscp": 0,
"ecsEnabled": true,
"edgeHeaderRewrite": null,
"exampleURLs": null,
"firstHeaderRewrite": null,
"fqPacingRate": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectURL": null,
"geoProvider": 0,
"globalMaxMbps": null,
"globalMaxTps": null,
"httpBypassFqdn": null,
"id": 6,
"infoUrl": null,
"initialDispersion": 1,
"innerHeaderRewrite": null,
"ipv6RoutingEnabled": false,
"lastHeaderRewrite": null,
"lastUpdated": "2021-06-07T23:34:04.831215Z",
"logsEnabled": true,
"longDesc": "A Delivery Service created expressly for API documentation examples",
"matchList": [
{
"type": "HOST_REGEXP",
"setNumber": 0,
"pattern": ".*\\.test\\..*"
}
],
"maxDnsAnswers": null,
"maxOriginConnections": 0,
"maxRequestHeaderBytes": 131072,
"midHeaderRewrite": null,
"missLat": 0,
"missLong": 0,
"multiSiteOrigin": false,
"originShield": null,
"orgServerFqdn": "http://origin.infra.ciab.test",
"profileDescription": null,
"profileId": null,
"profileName": null,
"protocol": 0,
"qstringIgnore": 0,
"rangeRequestHandling": 0,
"rangeSliceBlockSize": null,
"regexRemap": null,
"regionalGeoBlocking": false,
"remapText": null,
"routingName": "test",
"serviceCategory": null,
"signed": false,
"signingAlgorithm": null,
"sslKeyVersion": null,
"tenant": "root",
"tenantId": 1,
"tlsVersions": null,
"topology": null,
"trResponseHeaders": null,
"trRequestHeaders": null,
"type": "HTTP",
"typeId": 1,
"xmlId": "test"
}]}
DELETE
Deletes the target Delivery Service
- Auth. Required
Yes
- Roles Required
“admin” or “operations”1
- Permissions Required
DELIVERY-SERVICE:DELETE, DELIVERY-SERVICE:READ, CDN:READ, TYPE:READ
- Response Type
undefined
Request Structure
Name |
Description |
---|---|
ID |
The integral, unique identifier of the Delivery Service to be deleted |
DELETE /api/4.0/deliveryservices/2 HTTP/1.1
Host: trafficops.infra.ciab.test
User-Agent: curl/7.47.0
Accept: */*
Cookie: mojolicious=...
Response Structure
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-Type: application/json
Set-Cookie: mojolicious=...; Path=/; Expires=Mon, 18 Nov 2019 17:40:54 GMT; Max-Age=3600; HttpOnly
Whole-Content-Sha512: w9NlQpJJEl56r6iYq/fk8o5WfAXeUS5XR9yDHvKUgPO8lYEo8YyftaSF0MPFseeOk60dk6kQo+MLYTDIAhhRxw==
X-Server-Name: traffic_ops_golang/
Date: Tue, 20 Nov 2018 14:56:37 GMT
Content-Length: 57
{ "alerts": [
{
"text": "ds was deleted.",
"level": "success"
}
]}
- 1(1,2)
Only those Delivery Services assigned to Tenants that are the requesting user’s Tenant or children thereof will appear in the output of a
GET
request, and the same constraints are placed on the allowed values of thetenantId
field of aPUT
request to update a new Delivery Service. Furthermore, the only Delivery Services a user may delete are those assigned to a Tenant that is either the same Tenant as the user’s Tenant, or a descendant thereof.- 2(1,2)
These fields must be defined if and only if
geoLimit
is non-zero