X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_nbi%2Fvalidation.py;h=fc16f062602be428d2b0eb41d77b9f08b9e0c669;hb=7c6ea39a4a031c130c1b78b666d5ff0f8d3cc1da;hp=681a67dadc491e234f37131b2a21876737684a55;hpb=9ce43bb823f176ece9df2b7b1f70f8167db420be;p=osm%2FNBI.git diff --git a/osm_nbi/validation.py b/osm_nbi/validation.py index 681a67d..fc16f06 100644 --- a/osm_nbi/validation.py +++ b/osm_nbi/validation.py @@ -94,6 +94,10 @@ ip_schema = { "type": "string", "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", } +ipv6_schema = { + "type": "string", + "pattern": "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))", +} ip_prefix_schema = { "type": "string", "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}" @@ -330,7 +334,6 @@ ns_instantiate = { "nsName": name_schema, "nsDescription": {"oneOf": [description_schema, null_schema]}, "nsdId": id_schema, - "vcaId": id_schema, "vimAccountId": id_schema, "wimAccountId": {"oneOf": [id_schema, bool_schema, null_schema]}, "placement-engine": string_schema, @@ -351,7 +354,6 @@ ns_instantiate = { "properties": { "member-vnf-index": name_schema, "vimAccountId": id_schema, - "vcaId": id_schema, "vdu": { "type": "array", "minItems": 1, @@ -803,7 +805,7 @@ pdu_interface = { "name": shortname_schema, "mgmt": bool_schema, "type": {"enum": ["overlay", "underlay"]}, - "ip-address": ip_schema, + "ip-address": {"oneOf": [ip_schema, ipv6_schema]}, # TODO, add user, password, ssh-key "mac-address": mac_schema, "vim-network-name": shortname_schema, # interface is connected to one vim network, or switch port