X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_ro%2Fopenmano_schemas.py;h=41b65be3574c632cd8ded3a0ad67e2152f3c6fcc;hb=1f7d9d8e4e87be8c104fb93f133c2e68880a77c8;hp=f4cbcc8eed16f9cf4465636d74eb702df6e11522;hpb=16e3dd4ed7547fe4a4273c53a6deb23c00fdbfb3;p=osm%2FRO.git diff --git a/osm_ro/openmano_schemas.py b/osm_ro/openmano_schemas.py index f4cbcc8e..41b65be3 100644 --- a/osm_ro/openmano_schemas.py +++ b/osm_ro/openmano_schemas.py @@ -37,6 +37,8 @@ description_schema={"type" : ["string","null"], "maxLength":255, "pattern" : "^[ id_schema_fake = {"type" : "string", "minLength":2, "maxLength":36 } #"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" id_schema = {"type" : "string", "pattern": "^[a-fA-F0-9]{8}(-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}$"} pci_schema={"type":"string", "pattern":"^[0-9a-fA-F]{4}(:[0-9a-fA-F]{2}){2}\.[0-9a-fA-F]$"} +pci_extended_schema = {"type": "string", "pattern": "^[0-9a-fA-F.:-\[\]]$"} + http_schema={"type":"string", "pattern":"^https?://[^'\"=]+$"} bandwidth_schema={"type":"string", "pattern" : "^[0-9]+ *([MG]bps)?$"} memory_schema={"type":"string", "pattern" : "^[0-9]+ *([MG]i?[Bb])?$"} @@ -283,15 +285,17 @@ datacenter_associate_schema={ "type":"object", "properties":{ "datacenter":{ - "type":"object", - "properties":{ + "type": "object", + "properties": { + "name": name_schema, + "vim_id": id_schema, "vim_tenant": name_schema, "vim_tenant_name": name_schema, "vim_username": nameshort_schema, "vim_password": nameshort_schema, "config": {"type": "object"} }, -# "required": ["vim_tenant"], + # "required": ["vim_tenant"], "additionalProperties": True } }, @@ -308,7 +312,7 @@ dhcp_schema = { "start-address": {"OneOf": [{"type": "null"}, ip_schema]}, "count": integer0_schema }, - "required": ["enabled", "start-address", "count"], + # "required": ["start-address", "count"], } ip_profile_schema = { @@ -316,7 +320,7 @@ ip_profile_schema = { "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { - "ip-version": {"type": "string", "enum": ["IPv4","IPv6"]}, + "ip-version": {"type": "string", "enum": ["IPv4", "IPv6"]}, "subnet-address": ip_prefix_schema, "gateway-address": ip_schema, "dns-address": {"oneOf": [ip_schema, # for backward compatibility @@ -482,6 +486,7 @@ devices_schema={ "size": size_schema, "vpci":pci_schema, "xml":xml_text_schema, + "name": name_schema, }, "additionalProperties": False, "required": ["type"] @@ -812,7 +817,7 @@ nsd_schema_v03 = { "properties":{ "VNFC": name_schema, "local_iface_name": name_schema, - "ip_address": ip_schema + "ip_address": ip_schema, }, "required": ["VNFC", "local_iface_name"], } @@ -984,41 +989,48 @@ instance_scenario_create_schema_v01 = { #"metadata": {"type": "object"}, #"user_data": {"type": "string"} #"cloud-config": cloud_config_schema, #particular for a vnf - "external-connections": { + "vdus": { "type": "object", "patternProperties": { ".": { "type": "object", "properties": { - "vim-network-name": name_schema, - "ip_address": ip_schema - } + "name": name_schema, # overrides vdu name schema + "devices": { + "type": "object", + "patternProperties": { + ".": { + "vim_id": name_schema, + } + } + }, + "interfaces": { + "type": "object", + "patternProperties": { + ".": { + "ip_address": ip_schema, + "mac_address": mac_schema, + "floating-ip": {"type": "boolean"}, + } + } + } + } } } }, - "internal-connections": { + "networks": { "type": "object", "patternProperties": { ".": { "type": "object", "properties": { + "vim-network-name": name_schema, "ip-profile": ip_profile_schema, - "elements": { - "type" : "array", - "items":{ - "type":"object", - "properties":{ - "VNFC": name_schema, - "local_iface_name": name_schema, - "ip_address": ip_schema - }, - "required": ["VNFC", "local_iface_name"], - } - } - } + "name": name_schema, + } } } - } + }, } } }, @@ -1067,9 +1079,6 @@ instance_scenario_create_schema_v01 = { } } }, - - - } } }, @@ -1100,29 +1109,20 @@ instance_scenario_action_schema = { }, "add_public_key": description_schema, "console": {"type": ["string", "null"], "enum": ["novnc", "xvpvnc", "rdp-html5", "spice-html5", None]}, - "create-vdu": { + "vdu-scaling": { "type": "array", "items": { "type": "object", "properties": { "vdu-id": id_schema, + "osm_vdu_id": name_schema, + "member-vnf-index": name_schema, "count": integer1_schema, - }, - "additionalProperties": False, - "required": ["vdu-id"] - } - }, - "delete-vdu": { - "type": "array", - "items": { - "type": "object", - "properties": { - "vdu-id": id_schema, - "transaction-id": id_schema, + "type": {"enum": ["create", "delete"]} }, "additionalProperties": False, "minProperties": 1, - "maxProperties": 1, + "required": ["type"] } }, "vnfs": {"type": "array", "items": {"type": "string"}}, @@ -1190,7 +1190,7 @@ sdn_port_mapping_schema = { "items": { "type": "object", "properties": { - "pci": pci_schema, + "pci": pci_extended_schema, # pci_schema, "switch_port": nameshort_schema, "switch_mac": mac_schema },