commit adds "stateful-security-group" API extension to neutron-lib for implementing stateless security groups. Needed-By: https://review.opendev.org/572767 Partial-Bug: #1753466 Change-Id: I72addb21b7515d7120768c91e02660258959373e
		
			
				
	
	
		
			290 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			290 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
.. -*- rst -*-
 | 
						|
 | 
						|
=================================
 | 
						|
Security groups (security-groups)
 | 
						|
=================================
 | 
						|
 | 
						|
Lists, creates, shows information for, updates, and deletes
 | 
						|
security groups.
 | 
						|
 | 
						|
Resource timestamps
 | 
						|
===================
 | 
						|
 | 
						|
The ``standard-attr-timestamp`` extension adds the ``created_at`` and
 | 
						|
``updated_at`` attributes to all resources that have standard attributes.
 | 
						|
 | 
						|
Tag extension
 | 
						|
=============
 | 
						|
 | 
						|
The ``standard-attr-tag`` adds Tag support for resources with
 | 
						|
standard attributes by adding the ``tags`` attribute
 | 
						|
allowing consumers to associate tags with resources.
 | 
						|
 | 
						|
Stateful security groups extension (``stateful-security-group``)
 | 
						|
================================================================
 | 
						|
 | 
						|
The stateful security group extension (``stateful-security-group``) adds the
 | 
						|
``stateful`` field to security groups, allowing users to configure stateful
 | 
						|
or stateless security groups for ``ports``. The existing security groups
 | 
						|
will all be considered as stateful. Update of the ``stateful`` attribute is
 | 
						|
allowed when there is no port associated with the security group.
 | 
						|
 | 
						|
List security groups
 | 
						|
====================
 | 
						|
 | 
						|
.. rest_method::  GET /v2.0/security-groups
 | 
						|
 | 
						|
Lists OpenStack Networking security groups to which the project has access.
 | 
						|
 | 
						|
The response is an array of ``security_group`` objects which contains a list of
 | 
						|
