"$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
},
}
"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
"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
"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",
"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},
"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#",
"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"}}
},