X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_ro%2Fopenmano_schemas.py;fp=osm_ro%2Fopenmano_schemas.py;h=4a7d5f597c538fe88ed6bd946e982b9792254b63;hb=7fe82640f590cc66a9b11adf0d25abceedf892de;hp=f717a4a6e79ac2d958f160164ad70b3f198fd3c8;hpb=a43bd9eccf7ce23220a928273e1b16341eeb26b9;p=osm%2FRO.git diff --git a/osm_ro/openmano_schemas.py b/osm_ro/openmano_schemas.py index f717a4a6..4a7d5f59 100644 --- a/osm_ro/openmano_schemas.py +++ b/osm_ro/openmano_schemas.py @@ -963,6 +963,30 @@ scenario_action_schema = { "additionalProperties": False } +instance_scenario_object = { + "title": "scenario object used to create an instance not based on any nsd", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "nets": { + "type": "array", + "minLength": 1, + "items": { + "type": "object", + "properties": { + "name": name_schema, + "external": {"type": "boolean"}, + "type": {"enum": ["bridge", "ptp", "data"]}, # for overlay, underlay E-LINE, underlay E-LAN + }, + "additionalProperties": False, + "required": ["name", "external", "type"] + } + } + }, + "additionalProperties": False, + "required": ["nets"] +} + instance_scenario_create_schema_v01 = { "title": "instance scenario create information schema v0.1", "$schema": "http://json-schema.org/draft-04/schema#", @@ -977,7 +1001,7 @@ instance_scenario_create_schema_v01 = { "name": name_schema, "description":description_schema, "datacenter": name_schema, - "scenario" : name_schema, #can be an UUID or name + "scenario" : {"oneOff": [name_schema, instance_scenario_object]}, # can be an UUID or name or a dict "action":{"enum": ["deploy","reserve","verify" ]}, "connect_mgmt_interfaces": {"oneOf": [{"type":"boolean"}, {"type":"object"}]},# can be true or a dict with datacenter: net_name "cloud-config": cloud_config_schema, #common to all vnfs in the instance scenario