api-ref: Introduce logging api reference
This patch introduce a api reference of logging api feature. The api is following logging api for security group spec[1]. [1] https://specs.openstack.org/openstack/neutron-specs/specs/pike/logging-API-for-security-group-rules.html Change-Id: I7dd34d4d2ce4cac7210b10e43766d51d682764a8 Partially-implements: blueprint security-group-logging Related-Bug: #1468366
This commit is contained in:
parent
88ad67a60b
commit
4bcd946734
@ -74,4 +74,8 @@ BGP/MPLS VPN Interconnection
|
|||||||
.. include:: bgpvpn-bgpvpns.inc
|
.. include:: bgpvpn-bgpvpns.inc
|
||||||
.. include:: bgpvpn-network_associations.inc
|
.. include:: bgpvpn-network_associations.inc
|
||||||
.. include:: bgpvpn-router_associations.inc
|
.. include:: bgpvpn-router_associations.inc
|
||||||
.. include:: bgpvpn-port_associations.inc
|
.. include:: bgpvpn-port_associations.inc
|
||||||
|
#######
|
||||||
|
Logging
|
||||||
|
#######
|
||||||
|
.. include:: logging.inc
|
||||||
|
271
api-ref/source/v2/logging.inc
Normal file
271
api-ref/source/v2/logging.inc
Normal file
@ -0,0 +1,271 @@
|
|||||||
|
.. -*- rst -*-
|
||||||
|
|
||||||
|
============
|
||||||
|
Log resource
|
||||||
|
============
|
||||||
|
|
||||||
|
The ``logging`` extension lists, creates, shows information for, and updates
|
||||||
|
log resource.
|
||||||
|
|
||||||
|
List logs
|
||||||
|
=========
|
||||||
|
|
||||||
|
.. rest_method:: GET /v2.0/log/logs
|
||||||
|
|
||||||
|
Lists all log resources associated with your project.
|
||||||
|
|
||||||
|
Use the ``fields`` query parameter to control which fields are
|
||||||
|
returned in the response body. Additionally, you can filter results
|
||||||
|
by using query string parameters. For information, see `Filtering
|
||||||
|
and Column Selection <https://wiki.openstack.org/wiki/Neutron/APIv2
|
||||||
|
-specification#Filtering_and_Column_Selection>`__.
|
||||||
|
|
||||||
|
The list might be empty.
|
||||||
|
|
||||||
|
Normal response codes: 200
|
||||||
|
|
||||||
|
Error response codes: 401
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- fields: fields
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- logs: logs
|
||||||
|
- id: log_id
|
||||||
|
- name: name
|
||||||
|
- description: description
|
||||||
|
- tenant_id: project_id
|
||||||
|
- project_id: project_id
|
||||||
|
- event: log_event
|
||||||
|
- resource_type: resource_log_type
|
||||||
|
- resource_id: resource_log_id
|
||||||
|
- target_id: resource_target_log_id
|
||||||
|
- enabled: log_enabled
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/logs/log-list-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Create log
|
||||||
|
==========
|
||||||
|
|
||||||
|
.. rest_method:: POST /v2.0/log/logs
|
||||||
|
|
||||||
|
Creates a log resource.
|
||||||
|
|
||||||
|
Creates a log resource by using the configuration that you define in
|
||||||
|
the request object. A response object is returned. The object
|
||||||
|
contains a unique ID.
|
||||||
|
|
||||||
|
If the caller is not an administrative user, this call returns the
|
||||||
|
HTTP ``Forbidden (403)`` response code.
|
||||||
|
|
||||||
|
Users with an administrative role can create policies on behalf of
|
||||||
|
other projects by specifying a project ID that is different than
|
||||||
|
their own.
|
||||||
|
|
||||||
|
Normal response codes: 201
|
||||||
|
|
||||||
|
Error response codes: 400, 401, 403, 409
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- log: log
|
||||||
|
- name: name-request
|
||||||
|
- description: description-request
|
||||||
|
- tenant_id: project_id-request
|
||||||
|
- project_id: project_id-request
|
||||||
|
- event: log_event-request
|
||||||
|
- resource_type: resource_log_type
|
||||||
|
- resource_id: resource_log_id-request
|
||||||
|
- target_id: resource_target_log_id-request
|
||||||
|
- enabled: log_enabled-request
|
||||||
|
|
||||||
|
Request Example
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/logs/log-create-request.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- log: log
|
||||||
|
- id: log_id
|
||||||
|
- name: name
|
||||||
|
- description: description
|
||||||
|
- tenant_id: project_id
|
||||||
|
- project_id: project_id
|
||||||
|
- event: log_event
|
||||||
|
- resource_type: resource_log_type
|
||||||
|
- resource_id: resource_log_id
|
||||||
|
- target_id: resource_target_log_id
|
||||||
|
- enabled: log_enabled
|
||||||
|
|
||||||
|
Request Example
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/logs/log-create-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Show log
|
||||||
|
========
|
||||||
|
|
||||||
|
.. rest_method:: GET /v2.0/log/logs/{log_id}
|
||||||
|
|
||||||
|
Shows details log resource.
|
||||||
|
|
||||||
|
Normal response codes: 200
|
||||||
|
|
||||||
|
Error response codes: 401, 404
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- log_id: log_id-path
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- log: log
|
||||||
|
- id: log_id
|
||||||
|
- name: name
|
||||||
|
- description: description
|
||||||
|
- tenant_id: project_id
|
||||||
|
- project_id: project_id
|
||||||
|
- event: log_event
|
||||||
|
- resource_type: resource_log_type
|
||||||
|
- resource_id: resource_log_id
|
||||||
|
- target_id: resource_target_log_id
|
||||||
|
- enabled: log_enabled
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/logs/log-show-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Update log
|
||||||
|
==========
|
||||||
|
|
||||||
|
.. rest_method:: PUT /v2.0/log/logs/{log_id}
|
||||||
|
|
||||||
|
Updates a log resource.
|
||||||
|
|
||||||
|
Normal response codes: 200
|
||||||
|
|
||||||
|
Error response codes: 400, 401, 404
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- log_id: log_id-path
|
||||||
|
- log: log
|
||||||
|
- name: name-request
|
||||||
|
- description: description-request
|
||||||
|
- enabled: log_enabled-request-put
|
||||||
|
|
||||||
|
Request Example
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/logs/log-update-request.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- log: log
|
||||||
|
- id: log_id
|
||||||
|
- name: name
|
||||||
|
- description: description
|
||||||
|
- tenant_id: project_id
|
||||||
|
- project_id: project_id
|
||||||
|
- event: log_event
|
||||||
|
- resource_type: resource_log_type
|
||||||
|
- resource_id: resource_log_id
|
||||||
|
- target_id: resource_target_log_id
|
||||||
|
- enabled: log_enabled
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/logs/log-update-response.json
|
||||||
|
:language: javascript
|
||||||
|
|
||||||
|
Delete log
|
||||||
|
==========
|
||||||
|
|
||||||
|
.. rest_method:: DELETE /v2.0/log/logs/{log_id}
|
||||||
|
|
||||||
|
Deletes a log resource.
|
||||||
|
|
||||||
|
Normal response codes: 204
|
||||||
|
|
||||||
|
Error response codes: 400, 401, 404
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- log_id: log_id-path
|
||||||
|
|
||||||
|
Response
|
||||||
|
--------
|
||||||
|
|
||||||
|
There is no body content for the response of a successful DELETE request.
|
||||||
|
|
||||||
|
=================
|
||||||
|
Loggable resource
|
||||||
|
=================
|
||||||
|
|
||||||
|
List loggable resources
|
||||||
|
=======================
|
||||||
|
|
||||||
|
.. rest_method:: GET /v2.0/log/loggable-resources
|
||||||
|
|
||||||
|
Lists all resource log types are supporting.
|
||||||
|
|
||||||
|
Normal response codes: 200
|
||||||
|
|
||||||
|
Error response codes: 401
|
||||||
|
|
||||||
|
Request
|
||||||
|
-------
|
||||||
|
|
||||||
|
Response Parameters
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. rest_parameters:: parameters.yaml
|
||||||
|
|
||||||
|
- loggable_resources: loggable_resources
|
||||||
|
- type: resource_log_type
|
||||||
|
|
||||||
|
Response Example
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. literalinclude:: samples/logs/loggable_resources-list-response.json
|
||||||
|
:language: javascript
|
@ -133,6 +133,12 @@ loadbalancer-id-path:
|
|||||||
in: path
|
in: path
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
log_id-path:
|
||||||
|
description: |
|
||||||
|
The ID of the log resource.
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
logging_resource_id:
|
logging_resource_id:
|
||||||
description: |
|
description: |
|
||||||
The ID of the logging resource.
|
The ID of the logging resource.
|
||||||
@ -3126,6 +3132,58 @@ location:
|
|||||||
in: body
|
in: body
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
log:
|
||||||
|
description: |
|
||||||
|
A ``log`` object.
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: object
|
||||||
|
log_enabled:
|
||||||
|
description: |
|
||||||
|
Indicates whether this log object is enabled or disabled.
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: boolean
|
||||||
|
log_enabled-request:
|
||||||
|
description: |
|
||||||
|
Indicates whether this log object is enabled or disabled.
|
||||||
|
Default is true.
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: boolean
|
||||||
|
log_enabled-request-put:
|
||||||
|
description: |
|
||||||
|
Indicates whether this log object is enabled or disabled.
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: boolean
|
||||||
|
log_event:
|
||||||
|
description: |
|
||||||
|
Type of security events to log.
|
||||||
|
``ACCEPT``, ``DROP``, or ``ALL``.
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
log_event-request:
|
||||||
|
description: |
|
||||||
|
Type of security events to log.
|
||||||
|
``ACCEPT``, ``DROP``, or ``ALL``.
|
||||||
|
Default is ``ALL``.
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
log_id:
|
||||||
|
description: |
|
||||||
|
The ID of the log object.
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
loggable_resources:
|
||||||
|
description: |
|
||||||
|
A list of ``loggable_resource`` object.
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: object
|
||||||
logging_resource:
|
logging_resource:
|
||||||
description: |
|
description: |
|
||||||
A ``logging_resource`` object.
|
A ``logging_resource`` object.
|
||||||
@ -3163,6 +3221,12 @@ logging_resources:
|
|||||||
in: body
|
in: body
|
||||||
required: true
|
required: true
|
||||||
type: array
|
type: array
|
||||||
|
logs:
|
||||||
|
description: |
|
||||||
|
A list of ``log`` objects.
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: array
|
||||||
mac_address:
|
mac_address:
|
||||||
description: |
|
description: |
|
||||||
The MAC address of the port.
|
The MAC address of the port.
|
||||||
@ -4575,6 +4639,36 @@ resource-rel:
|
|||||||
in: body
|
in: body
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
resource_log_id:
|
||||||
|
description: |
|
||||||
|
The ID of resource log (e.g security group ID).
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
resource_log_id-request:
|
||||||
|
description: |
|
||||||
|
The ID of resource log (e.g security group ID).
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
resource_log_type:
|
||||||
|
description: |
|
||||||
|
The resource log type such as 'security_group'.
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
resource_target_log_id:
|
||||||
|
description: |
|
||||||
|
The ID of resource target log such as port ID.
|
||||||
|
in: body
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
resource_target_log_id-request:
|
||||||
|
description: |
|
||||||
|
The ID of resource target log such as port ID.
|
||||||
|
in: body
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
resources:
|
resources:
|
||||||
description: |
|
description: |
|
||||||
List of resource objects.
|
List of resource objects.
|
||||||
|
7
api-ref/source/v2/samples/logs/log-create-request.json
Normal file
7
api-ref/source/v2/samples/logs/log-create-request.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"log": {
|
||||||
|
"name": "security group log",
|
||||||
|
"description": "Log for project demo.",
|
||||||
|
"resource_type": "security_group"
|
||||||
|
}
|
||||||
|
}
|
14
api-ref/source/v2/samples/logs/log-create-response.json
Normal file
14
api-ref/source/v2/samples/logs/log-create-response.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"log": {
|
||||||
|
"name": "security group log",
|
||||||
|
"description": "Log for project demo.",
|
||||||
|
"id": "46ebaec0-0570-43ac-82f6-60d2b03168c4",
|
||||||
|
"project_id": "92a5a4f4245a4abbafacb7ca73b027b0",
|
||||||
|
"tenant_id": "92a5a4f4245a4abbafacb7ca73b027b0",
|
||||||
|
"enabled": true,
|
||||||
|
"resource_type": "security_group",
|
||||||
|
"resource_id": null,
|
||||||
|
"target_id": null,
|
||||||
|
"event": "ALL"
|
||||||
|
}
|
||||||
|
}
|
16
api-ref/source/v2/samples/logs/log-list-response.json
Normal file
16
api-ref/source/v2/samples/logs/log-list-response.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"logs": [
|
||||||
|
{
|
||||||
|
"name": "security group log",
|
||||||
|
"description": "Log for project demo.",
|
||||||
|
"id": "46ebaec0-0570-43ac-82f6-60d2b03168c4",
|
||||||
|
"project_id": "92a5a4f4245a4abbafacb7ca73b027b0",
|
||||||
|
"tenant_id": "92a5a4f4245a4abbafacb7ca73b027b0",
|
||||||
|
"enabled": true,
|
||||||
|
"resource_type": "security_group",
|
||||||
|
"resource_id": null,
|
||||||
|
"target_id": null,
|
||||||
|
"event": "ALL"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
14
api-ref/source/v2/samples/logs/log-show-response.json
Normal file
14
api-ref/source/v2/samples/logs/log-show-response.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"log": {
|
||||||
|
"name": "security group log",
|
||||||
|
"description": "Log for project demo.",
|
||||||
|
"id": "46ebaec0-0570-43ac-82f6-60d2b03168c4",
|
||||||
|
"project_id": "8d4c70a21fed4aeba121a1a429ba0d04",
|
||||||
|
"tenant_id": "8d4c70a21fed4aeba121a1a429ba0d04",
|
||||||
|
"enabled": true,
|
||||||
|
"resource_type": "security_group",
|
||||||
|
"resource_id": null,
|
||||||
|
"target_id": null,
|
||||||
|
"event": "ACCEPT"
|
||||||
|
}
|
||||||
|
}
|
5
api-ref/source/v2/samples/logs/log-update-request.json
Normal file
5
api-ref/source/v2/samples/logs/log-update-request.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"log": {
|
||||||
|
"enabled": false
|
||||||
|
}
|
||||||
|
}
|
14
api-ref/source/v2/samples/logs/log-update-response.json
Normal file
14
api-ref/source/v2/samples/logs/log-update-response.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"log": {
|
||||||
|
"name": "security group log",
|
||||||
|
"description": "Log for project demo.",
|
||||||
|
"id": "46ebaec0-0570-43ac-82f6-60d2b03168c4",
|
||||||
|
"project_id": "8d4c70a21fed4aeba121a1a429ba0d04",
|
||||||
|
"tenant_id": "8d4c70a21fed4aeba121a1a429ba0d04",
|
||||||
|
"enabled": false,
|
||||||
|
"resource_type": "security_group",
|
||||||
|
"resource_id": null,
|
||||||
|
"target_id": null,
|
||||||
|
"event": "DROP"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"loggable_resources": [
|
||||||
|
{
|
||||||
|
"type": "security_group"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
3
releasenotes/notes/logging-api-ref-fafb884367ca60a2.yaml
Normal file
3
releasenotes/notes/logging-api-ref-fafb884367ca60a2.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- API reference for the logging extension for ``security_group`` resource.
|
Loading…
x
Reference in New Issue
Block a user