X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_ro%2Fopenmano_schemas.py;h=34d3ba48688af1bb9a77909e2ef61813a0587ae3;hb=1cf93af988c854bc7ac566f6961acbedbb849a96;hp=ec1547815d5cc7d3e7c0a6d46a13a4977f3fe331;hpb=2935631c49a315fb078d05380569f7e1ca21fcde;p=osm%2FRO.git diff --git a/osm_ro/openmano_schemas.py b/osm_ro/openmano_schemas.py index ec154781..34d3ba48 100644 --- a/osm_ro/openmano_schemas.py +++ b/osm_ro/openmano_schemas.py @@ -101,9 +101,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 +300,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, @@ -386,7 +386,7 @@ internal_connection_schema = { "name": name_schema, "description":description_schema, "type":{"type":"string", "enum":["bridge","data","ptp"]}, - "elements": {"type" : "array", "items": internal_connection_element_schema, "minItems":2} + "elements": {"type" : "array", "items": internal_connection_element_schema, "minItems":1} }, "required": ["name", "type", "elements"], "additionalProperties": False @@ -400,7 +400,7 @@ internal_connection_schema_v02 = { "type": {"type": "string", "enum":["e-line", "e-lan"]}, "implementation": {"type": "string", "enum":["overlay", "underlay"]}, "ip-profile": ip_profile_schema, - "elements": {"type" : "array", "items": internal_connection_element_schema_v02, "minItems":2} + "elements": {"type" : "array", "items": internal_connection_element_schema_v02, "minItems":1} }, "required": ["name", "type", "implementation", "elements"], "additionalProperties": False @@ -541,11 +541,12 @@ vnfc_schema = { "properties":{ "name": name_schema, "description": description_schema, + "count": integer1_schema, "image name": name_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", @@ -597,6 +598,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}, @@ -610,7 +612,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#", @@ -1096,7 +1098,33 @@ instance_scenario_action_schema = { "reboot":{ "type": ["object","null"], }, + "add_public_key": description_schema, "console": {"type": ["string", "null"], "enum": ["novnc", "xvpvnc", "rdp-html5", "spice-html5", None]}, + "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"}} },