``security_group_rules`` objects.
 | 
						|
 | 
						|
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>`__.
 | 
						|
 | 
						|
Normal response codes: 200
 | 
						|
 | 
						|
Error response codes: 401
 | 
						|
 | 
						|
Request
 | 
						|
-------
 | 
						|
 | 
						|
.. rest_parameters:: parameters.yaml
 | 
						|
 | 
						|
   - id: id-query
 | 
						|
   - tenant_id: project_id-query
 | 
						|
   - project_id: project_id-query
 | 
						|
   - revision_number: revision_number-query
 | 
						|
   - name: name-query
 | 
						|
   - description: description-query
 | 
						|
   - sort_dir: sort_dir
 | 
						|
   - sort_key: security_group-sort_key
 | 
						|
   - tags: tags-query
 | 
						|
   - tags-any: tags-any-query
 | 
						|
   - not-tags: not-tags-query
 | 
						|
   - not-tags-any: not-tags-any-query
 | 
						|
   - fields: fields
 | 
						|
 | 
						|
Response Parameters
 | 
						|
-------------------
 | 
						|
 | 
						|
.. rest_parameters:: parameters.yaml
 | 
						|
 | 
						|
   - security_groups: security_groups-obj
 | 
						|
   - id: security_group-id
 | 
						|
   - tenant_id: project_id
 | 
						|
   - project_id: project_id
 | 
						|
   - created_at: created_at_resource
 | 
						|
   - updated_at: updated_at_resource
 | 
						|
   - revision_number: revision_number
 | 
						|
   - name: name
 | 
						|
   - description: description
 | 
						|
   - security_group_rules: security_group_rules
 | 
						|
   - tags: tags
 | 
						|
   - stateful: stateful_enabled
 | 
						|
 | 
						|
Response Example
 | 
						|
----------------
 | 
						|
 | 
						|
.. literalinclude:: samples/security-groups/security-groups-list-response.json
 | 
						|
   :language: javascript
 | 
						|
 | 
						|
Create security group
 | 
						|
=====================
 | 
						|
 | 
						|
.. rest_method::  POST /v2.0/security-groups
 | 
						|
 | 
						|
Creates an OpenStack Networking security group.
 | 
						|
 | 
						|
This operation creates a security group with default security group
 | 
						|
rules for the IPv4 and IPv6 ether types.
 | 
						|
 | 
						|
Normal response codes: 201
 | 
						|
 | 
						|
Error response codes: 400, 401, 409
 | 
						|
 | 
						|
Request
 | 
						|
-------
 | 
						|
 | 
						|
.. rest_parameters:: parameters.yaml
 | 
						|
 | 
						|
   - security_group: security_group
 | 
						|
   - tenant_id: project_id
 | 
						|
   - project_id: project_id
 | 
						|
   - description: description-request
 | 
						|
   - name: name
 | 
						|
   - stateful: stateful_enabled
 | 
						|
 | 
						|
Request Example
 | 
						|
---------------
 | 
						|
 | 
						|
.. literalinclude:: samples/security-groups/security-group-create-request.json
 | 
						|
   :language: javascript
 | 
						|
 | 
						|
Response Parameters
 | 
						|
-------------------
 | 
						|
 | 
						|
.. rest_parameters:: parameters.yaml
 | 
						|
 | 
						|
   - security_group: security_group
 | 
						|
   - id: security_group-id
 | 
						|
   - tenant_id: project_id
 | 
						|
   - project_id: project_id
 | 
						|
   - created_at: created_at_resource
 | 
						|
   - updated_at: updated_at_resource
 | 
						|
   - revision_number: revision_number
 | 
						|
   - name: name
 | 
						|
   - description: description
 | 
						|
   - security_group_rules: security_group_rules
 | 
						|
   - tags: tags
 | 
						|
   - stateful: stateful_enabled
 | 
						|
 | 
						|
Response Example
 | 
						|
----------------
 | 
						|
 | 
						|
.. literalinclude:: samples/security-groups/security-group-create-response.json
 | 
						|
   :language: javascript
 | 
						|
 | 
						|
Show security group
 | 
						|
===================
 | 
						|
 | 
						|
.. rest_method::  GET /v2.0/security-groups/{security_group_id}
 | 
						|
 | 
						|
Shows details for a security group.
 | 
						|
 | 
						|
The associated security group rules are contained in the response.
 | 
						|
 | 
						|
Normal response codes: 200
 | 
						|
 | 
						|
Error response codes: 401, 404
 | 
						|
 | 
						|
Request
 | 
						|
-------
 | 
						|
 | 
						|
.. rest_parameters:: parameters.yaml
 | 
						|
 | 
						|
   - security_group_id: security_group-id-path
 | 
						|
   - verbose: verbose
 | 
						|
   - fields: fields
 | 
						|
 | 
						|
Request Example
 | 
						|
---------------
 | 
						|
 | 
						|
.. literalinclude:: samples/security-groups/security-group-show-request-json-http.txt
 | 
						|
   :language: javascript
 | 
						|
 | 
						|
Response Parameters
 | 
						|
-------------------
 | 
						|
 | 
						|
.. rest_parameters:: parameters.yaml
 | 
						|
 | 
						|
   - security_group: security_group
 | 
						|
   - id: security_group-id
 | 
						|
   - tenant_id: project_id
 | 
						|
   - project_id: project_id
 | 
						|
   - created_at: created_at_resource
 | 
						|
   - updated_at: updated_at_resource
 | 
						|
   - revision_number: revision_number
 | 
						|
   - name: name
 | 
						|
   - description: description
 | 
						|
   - security_group_rules: security_group_rules
 | 
						|
   - tags: tags
 | 
						|
   - stateful: stateful_enabled
 | 
						|
 | 
						|
Response Example
 | 
						|
----------------
 | 
						|
 | 
						|
.. literalinclude:: samples/security-groups/security-group-show-response.json
 | 
						|
   :language: javascript
 | 
						|
 | 
						|
Update security group
 | 
						|
=====================
 | 
						|
 | 
						|
.. rest_method::  PUT /v2.0/security-groups/{security_group_id}
 | 
						|
 | 
						|
Updates a security group.
 | 
						|
 | 
						|
Normal response codes: 200
 | 
						|
 | 
						|
Error response codes: 400, 401, 403, 404, 412
 | 
						|
 | 
						|
Request
 | 
						|
-------
 | 
						|
 | 
						|
.. rest_parameters:: parameters.yaml
 | 
						|
 | 
						|
   - security_group_id: security_group-id-path
 | 
						|
   - security_group: security_group
 | 
						|
   - description: description-request
 | 
						|
   - name: name
 | 
						|
 | 
						|
Request Example
 | 
						|
---------------
 | 
						|
 | 
						|
.. literalinclude:: samples/security-groups/security-group-update-request.json
 | 
						|
   :language: javascript
 | 
						|
 | 
						|
Response Parameters
 | 
						|
-------------------
 | 
						|
 | 
						|
.. rest_parameters:: parameters.yaml
 | 
						|
 | 
						|
   - security_group: security_group
 | 
						|
   - id: security_group-id
 | 
						|
   - tenant_id: project_id
 | 
						|
   - project_id: project_id
 | 
						|
   - created_at: created_at_resource
 | 
						|
   - updated_at: updated_at_resource
 | 
						|
   - revision_number: revision_number
 | 
						|
   - name: name
 | 
						|
   - description: description
 | 
						|
   - security_group_rules: security_group_rules
 | 
						|
   - tags: tags
 | 
						|
   - stateful: stateful_enabled
 | 
						|
 | 
						|
Response Example
 | 
						|
----------------
 | 
						|
 | 
						|
.. literalinclude:: samples/security-groups/security-group-update-response.json
 | 
						|
   :language: javascript
 | 
						|
 | 
						|
Delete security group
 | 
						|
=====================
 | 
						|
 | 
						|
.. rest_method::  DELETE /v2.0/security-groups/{security_group_id}
 | 
						|
 | 
						|
Deletes an OpenStack Networking security group.
 | 
						|
 | 
						|
This operation deletes an OpenStack Networking security group and
 | 
						|
its associated security group rules, provided that a port is not
 | 
						|
associated with the security group. If a port is associated with the security
 | 
						|
group 409 (Conflict) is returned.
 | 
						|
 | 
						|
This operation does not require a request body. This operation does
 | 
						|
not return a response body.
 | 
						|
 | 
						|
Normal response codes: 204
 | 
						|
 | 
						|
Error response codes: 401, 404, 409, 412
 | 
						|
 | 
						|
Request
 | 
						|
-------
 | 
						|
 | 
						|
.. rest_parameters:: parameters.yaml
 | 
						|
 | 
						|
   - security_group_id: security_group-id-path
 | 
						|
 | 
						|
Request Example
 | 
						|
---------------
 | 
						|
 | 
						|
.. literalinclude:: samples/security-groups/security-group-delete-request-json-http.txt
 | 
						|
   :language: javascript
 | 
						|
 | 
						|
Response
 | 
						|
--------
 | 
						|
 | 
						|
There is no body content for the response of a successful DELETE request.
 |