blob: 36801a2101999f1ae413c8c524b9fe85ef639469 [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-api_capabilities-id:
***************************
``api_capabilities/{{ID}}``
***************************
Manages a specific API capability.
``GET``
=======
Get an API-capability mapping by id.
:Auth. Required: Yes
:Roles Required: None
:Response Type: Array
Request Structure
-----------------
.. table:: Request Path Parameters
+-------------+----------+---------+-----------------------------------------+
| Name | Required | Type | Description |
+=============+==========+=========+=========================================+
| ID | yes | integer | A unique identifier for this capability |
+-------------+----------+---------+-----------------------------------------+
.. code-block:: http
:caption: Request Example
GET /api/1.1/api_capabilities/273 HTTP/1.1
Host: trafficops.infra.ciab.test
User-Agent: curl/7.47.0
Accept: */*
Cookie: mojolicious=...
Response Structure
------------------
:capability: Capability name
:httpMethod: An HTTP request method, practically one of:
* ``GET``
* ``POST``
* ``PUT``
* ``PATCH``
* ``DELETE``
:httpRoute: The request route for which this capability applies - relative to the Traffic Ops server's URL
:id: An integer which uniquely identifies this capability
:lastUpdated: The time at which this capability was last updated, in an ISO-like format
.. 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
Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin: *
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Type: application/json
Date: Thu, 01 Nov 2018 16:14:09 GMT
Server: Mojolicious (Perl)
Set-Cookie: mojolicious=...; Path=/; Expires=Mon, 18 Nov 2019 17:40:54 GMT; Max-Age=3600; HttpOnly
Vary: Accept-Encoding
Whole-Content-Sha512: SMSFHOcD6VvfJKmcHmHBQcN+jkRRCmFzx1jyBWhJeyPg04YHPSvUcjZzslWlJqyjwWeoXeNVwxhRkBwl8TQX/g==
Content-Length: 162
{ "response": [
{
"httpMethod": "PATCH",
"lastUpdated": "2018-11-01 14:53:58.853356+00",
"httpRoute": "/api/1.1/api_capabilities",
"id": 273,
"capability": "types-write"
}
]}
``PUT``
=======
Edit an API-capability mapping.
:Auth. Required: Yes
:Roles Required: "admin" or "operations"
:Response Type: Object
Request Structure
-----------------
:capability: Capability name
:httpMethod: An HTTP request method, practically one of:
* ``GET``
* ``POST``
* ``PUT``
* ``PATCH``
* ``DELETE``
:httpRoute: The request route for which this capability applies - relative to the Traffic Ops server's URL
.. table:: Request Path Parameters
+-------------+----------+---------+-----------------------------------------+
| Name | Required | Type | Description |
+=============+==========+=========+=========================================+
| id | yes | integer | A unique identifier for this capability |
+-------------+----------+---------+-----------------------------------------+
.. code-block:: http
:caption: Request Example
PUT /api/1.1/api_capabilities/273 HTTP/1.1
Host: trafficops.infra.ciab.test
User-Agent: curl/7.47.0
Accept: */*
Cookie: mojolicious=...
Content-Length: 98
Content-Type: application/x-www-form-urlencoded
{
"capability": "types-write",
"httpRoute": "/api/1.1/api_capabilities/*",
"httpMethod": "PATCH"
}
Response Structure
------------------
:capability: Capability name
:httpMethod: An HTTP request method, practically one of:
* ``GET``
* ``POST``
* ``PUT``
* ``PATCH``
* ``DELETE``
:httpRoute: The request route for which this capability applies - relative to the Traffic Ops server's URL
:id: An integer which uniquely identifies this capability
:lastUpdated: The time at which this capability was last updated, in ISO format
.. 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
Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin: *
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Type: application/json
Date: Thu, 01 Nov 2018 18:28:38 GMT
Server: Mojolicious (Perl)
Set-Cookie: mojolicious=...; Path=/; Expires=Mon, 18 Nov 2019 17:40:54 GMT; Max-Age=3600; HttpOnly
Vary: Accept-Encoding
Whole-Content-Sha512: zQuDrqpJt02Fh2fNZ6K7/XmVJ49ZqGTnSbsaR7nOyoxbkmLM17XJV1rtef/SAows2M4j4YjcDbEP4WM/hjCFtw==
Content-Length: 241
{
"alerts": [
{
"level": "success",
"text": "API-Capability mapping was updated."
}
],
"response": {
"httpMethod": "PATCH",
"lastUpdated": "2018-11-01 18:28:10.38317+00",
"httpRoute": "/api/1.1/api_capabilities/*",
"id": 273,
"capability": "types-write"
}
}
DELETE
======
Delete a capability.
:Auth. Required: Yes
:Roles Required: "admin" or "operations"
:Response Type: ``undefined``
Request Structure
-----------------
.. table:: Request Path Parameters
+-------------+----------+---------+-----------------------------------------+
| Name | Required | Type | Description |
+=============+==========+=========+=========================================+
| id | yes | integer | A unique identifier for this capability |
+-------------+----------+---------+-----------------------------------------+
.. code-block:: http
:caption: Request Example
DELETE /api/1.1/api_capabilities/273 HTTP/1.1
Host: trafficops.infra.ciab.test
User-Agent: curl/7.47.0
Accept: */*
Cookie: mojolicious=...
Response Structure
------------------
.. 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
Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin: *
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Type: application/json
Date: Wed, 07 Nov 2018 15:44:14 GMT
Server: Mojolicious (Perl)
Set-Cookie: mojolicious=...; Path=/; Expires=Mon, 18 Nov 2019 17:40:54 GMT; Max-Age=3600; HttpOnly
Vary: Accept-Encoding
Whole-Content-Sha512: eTFJkB2Bh8SCT2A29e21e8qoEdNzFGfuT5a3tDG7u8vwz/JHntQRRR8554a1i65733uWojlWKM65bLSDNmmNqQ==
Content-Length: 73
{ "alerts": [
{
"level": "success",
"text": "API-capability mapping deleted."
}
]}