deliveryservices/{{ID}}/safe

PUT

Allows a user to edit metadata fields of a Delivery Service.

Auth. Required:

Yes

Roles Required:

None[1]

Permissions Required:

DELIVERY-SERVICE-SAFE:UPDATE, DELIVERY-SERVICE:READ, TYPE:READ

Response Type:

Array

Request Structure

Table 322 Request Path Parameters

Name

Description

ID

The integral, unique identifier of the Delivery Service being modified

displayName:

A string that is the Display Name

infoUrl:

An optional[2] string containing the Info URL

longDesc:

An optional[2] string containing the Long Description of this Delivery Service

#769 Request Example
PUT /api/4.0/deliveryservices/1/safe HTTP/1.1
User-Agent: python-requests/2.22.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Cookie: mojolicious=...
Content-Length: 132
Content-Type: application/json

{
    "displayName": "test",
    "infoUrl": "this is not even a real URL",
    "longDesc": "this is a description of the delivery service"
}

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:

A Check Path

consistentHashRegex:

A Consistent Hashing Regular Expression

consistentHashQueryParams:

An array of Consistent Hashing Query Parameters

deepCachingType:

The Deep Caching setting for this Delivery Service

displayName:

The Display Name

dnsBypassCname:

A DNS Bypass CNAME

dnsBypassIp:

A DNS Bypass IP

dnsBypassIp6:

A DNS Bypass IPv6

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:

The Fair-Queuing Pacing Rate Bps

geoLimit:

An integer that defines the Geo Limit

geoLimitCountries:

An array of strings defining the Geo Limit Countries

geoLimitRedirectUrl:

A Geo Limit Redirect URL

geoProvider:

The Geolocation Provider

globalMaxMbps:

The Global Max Mbps

globalMaxTps:

The Global Max TPS

httpBypassFqdn:

A HTTP Bypass FQDN

id:

An integral, unique identifier for this Delivery Service

infoUrl:

An Info URL

initialDispersion:

The Initial Dispersion

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:

The Max Origin Connections

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:

The Origin Server Base URL

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:

A Regex Remap Expression

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:

Raw Remap Text

signed:

true if and only if signingAlgorithm is not null, 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

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

#770 Response Example
HTTP/1.1 200 OK
Content-Encoding: gzip
Content-Type: application/json
Permissions-Policy: interest-cohort=()
Set-Cookie: mojolicious=...; Path=/; Expires=Tue, 08 Jun 2021 00:53:26 GMT; Max-Age=3600; HttpOnly
Vary: Accept-Encoding
Whole-Content-Sha512: Ys/SfWWijsXCNXEqZ84oldfyXTgMe8UE/wWb53VU39OH7kWOXF1BH5Hg7Y40nCgXoWEqcaBq5+WCZg0bYuJdAA==
X-Server-Name: traffic_ops_golang/
Date: Mon, 07 Jun 2021 23:53:26 GMT
Content-Length: 903

{ "alerts": [{
    "text": "Delivery Service safe update successful.",
    "level": "success"
}],
"response": [{
    "active": true,
    "anonymousBlockingEnabled": false,
    "ccrDnsTtl": null,
    "cdnId": 2,
    "cdnName": "CDN-in-a-Box",
    "checkPath": null,
    "consistentHashQueryParams": [],
    "consistentHashRegex": null,
    "deepCachingType": "NEVER",
    "displayName": "test",
    "dnsBypassCname": null,
    "dnsBypassIp": null,
    "dnsBypassIp6": null,
    "dnsBypassTtl": null,
    "dscp": 0,
    "ecsEnabled": false,
    "edgeHeaderRewrite": null,
    "exampleURLs": [
        "http://video.demo2.mycdn.ciab.test",
        "https://video.demo2.mycdn.ciab.test"
    ],
    "firstHeaderRewrite": null,
    "fqPacingRate": null,
    "geoLimit": 0,
    "geoLimitCountries": null,
    "geoLimitRedirectURL": null,
    "geoProvider": 0,
    "globalMaxMbps": null,
    "globalMaxTps": null,
    "httpBypassFqdn": null,
    "id": 1,
    "infoUrl": "this is not even a real URL",
    "initialDispersion": 1,
    "innerHeaderRewrite": null,
    "ipv6RoutingEnabled": true,
    "lastHeaderRewrite": null,
    "lastUpdated": "2021-06-07T23:53:26.139899Z",
    "logsEnabled": true,
    "longDesc": "this is a description of the delivery service",
    "matchList": [
        {
            "type": "HOST_REGEXP",
            "setNumber": 0,
            "pattern": ".*\\.demo2\\..*"
        }
    ],
    "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": null,
    "tenant": "root",
    "tenantId": 1,
    "tlsVersions": null,
    "topology": "demo1-top",
    "trResponseHeaders": null,
    "trRequestHeaders": null,
    "type": "DNS",
    "typeId": 5,
    "xmlId": "demo2"
]}