blob: e9188086fa4fe0fd860098c73c25cf0a50a1fc7c [file] [log] [blame]
..
..
.. Licensed under the Apache License, Version 2.0 (the "License");
.. you may not use this file except in compliance with the License.
.. You may obtain a copy of the License at
..
.. http://www.apache.org/licenses/LICENSE-2.0
..
.. Unless required by applicable law or agreed to in writing, software
.. distributed under the License is distributed on an "AS IS" BASIS,
.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
.. See the License for the specific language governing permissions and
.. limitations under the License.
..
.. _to-api-cdns-name-federations:
*****************************
``cdns/{{name}}/federations``
*****************************
``GET``
=======
Retrieves a list of federations in use by a specific CDN.
:Auth. Required: Yes
:Roles Required: None
:Permissions Required: CDN:READ, FEDERATION:READ, DELIVERY-SERVICE:READ
:Response Type: Array
Request Structure
-----------------
.. table:: Request Path Parameters
+-----------+---------------------------------------------------------------------------------------------------------------+
| Name | Description |
+===========+===============================================================================================================+
| name | The name of the CDN for which federations will be listed |
+-----------+---------------------------------------------------------------------------------------------------------------+
.. table:: Request Query Parameters
+-----------+---------------------------------------------------------------------------------------------------------------+
| Name | Description |
+===========+===============================================================================================================+
| id | Return only the federation that has this id |
+-----------+---------------------------------------------------------------------------------------------------------------+
| orderby | Choose the ordering of the results - must be the name of one of the fields of the objects in the ``response`` |
| | array |
+-----------+---------------------------------------------------------------------------------------------------------------+
| sortOrder | Changes the order of sorting. Either ascending (default or "asc") or descending ("desc") |
+-----------+---------------------------------------------------------------------------------------------------------------+
| limit | Choose the maximum number of results to return |
+-----------+---------------------------------------------------------------------------------------------------------------+
| offset | The number of results to skip before beginning to return results. Must use in conjunction with limit |
+-----------+---------------------------------------------------------------------------------------------------------------+
| page | Return the n\ :sup:`th` page of results, where "n" is the value of this parameter, pages are ``limit`` long |
| | and the first page is 1. If ``offset`` was defined, this query parameter has no effect. ``limit`` must be |
| | defined to make use of ``page``. |
+-----------+---------------------------------------------------------------------------------------------------------------+
.. code-block:: http
:caption: Request Example
GET /api/5.0/cdns/CDN-in-a-Box/federations HTTP/1.1
Host: trafficops.infra.ciab.test
User-Agent: curl/7.62.0
Accept: */*
Cookie: mojolicious=...
Response Structure
------------------
:cname: The Canonical Name (CNAME) used by the federation
:deliveryService: An object with keys that provide identifying information for the :term:`Delivery Service` using this federation
:id: The integral, unique identifier for the :term:`Delivery Service`
:xmlId: The :term:`Delivery Service`'s uniquely identifying 'xml_id'
:description: An optionally-present field containing a description of the field
.. note:: This key will only be present if the description was provided when the federation was created. Refer to the ``POST`` method of this endpoint to see how federations can be created.
:lastUpdated: The date and time at which this federation was last modified, in :ref:`non-rfc-datetime`
:ttl: Time to Live (TTL) for the ``cname``, in hours
.. code-block:: http
:caption: Response Example
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=/; HttpOnly
whole-content-sha512: SJA7G+7G5KcOfCtnE3Dq5DCobWtGRUKSppiDkfLZoG5+paq4E1aZGqUb6vGVsd+TpPg75MLlhyqfdfCHnhLX/g==
x-server-name: traffic_ops_golang/
content-length: 170
date: Wed, 05 Dec 2018 00:35:40 GMT
{ "response": [
{
"id": 1,
"cname": "test.quest.",
"ttl": 48,
"description": "A test federation",
"lastUpdated": "2018-12-05 00:05:16+00",
"deliveryService": {
"id": 1,
"xmlId": "demo1"
}
}
]}
``POST``
========
Creates a new federation.
:Auth. Required: Yes
:Roles Required: "admin"
:Permissions Required: FEDERATION:CREATE, FEDERATION:READ, CDN:READ
:Response Type: Object
Request Structure
-----------------
.. table:: Request Path Parameters
+------+----------------------------------------------------------------+
| Name | Description |
+======+================================================================+
| name | The name of the CDN for which a new federation will be created |
+------+----------------------------------------------------------------+
:cname: The Canonical Name (CNAME) used by the federation
.. note:: The CNAME must end with a "``.``"
:description: An optional description of the federation
:ttl: Time to Live (TTL) for the name record used for ``cname``
.. code-block:: http
:caption: Request Example
POST /api/5.0/cdns/CDN-in-a-Box/federations HTTP/1.1
Host: trafficops.infra.ciab.test
User-Agent: curl/7.62.0
Accept: */*
Cookie: mojolicious=...
Content-Length: 72
Content-Type: application/json
{
"cname": "test.quest.",
"ttl": 48,
"description": "A test federation"
}
Response Structure
------------------
:id: The integral, unique identifier of the :term:`Federation`
:cname: The Canonical Name (CNAME) used by the federation
:description: An optionally-present field containing a description of the field
.. note:: This key will only be present if the description was provided when the federation was created
:lastUpdated: The date and time at which this federation was last modified, in :ref:`non-rfc-datetime`
:ttl: Time to Live (TTL) for the ``cname``, in hours
.. code-block:: http
:caption: Response Example
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=/; HttpOnly
whole-content-sha512: rRsWAIhXzVlj8Hy+8aFjp4Jo1QGTK49m0N1AP5QDyyAZ1TfNIdgtcgiuehu7FiN1IPWRFiv6D9CygFYKGcVDOw==
x-server-name: traffic_ops_golang/
content-length: 192
date: Wed, 05 Dec 2018 00:05:16 GMT
{ "alerts": [
{
"text": "cdnfederation was created.",
"level": "success"
}
],
"response": {
"id": 1,
"cname": "test.quest.",
"ttl": 48,
"description": "A test federation",
"lastUpdated": "2018-12-05 00:05:16+00"
}}