nat: add feature.yaml
And add support for multiple maintainers in JSON schema. Type: docs Change-Id: Ice430927ceecf53526a3fdf46c075a95206bf0ac Signed-off-by: Ole Troan <ot@cisco.com>
This commit is contained in:

committed by
Paul Vinciguerra

parent
8ef8f8f793
commit
e774a8b389
27
src/plugins/nat/FEATURE.yaml
Normal file
27
src/plugins/nat/FEATURE.yaml
Normal file
@ -0,0 +1,27 @@
|
||||
---
|
||||
name: Network Address Translation (NAT)
|
||||
maintainer:
|
||||
- Ole Troan <ot@cisco.com>
|
||||
- Filip Varga <fivarga@cisco.com>
|
||||
features:
|
||||
- NAT44:
|
||||
- 1:1 NAT
|
||||
- 1:1 NAT with ports
|
||||
- VRF awareness
|
||||
- Multiple inside interfaces
|
||||
- Hairpinning
|
||||
- IPFIX
|
||||
- Syslog
|
||||
- Endpoint dependent NAT
|
||||
- TCP MSS clamping
|
||||
- Local bypass (DHCP)
|
||||
- CGN - deterministic NAT
|
||||
- NAT64
|
||||
- NAT66
|
||||
- DS-lite
|
||||
- 464XLAT
|
||||
description: "The NAT plugin offers a multiple address translation functions.
|
||||
These can be used in a raft of different scenarios. CPE, CGN,
|
||||
etc."
|
||||
state: production
|
||||
properties: [API, CLI, STATS, MULTITHREAD]
|
@ -17,9 +17,9 @@ schema = {
|
||||
"properties": {
|
||||
"name": {"type": "string"},
|
||||
"description": {"type": "string"},
|
||||
"maintainer": {"type": "string"},
|
||||
"maintainer": {"$ref": "#/definitions/maintainers"},
|
||||
"state": {"type": "string",
|
||||
"enum": ["production", "experimental"]},
|
||||
"enum": ["production", "experimental", "development"]},
|
||||
"features": {"$ref": "#/definitions/features"},
|
||||
"missing": {"$ref": "#/definitions/features"},
|
||||
"properties": {"type": "array",
|
||||
@ -30,6 +30,14 @@ schema = {
|
||||
},
|
||||
"additionalProperties": False,
|
||||
"definitions": {
|
||||
"maintainers": {
|
||||
"anyof": [{
|
||||
"type": "array",
|
||||
"items": {"type": "string"},
|
||||
"minItems": 1,
|
||||
},
|
||||
{"type": "string"}],
|
||||
},
|
||||
"featureobject": {
|
||||
"type": "object",
|
||||
"patternProperties": {
|
||||
@ -86,6 +94,10 @@ def output_features(indent, fl):
|
||||
def output_markdown(features):
|
||||
for k, v in features.items():
|
||||
print('# {}'.format(v['name']))
|
||||
if type(v['maintainer']) is list:
|
||||
print('Maintainers: ' +
|
||||
', '.join('{}'.format(m) for m in v['maintainer']))
|
||||
else:
|
||||
print('Maintainer: {} '.format(v['maintainer']))
|
||||
print('State: {}\n'.format(v['state']))
|
||||
print('{}\n'.format(v['description']))
|
||||
|
Reference in New Issue
Block a user