| .. |
| .. |
| .. 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" |
| }} |