deliveryservices/{{ID}}
PUT
Allows users to edit an existing Delivery Service.
- Auth. Required
Yes
- Roles Required
“admin” or “operations”1
- Response Type
NOT PRESENT - Despite returning a
200 OK
response (rather than e.g. a204 NO CONTENT
response), this endpoint does not return a representation of the modified resource in its payload, and instead returns nothing - not even a success message.
Request Structure
- active
A boolean that defines Active.
- anonymousBlockingEnabled
A boolean that defines Anonymous Blocking
- cacheurl
-
Deprecated since version ATCv3.0: This field has been deprecated in Traffic Control 3.x and is subject to removal in Traffic Control 4.x or later
- 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
- longDesc1
An optional field containing the 2nd long description of this Delivery Service
- longDesc2
An optional field containing the 3rd 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
- 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/3.0/deliveryservices/1 HTTP/1.1
Host: trafficops.infra.ciab.test
User-Agent: curl/7.47.0
Accept: */*
Cookie: mojolicious=...
Content-Length: 761
Content-Type: application/json
{
"active": true,
"anonymousBlockingEnabled": false,
"cdnId": 2,
"cdnName": "CDN-in-a-Box",
"deepCachingType": "NEVER",
"displayName": "demo",
"dscp": 0,
"ecsEnabled": true,
"geoLimit": 0,
"geoProvider": 0,
"initialDispersion": 1,
"ipv6RoutingEnabled": false,
"lastUpdated": "2018-11-14 18:21:17+00",
"logsEnabled": true,
"longDesc": "A Delivery Service created expressly for API documentation examples",
"missLat": -1,
"missLong": -1,
"multiSiteOrigin": false,
"orgServerFqdn": "http://origin.infra.ciab.test",
"protocol": 0,
"qstringIgnore": 0,
"rangeRequestHandling": 0,
"regionalGeoBlocking": false,
"routingName": "video",
"signed": false,
"tenant": "root",
"tenantId": 1,
"typeId": 1,
"xmlId": "demo1"
}
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: *
Set-Cookie: mojolicious=...; Path=/; Expires=Mon, 18 Nov 2019 17:40:54 GMT; Max-Age=3600; HttpOnly
Whole-Content-Sha512: z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==
X-Server-Name: traffic_ops_golang/
Date: Tue, 20 Nov 2018 14:12:25 GMT
Content-Length: 0
Content-Type: text/plain; charset=utf-8
DELETE
Deletes the target Delivery Service
- Auth. Required
Yes
- Roles Required
“admin” or “operations”1
- Response Type
undefined
Request Structure
Name |
Description |
---|---|
ID |
The integral, unique identifier of the Delivery Service to be deleted |
DELETE /api/3.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