X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_ro%2Fopenmano_schemas.py;h=9e15ac5383565e7111b2383c797728ddb0bf9094;hb=ae501920e1c0e03c8571bece610dd5518e6e86b9;hp=1dfcffe4d524ccd3535aba7368fbeddfdde8ed02;hpb=05a8b7bc29197345f9718796c110d6cf3c2ad176;p=osm%2FRO.git diff --git a/osm_ro/openmano_schemas.py b/osm_ro/openmano_schemas.py index 1dfcffe4..9e15ac53 100644 --- a/osm_ro/openmano_schemas.py +++ b/osm_ro/openmano_schemas.py @@ -316,10 +316,11 @@ 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": ip_schema, + "dns-address": {"oneOf": [ip_schema, # for backward compatibility + {"type": "array", "items": ip_schema}]}, "dhcp": dhcp_schema }, } @@ -385,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 @@ -399,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 @@ -540,10 +541,12 @@ vnfc_schema = { "properties":{ "name": name_schema, "description": description_schema, - "VNFC image": {"oneOf": [path_schema, http_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", @@ -591,9 +594,11 @@ vnfd_schema_v01 = { "properties":{ "name": name_schema, "description": description_schema, + "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}, @@ -607,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#", @@ -1093,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"}} }, @@ -1104,7 +1135,7 @@ instance_scenario_action_schema = { sdn_controller_properties={ "name": name_schema, - "dpid": {"type":"string", "pattern":"^[0-9a-fA-F][02468aceACE](:[0-9a-fA-F]{2}){7}$"}, + "dpid": {"type":"string", "pattern":"^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){7}$"}, "ip": ip_schema, "port": port_schema, "type": {"type": "string", "enum": ["opendaylight","floodlight","onos"]}, @@ -1172,4 +1203,16 @@ sdn_port_mapping_schema = { } }, "required": ["sdn_port_mapping"] +} + +sdn_external_port_schema = { + "$schema": "http://json-schema.org/draft-04/schema#", + "title":"External port ingformation", + "type": "object", + "properties": { + "port": {"type" : "string", "minLength":1, "maxLength":60}, + "vlan": vlan_schema, + "mac": mac_schema + }, + "required": ["port"] } \ No newline at end of file