Skip to content

Latest commit

 

History

History
193 lines (163 loc) · 9.09 KB

cachegroups_id.rst

File metadata and controls

193 lines (163 loc) · 9.09 KB

cachegroups/{{ID}}

PUT

Update :term:`Cache Group`

Auth. Required:Yes
Roles Required:"admin" or "operations"
Response Type:Object

Request Structure

Request Path Parameters
Parameter Description
ID The :ref:`cache-group-id` of a :term:`Cache Group`
fallbacks:

An optional field which, when present, should contain an array of strings that are the :ref:`Names <cache-group-name>` of other :term:`Cache Groups` which will be the :ref:`cache-group-fallbacks`[1]

fallbackToClosest:

A boolean that sets the :ref:`cache-group-fallback-to-closest` behavior of the :term:`Cache Group`[1]

Note

The default value of fallbackToClosest is true, and if it is null Traffic Control components will still interpret it as though it were true.

latitude:

An optional field which, if present, should be a floating-point number that will define the :ref:`cache-group-latitude` for the :term:`Cache Group`[2]

localizationMethods:

Array of :ref:`cache-group-localization-methods` (as strings)

Tip

This field has no defined meaning if the :ref:`cache-group-type` identified by typeId is not "EDGE_LOC".

longitude:

An optional field which, if present, should be a floating-point number that will define the :ref:`cache-group-longitude` for the :term:`Cache Group`[2]

name:

The :ref:`cache-group-name` of the :term:`Cache Group`

parentCachegroupId:

An optional field which, if present, should be an integer that is the :ref:`cache-group-id` of a :ref:`cache-group-parent` for this :term:`Cache Group`.

secondaryParentCachegroupId:

An optional field which, if present, should be an integral, unique identifier for this :term:`Cache Group`'s secondary parent

shortName:

An abbreviation of the name

typeId:

An integral, unique identifier for the :ref:`Cache Group's Type <cache-group-type>`

Note

The actual, integral, unique identifiers for these :term:`Types` must first be obtained, generally via :ref:`to-api-v3-types`.

PUT /api/3.0/cachegroups/8 HTTP/1.1
Host: trafficops.infra.ciab.test
User-Agent: curl/7.47.0
Accept: */*
Cookie: mojolicious=...
Content-Length: 118
Content-Type: application/json

{
        "latitude": 0.0,
        "longitude": 0.0,
        "name": "test",
        "fallbacks": [],
        "fallbackToClosest": true,
        "shortName": "test",
        "typeId": 23,
        "localizationMethods": ["GEO"]
}

Response Structure

fallbacks:An array of strings that are :ref:`Cache Group names <cache-group-name>` that are registered as :ref:`cache-group-fallbacks` for this :term:`Cache Group`[1]
fallbackToClosest:A boolean value that defines the :ref:`cache-group-fallback-to-closest` behavior of this :term:`Cache Group`[1]
id:An integer that is the :ref:`cache-group-id` of the :term:`Cache Group`
lastUpdated:The time and date at which this entry was last updated in :ref:`non-rfc-datetime`
latitude:A floating-point :ref:`cache-group-latitude` for the :term:`Cache Group`
localizationMethods:An array of :ref:`cache-group-localization-methods` as strings
longitude:A floating-point :ref:`cache-group-longitude` for the :term:`Cache Group`
name:A string containing the :ref:`cache-group-name` of the :term:`Cache Group`
parentCachegroupId:An integer that is the :ref:`cache-group-id` of this :term:`Cache Group`'s :ref:`cache-group-parent` - or null if it doesn't have a :ref:`cache-group-parent`
parentCachegroupName:A string containing the :ref:`cache-group-name` of this :term:`Cache Group`'s :ref:`cache-group-parent` - or null if it doesn't have a :ref:`cache-group-parent`
secondaryParentCachegroupId:An integer that is the :ref:`cache-group-id` of this :term:`Cache Group`'s :ref:`cache-group-secondary-parent` - or null if it doesn't have a :ref:`cache-group-secondary-parent`
secondaryParentCachegroupName:A string containing the :ref:`cache-group-name` of this :term:`Cache Group`'s :ref:`cache-group-secondary-parent` :term:`Cache Group` - or null if it doesn't have a :ref:`cache-group-secondary-parent`
shortName:A string containing the :ref:`cache-group-short-name` of the :term:`Cache Group`
typeId:An integral, unique identifier for the ':term:`Type`' of the :term:`Cache Group`
typeName:A string that names the :ref:`cache-group-type` of this :term:`Cache Group`
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: t1W65/2kj25QyHt0Ib0xpBaAR2sXu2kOsRZ49WjKZp/AK5S1YWhX7VNWCuUGiN1VNM4QRNqODC/7ewhYDFUncA==
X-Server-Name: traffic_ops_golang/
Date: Wed, 14 Nov 2018 19:14:28 GMT
Content-Length: 385

{ "alerts": [
        {
                "text": "cachegroup was updated.",
                "level": "success"
        }
],
"response": {
        "id": 8,
        "name": "test",
        "shortName": "test",
        "latitude": 0,
        "longitude": 0,
        "parentCachegroupName": null,
        "parentCachegroupId": null,
        "secondaryParentCachegroupName": null,
        "secondaryParentCachegroupId": null,
        "fallbacks": [],
        "fallbackToClosest": true,
        "localizationMethods": [
                "GEO"
        ],
        "typeName": "EDGE_LOC",
        "typeId": 23,
        "lastUpdated": "2018-11-14 19:14:28+00"
}}

DELETE

Delete a :term:`Cache Group`. A :term:`Cache Group` which has assigned servers or is the :ref:`cache-group-parent` of one or more other :term:`Cache Groups` cannot be deleted.

Auth. Required:Yes
Roles Required:"admin" or "operations"
Response Type:undefined

Request Structure

Request Path Parameters
Parameter Description
ID The :ref:`cache-group-id` of a :term:`Cache Group` to be deleted
DELETE /api/3.0/cachegroups/42 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: 5jZBgO7h1eNF70J/cmlbi3Hf9KJPx+WLMblH/pSKF3FWb/10GUHIN35ZOB+lN5LZYCkmk3izGbTFkiruG8I41Q==
X-Server-Name: traffic_ops_golang/
Date: Wed, 14 Nov 2018 20:31:04 GMT
Content-Length: 57

{ "alerts": [
        {
                "text": "cachegroup was deleted.",
                "level": "success"
        }
]}
[1](1, 2, 3, 4) Traffic Router will first check for a fallbacks array and, when that is empty/unset/all the :term:`Cache Groups` in it are also unavailable, will subsequently check for fallbackToClosest. If that is true, then it falls back to the geographically closest :term:`Cache Group` capable of serving the same content or, when it is false/no such :term:`Cache Group` exists/said :term:`Cache Group` is also unavailable, will respond to clients with a failure response indicating the problem.
[2](1, 2) While these fields are technically optional, note that if they are not specified many things may break. For this reason, Traffic Portal requires them when creating or editing :term:`Cache Groups`.