X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_ro%2Fopenmano_schemas.py;h=dc3c9bf1aff94829b372552090385e9cadcca546;hb=7f426e900d00a76c3d583839f299982bbaf4c317;hp=fb12d9f16a09397988d77e11a196b4f7153d5283;hpb=8e690329e2c9e8bcbb7d3501037e3de1fbb7b942;p=osm%2FRO.git diff --git a/osm_ro/openmano_schemas.py b/osm_ro/openmano_schemas.py index fb12d9f1..dc3c9bf1 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])?$"} @@ -101,9 +103,9 @@ config_schema = { "http_console_host": nameshort_schema, "http_console_ports": { "type": "array", - "items": {"OneOf" : [ + "items": {"OneOf": [ port_schema, - {"type":"object", "properties":{"from": port_schema, "to": port_schema}, "required": ["from","to"]} + {"type": "object", "properties": {"from": port_schema, "to": port_schema}, "required": ["from", "to"]} ]} }, "log_level": log_level_schema, @@ -300,22 +302,22 @@ datacenter_associate_schema={ } dhcp_schema = { - "title":"DHCP schema", + "title": "DHCP schema", "$schema": "http://json-schema.org/draft-04/schema#", - "type":"object", + "type": "object", "properties":{ "enabled": {"type": "boolean"}, - "start-address": ip_schema, - "count": integer1_schema + "start-address": {"OneOf": [{"type": "null"}, ip_schema]}, + "count": integer0_schema }, "required": ["enabled", "start-address", "count"], } ip_profile_schema = { - "title":"IP profile schema", + "title": "IP profile schema", "$schema": "http://json-schema.org/draft-04/schema#", - "type":"object", - "properties":{ + "type": "object", + "properties": { "ip-version": {"type": "string", "enum": ["IPv4","IPv6"]}, "subnet-address": ip_prefix_schema, "gateway-address": ip_schema, @@ -546,7 +548,7 @@ vnfc_schema = { "availability_zone": name_schema, "VNFC image": {"oneOf": [path_schema, http_schema]}, "image checksum": checksum_schema, - "image metadata": metadata_schema, + "image metadata": metadata_schema, #"cloud-config": cloud_config_schema, #common for all vnfs in the scenario "processor": { "type":"object", @@ -598,6 +600,7 @@ vnfd_schema_v01 = { "class": nameshort_schema, "public": {"type" : "boolean"}, "physical": {"type" : "boolean"}, + "default_user": name_schema, "tenant_id": id_schema, #only valid for admin "external-connections": {"type" : "array", "items": external_connection_schema, "minItems":1}, "internal-connections": {"type" : "array", "items": internal_connection_schema, "minItems":1}, @@ -611,7 +614,7 @@ vnfd_schema_v01 = { "additionalProperties": False } -#VNFD schema for OSM R1 +#VNFD schema for OSM R1 vnfd_schema_v02 = { "title":"vnfd information schema v0.2", "$schema": "http://json-schema.org/draft-04/schema#", @@ -1083,23 +1086,49 @@ instance_scenario_create_schema_v01 = { } instance_scenario_action_schema = { - "title":"instance scenario action information schema", + "title": "instance scenario action information schema", "$schema": "http://json-schema.org/draft-04/schema#", - "type":"object", - "properties":{ - "start":{"type": "null"}, - "pause":{"type": "null"}, - "resume":{"type": "null"}, - "shutoff":{"type": "null"}, - "shutdown":{"type": "null"}, - "forceOff":{"type": "null"}, - "rebuild":{"type": "null"}, - "reboot":{ - "type": ["object","null"], + "type": "object", + "properties": { + "start": {"type": "null"}, + "pause": {"type": "null"}, + "resume": {"type": "null"}, + "shutoff": {"type": "null"}, + "shutdown": {"type": "null"}, + "forceOff": {"type": "null"}, + "rebuild": {"type": "null"}, + "reboot": { + "type": ["object", "null"], }, + "add_public_key": description_schema, "console": {"type": ["string", "null"], "enum": ["novnc", "xvpvnc", "rdp-html5", "spice-html5", None]}, - "vnfs":{"type": "array", "items":{"type":"string"}}, - "vms":{"type": "array", "items":{"type":"string"}} + "create-vdu": { + "type": "array", + "items": { + "type": "object", + "properties": { + "vdu-id": id_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, + }, + "additionalProperties": False, + "minProperties": 1, + "maxProperties": 1, + } + }, + "vnfs": {"type": "array", "items": {"type": "string"}}, + "vms": {"type": "array", "items": {"type": "string"}} }, "minProperties": 1, #"maxProperties": 1, @@ -1163,7 +1192,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 },