Skip to content
This repository was archived by the owner on Nov 24, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
- Traffic Ops: Added new `topology` field to the /api/3.0/deliveryservices APIs
- Traffic Ops: Added support for `topology` query parameter to `GET /api/3.0/cachegroups` to return all cachegroups used in the given topology.
- Traffic Ops: Added support for `topology` query parameter to `GET /api/3.0/deliveryservices` to return all delivery services that employ a given topology.
- Traffic Ops: Added new topology-based delivery service fields for header rewrites: `firstHeaderRewrite`, `innerHeaderRewrite`, `lastHeaderRewrite`
- Traffic Ops: Added validation to prohibit assigning caches to topology-based delivery services
- Traffic Portal: Added the ability to create, read, update and delete flexible topologies.
- Traffic Portal: Added the ability to assign topologies to delivery services.
Expand Down
42 changes: 41 additions & 1 deletion docs/source/api/v3/deliveryservice_requests.rst

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions docs/source/api/v3/deliveryservice_requests_id_assign.rst
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ Response Structure
:ecsEnabled: A boolean that defines the :ref:`ds-ecs` setting on this :term:`Delivery Service`
:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
:exampleURLs: An array of :ref:`ds-example-urls`
:firstHeaderRewrite: A set of :ref:`ds-first-header-rw-rules`
:fqPacingRate: The :ref:`ds-fqpr`
:geoLimit: An integer that defines the :ref:`ds-geo-limit`
:geoLimitCountries: A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`\ [#geolimit]_
Expand All @@ -90,7 +91,9 @@ Response Structure
:id: An integral, unique identifier for this :term:`Delivery Service`
:infoUrl: An :ref:`ds-info-url`
:initialDispersion: The :ref:`ds-initial-dispersion`
:innerHeaderRewrite: A set of :ref:`ds-inner-header-rw-rules`
:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
:lastHeaderRewrite: A set of :ref:`ds-last-header-rw-rules`
:lastUpdated: The date and time at which this :term:`Delivery Service` was last updated, in :rfc:`3339` format
:logsEnabled: A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
:longDesc: The :ref:`ds-longdesc` of this :term:`Delivery Service`
Expand Down Expand Up @@ -125,6 +128,7 @@ Response Structure
:sslKeyVersion: This integer indicates the :ref:`ds-ssl-key-version`
:tenant: The name of the :term:`Tenant` who owns this :term:`origin`
:tenantId: The integral, unique identifier of the :ref:`ds-tenant` who owns this :term:`Delivery Service`
:topology: The unique name of the :term:`Topology` that this :term:`Delivery Service` is assigned to
:trRequestHeaders: If defined, this defines the :ref:`ds-tr-req-headers` used by Traffic Router for this :term:`Delivery Service`
:trResponseHeaders: If defined, this defines the :ref:`ds-tr-resp-headers` used by Traffic Router for this :term:`Delivery Service`
:type: The :ref:`ds-types` of this :term:`Delivery Service`
Expand Down Expand Up @@ -186,6 +190,7 @@ Response Structure
"dnsBypassTtl": null,
"dscp": 0,
"edgeHeaderRewrite": null,
"firstHeaderRewrite": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectURL": null,
Expand All @@ -196,7 +201,9 @@ Response Structure
"id": 1,
"infoUrl": null,
"initialDispersion": 1,
"innerHeaderRewrite": null,
"ipv6RoutingEnabled": true,
"lastHeaderRewrite": null,
"lastUpdated": "0001-01-01 00:00:00+00",
"logsEnabled": true,
"longDesc": "Apachecon North America 2018",
Expand Down Expand Up @@ -229,6 +236,7 @@ Response Structure
"signed": false,
"sslKeyVersion": null,
"tenantId": 1,
"topology": null,
"type": "HTTP",
"typeId": 1,
"xmlId": "demo1",
Expand Down
8 changes: 8 additions & 0 deletions docs/source/api/v3/deliveryservice_requests_id_status.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ Response Structure
:ecsEnabled: A boolean that defines the :ref:`ds-ecs` setting on this :term:`Delivery Service`
:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
:exampleURLs: An array of :ref:`ds-example-urls`
:firstHeaderRewrite: A set of :ref:`ds-first-header-rw-rules`
:fqPacingRate: The :ref:`ds-fqpr`
:geoLimit: An integer that defines the :ref:`ds-geo-limit`
:geoLimitCountries: A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`\ [#geolimit]_
Expand All @@ -91,7 +92,9 @@ Response Structure
:id: An integral, unique identifier for this :term:`Delivery Service`
:infoUrl: An :ref:`ds-info-url`
:initialDispersion: The :ref:`ds-initial-dispersion`
:innerHeaderRewrite: A set of :ref:`ds-inner-header-rw-rules`
:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
:lastHeaderRewrite: A set of :ref:`ds-last-header-rw-rules`
:lastUpdated: The date and time at which this :term:`Delivery Service` was last updated, in :rfc:`3339` format
:logsEnabled: A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
:longDesc: The :ref:`ds-longdesc` of this :term:`Delivery Service`
Expand Down Expand Up @@ -126,6 +129,7 @@ Response Structure
:sslKeyVersion: This integer indicates the :ref:`ds-ssl-key-version`
:tenant: The name of the :term:`Tenant` who owns this :term:`origin`
:tenantId: The integral, unique identifier of the :ref:`ds-tenant` who owns this :term:`Delivery Service`
:topology: The unique name of the :term:`Topology` that this :term:`Delivery Service` is assigned to
:trRequestHeaders: If defined, this defines the :ref:`ds-tr-req-headers` used by Traffic Router for this :term:`Delivery Service`
:trResponseHeaders: If defined, this defines the :ref:`ds-tr-resp-headers` used by Traffic Router for this :term:`Delivery Service`
:type: The :ref:`ds-types` of this :term:`Delivery Service`
Expand Down Expand Up @@ -187,6 +191,7 @@ Response Structure
"dnsBypassTtl": null,
"dscp": 0,
"edgeHeaderRewrite": null,
"firstHeaderRewrite": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectURL": null,
Expand All @@ -197,7 +202,9 @@ Response Structure
"id": 1,
"infoUrl": null,
"initialDispersion": 1,
"innerHeaderRewrite": null,
"ipv6RoutingEnabled": true,
"lastHeaderRewrite": null,
"lastUpdated": "0001-01-01 00:00:00+00",
"logsEnabled": true,
"longDesc": "Apachecon North America 2018",
Expand Down Expand Up @@ -230,6 +237,7 @@ Response Structure
"signed": false,
"sslKeyVersion": null,
"tenantId": 1,
"topology": null,
"type": "HTTP",
"typeId": 1,
"xmlId": "demo1",
Expand Down
15 changes: 15 additions & 0 deletions docs/source/api/v3/deliveryservices.rst
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ Response Structure
:ecsEnabled: A boolean that defines the :ref:`ds-ecs` setting on this :term:`Delivery Service`
:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
:exampleURLs: An array of :ref:`ds-example-urls`
:firstHeaderRewrite: A set of :ref:`ds-first-header-rw-rules`
:fqPacingRate: The :ref:`ds-fqpr`
:geoLimit: An integer that defines the :ref:`ds-geo-limit`
:geoLimitCountries: A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`
Expand All @@ -101,7 +102,9 @@ Response Structure
:id: An integral, unique identifier for this :term:`Delivery Service`
:infoUrl: An :ref:`ds-info-url`
:initialDispersion: The :ref:`ds-initial-dispersion`
:innerHeaderRewrite: A set of :ref:`ds-inner-header-rw-rules`
:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
:lastHeaderRewrite: A set of :ref:`ds-last-header-rw-rules`
:lastUpdated: The date and time at which this :term:`Delivery Service` was last updated, in :rfc:`3339` format
:logsEnabled: A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
:longDesc: The :ref:`ds-longdesc` of this :term:`Delivery Service`
Expand Down Expand Up @@ -172,6 +175,7 @@ Response Structure
"dnsBypassTtl": null,
"dscp": 0,
"edgeHeaderRewrite": null,
"firstHeaderRewrite": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectURL": null,
Expand All @@ -182,7 +186,9 @@ Response Structure
"id": 1,
"infoUrl": null,
"initialDispersion": 1,
"innerHeaderRewrite": null,
"ipv6RoutingEnabled": true,
"lastHeaderRewrite": null,
"lastUpdated": "2019-05-15 14:32:05+00",
"logsEnabled": true,
"longDesc": "Apachecon North America 2018",
Expand Down Expand Up @@ -273,6 +279,7 @@ Request Structure
:dscp: A :ref:`ds-dscp` to be used within the :term:`Delivery Service`
:ecsEnabled: A boolean that defines the :ref:`ds-ecs` setting on this :term:`Delivery Service`
:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
:firstHeaderRewrite: A set of :ref:`ds-first-header-rw-rules`
:fqPacingRate: The :ref:`ds-fqpr`
:geoLimit: An integer that defines the :ref:`ds-geo-limit`
:geoLimitCountries: A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`\ [#geolimit]_
Expand All @@ -283,7 +290,9 @@ Request Structure
:httpBypassFqdn: A :ref:`ds-http-bypass-fqdn`
:infoUrl: An :ref:`ds-info-url`
:initialDispersion: The :ref:`ds-initial-dispersion`
:innerHeaderRewrite: A set of :ref:`ds-inner-header-rw-rules`
:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
:lastHeaderRewrite: A set of :ref:`ds-last-header-rw-rules`
:logsEnabled: A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
:longDesc: The :ref:`ds-longdesc` of this :term:`Delivery Service`
:longDesc1: An optional field containing the :ref:`ds-longdesc2` of this :term:`Delivery Service`
Expand Down Expand Up @@ -383,6 +392,7 @@ Response Structure
:ecsEnabled: A boolean that defines the :ref:`ds-ecs` setting on this :term:`Delivery Service`
:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
:exampleURLs: An array of :ref:`ds-example-urls`
:firstHeaderRewrite: A set of :ref:`ds-first-header-rw-rules`
:fqPacingRate: The :ref:`ds-fqpr`
:geoLimit: An integer that defines the :ref:`ds-geo-limit`
:geoLimitCountries: A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`
Expand All @@ -394,7 +404,9 @@ Response Structure
:id: An integral, unique identifier for this :term:`Delivery Service`
:infoUrl: An :ref:`ds-info-url`
:initialDispersion: The :ref:`ds-initial-dispersion`
:innerHeaderRewrite: A set of :ref:`ds-inner-header-rw-rules`
:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
:lastHeaderRewrite: A set of :ref:`ds-last-header-rw-rules`
:lastUpdated: The date and time at which this :term:`Delivery Service` was last updated, in :rfc:`3339` format
:logsEnabled: A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
:longDesc: The :ref:`ds-longdesc` of this :term:`Delivery Service`
Expand Down Expand Up @@ -472,6 +484,7 @@ Response Structure
"dnsBypassTtl": null,
"dscp": 0,
"edgeHeaderRewrite": null,
"firstHeaderRewrite": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectURL": null,
Expand All @@ -482,7 +495,9 @@ Response Structure
"id": 2,
"infoUrl": null,
"initialDispersion": 1,
"innerHeaderRewrite": null,
"ipv6RoutingEnabled": false,
"lastHeaderRewrite": null,
"lastUpdated": "2018-11-19 19:45:49+00",
"logsEnabled": true,
"longDesc": "A Delivery Service created expressly for API documentation examples",
Expand Down
3 changes: 3 additions & 0 deletions docs/source/api/v3/deliveryservices_id.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ Request Structure
:dscp: A :ref:`ds-dscp` to be used within the :term:`Delivery Service`
:ecsEnabled: A boolean that defines the :ref:`ds-ecs` setting on this :term:`Delivery Service`
:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
:firstHeaderRewrite: A set of :ref:`ds-first-header-rw-rules`
:fqPacingRate: The :ref:`ds-fqpr`
:geoLimit: An integer that defines the :ref:`ds-geo-limit`
:geoLimitCountries: A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`\ [#geolimit]_
Expand All @@ -60,7 +61,9 @@ Request Structure
:httpBypassFqdn: A :ref:`ds-http-bypass-fqdn`
:infoUrl: An :ref:`ds-info-url`
:initialDispersion: The :ref:`ds-initial-dispersion`
:innerHeaderRewrite: A set of :ref:`ds-inner-header-rw-rules`
:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
:lastHeaderRewrite: A set of :ref:`ds-last-header-rw-rules`
:logsEnabled: A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
:longDesc: The :ref:`ds-longdesc` of this :term:`Delivery Service`
:longDesc1: An optional field containing the :ref:`ds-longdesc2` of this :term:`Delivery Service`
Expand Down
6 changes: 6 additions & 0 deletions docs/source/api/v3/deliveryservices_id_safe.rst
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ Response Structure
:ecsEnabled: A boolean that defines the :ref:`ds-ecs` setting on this :term:`Delivery Service`
:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
:exampleURLs: An array of :ref:`ds-example-urls`
:firstHeaderRewrite: A set of :ref:`ds-first-header-rw-rules`
:fqPacingRate: The :ref:`ds-fqpr`
:geoLimit: An integer that defines the :ref:`ds-geo-limit`
:geoLimitCountries: A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`
Expand All @@ -95,7 +96,9 @@ Response Structure
:id: An integral, unique identifier for this :term:`Delivery Service`
:infoUrl: An :ref:`ds-info-url`
:initialDispersion: The :ref:`ds-initial-dispersion`
:innerHeaderRewrite: A set of :ref:`ds-inner-header-rw-rules`
:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
:lastHeaderRewrite: A set of :ref:`ds-last-header-rw-rules`
:lastUpdated: The date and time at which this :term:`Delivery Service` was last updated, in :rfc:`3339` format
:logsEnabled: A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
:longDesc: The :ref:`ds-longdesc` of this :term:`Delivery Service`
Expand Down Expand Up @@ -169,6 +172,7 @@ Response Structure
"dnsBypassTtl": null,
"dscp": 0,
"edgeHeaderRewrite": null,
"firstHeaderRewrite": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectURL": null,
Expand All @@ -179,7 +183,9 @@ Response Structure
"id": 1,
"infoUrl": "this is not even a real URL",
"initialDispersion": 1,
"innerHeaderRewrite": null,
"ipv6RoutingEnabled": true,
"lastHeaderRewrite": null,
"lastUpdated": "2020-02-10 15:33:03+00",
"logsEnabled": true,
"longDesc": "longDesc1 is implicitly set to null in this example",
Expand Down
6 changes: 6 additions & 0 deletions docs/source/api/v3/servers_id_deliveryservices.rst
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ Response Structure
:ecsEnabled: A boolean that defines the :ref:`ds-ecs` setting on this :term:`Delivery Service`
:edgeHeaderRewrite: A set of :ref:`ds-edge-header-rw-rules`
:exampleURLs: An array of :ref:`ds-example-urls`
:firstHeaderRewrite: A set of :ref:`ds-first-header-rw-rules`
:fqPacingRate: The :ref:`ds-fqpr`
:geoLimit: An integer that defines the :ref:`ds-geo-limit`
:geoLimitCountries: A string containing a comma-separated list defining the :ref:`ds-geo-limit-countries`
Expand All @@ -101,7 +102,9 @@ Response Structure
:id: An integral, unique identifier for this :term:`Delivery Service`
:infoUrl: An :ref:`ds-info-url`
:initialDispersion: The :ref:`ds-initial-dispersion`
:innerHeaderRewrite: A set of :ref:`ds-inner-header-rw-rules`
:ipv6RoutingEnabled: A boolean that defines the :ref:`ds-ipv6-routing` setting on this :term:`Delivery Service`
:lastHeaderRewrite: A set of :ref:`ds-last-header-rw-rules`
:lastUpdated: The date and time at which this :term:`Delivery Service` was last updated, in :rfc:`3339` format
:logsEnabled: A boolean that defines the :ref:`ds-logs-enabled` setting on this :term:`Delivery Service`
:longDesc: The :ref:`ds-longdesc` of this :term:`Delivery Service`
Expand Down Expand Up @@ -172,6 +175,7 @@ Response Structure
"dnsBypassTtl": null,
"dscp": 0,
"edgeHeaderRewrite": null,
"firstHeaderRewrite": null,
"geoLimit": 0,
"geoLimitCountries": null,
"geoLimitRedirectURL": null,
Expand All @@ -182,7 +186,9 @@ Response Structure
"id": 1,
"infoUrl": null,
"initialDispersion": 1,
"innerHeaderRewrite": null,
"ipv6RoutingEnabled": true,
"lastHeaderRewrite": null,
"lastUpdated": "2019-06-10 15:14:29+00",
"logsEnabled": true,
"longDesc": "Apachecon North America 2018",
Expand Down
21 changes: 21 additions & 0 deletions docs/source/glossary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,13 @@ Glossary

.. seealso:: Federations are currently only manageable by directly using the :ref:`to-api`. The endpoints related to federations are :ref:`to-api-federations`, :ref:`to-api-federation_resolvers`, :ref:`to-api-federations-id-deliveryservices`, :ref:`to-api-federations-id-deliveryservices-id`, :ref:`to-api-federations-id-federation_resolvers`, :ref:`to-api-federations-id-users`, and :ref:`to-api-federations-id-users-id`.

First-tier
First-tier cache
First-tier caches
First-tier cache server
First-tier cache servers
Closest to the client or end-user. The first tier in a :term:`Topology` is the tier that serves the client, similar to the :term:`Edge-tier`.

forward proxy
forward proxies
A forward proxy acts on behalf of the client such that the :term:`origin server` is (potentially) unaware of the proxy's existence. All Mid-tier :term:`cache servers` in a Traffic Control based CDN are :dfn:`forward proxies`. In a :dfn:`forward proxy` scenario, the client is explicitly configured to use the the proxy's IP address and port as a :dfn:`forward proxy`. The client always connects to the :dfn:`forward proxy` for content. The content provider does not have to change the URL the client obtains, and is (potentially) unaware of the proxy in the middle.
Expand Down Expand Up @@ -225,6 +232,20 @@ Glossary
Health Protocol
The protocol to monitor the health of all the caches. See :ref:`health-proto`.

Inner-tier
Inner-tier cache
Inner-tier caches
Inner-tier cache server
Inner-tier cache servers
The tier between the First tier and the Last tier. The inner tier in a :term:`Topology` is the tier that forwards requests from other caches to other caches, i.e. caches in this tier do not directly serve the end-user and do not make requests to :term:`Origins`.

Last-tier
Last-tier cache
Last-tier caches
Last-tier cache server
Last-tier cache servers
The tier above the First and Inner tiers. The last tier in a :term:`Topology` is the tier that forwards requests from other caches to :term:`Origins`.

localization
Finding location on the network, or on planet earth

Expand Down
Loading