"db_user": nameshort_schema,
"db_passwd": {"type":"string"},
"db_name": nameshort_schema,
+ "db_ovim_host": nameshort_schema,
+ "db_ovim_user": nameshort_schema,
+ "db_ovim_passwd": {"type":"string"},
+ "db_ovim_name": nameshort_schema,
# Next fields will disappear once the MANO API includes appropriate primitives
"vim_url": http_schema,
"vim_url_admin": http_schema,
"log_level_nfvo": log_level_schema,
"log_level_http": log_level_schema,
"log_level_console": log_level_schema,
+ "log_level_ovim": log_level_schema,
"log_file_db": path_schema,
"log_file_vim": path_schema,
"log_file_nfvo": path_schema,
"log_file_http": path_schema,
"log_file_console": path_schema,
+ "log_file_ovim": path_schema,
"log_socket_host": nameshort_schema,
"log_socket_port": port_schema,
"log_file": path_schema,
},
- "required": ['db_host', 'db_user', 'db_passwd', 'db_name'],
+ "required": ['db_user', 'db_passwd', 'db_name'],
"additionalProperties": False
}
"$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
},
}
"properties":{
"name": name_schema,
"description": description_schema,
- "VNFC image": {"oneOf": [path_schema, http_schema]},
"image name": name_schema,
+ "availability_zone": name_schema,
+ "VNFC image": {"oneOf": [path_schema, http_schema]},
"image checksum": checksum_schema,
"image metadata": metadata_schema,
#"cloud-config": cloud_config_schema, #common for all vnfs in the scenario
"properties":{
"name": name_schema,
"description": description_schema,
+
"class": nameshort_schema,
"public": {"type" : "boolean"},
"physical": {"type" : "boolean"},
#"maxProperties": 1,
"additionalProperties": False
}
+
+sdn_controller_properties={
+ "name": name_schema,
+ "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"]},
+ "version": {"type" : "string", "minLength":1, "maxLength":12},
+ "user": nameshort_schema,
+ "password": passwd_schema
+}
+sdn_controller_schema = {
+ "title":"sdn controller information schema",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type":"object",
+ "properties":{
+ "sdn_controller":{
+ "type":"object",
+ "properties":sdn_controller_properties,
+ "required": ["name", "port", 'ip', 'dpid', 'type'],
+ "additionalProperties": False
+ }
+ },
+ "required": ["sdn_controller"],
+ "additionalProperties": False
+}
+
+sdn_controller_edit_schema = {
+ "title":"sdn controller update information schema",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type":"object",
+ "properties":{
+ "sdn_controller":{
+ "type":"object",
+ "properties":sdn_controller_properties,
+ "additionalProperties": False
+ }
+ },
+ "required": ["sdn_controller"],
+ "additionalProperties": False
+}
+
+sdn_port_mapping_schema = {
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title":"sdn port mapping information schema",
+ "type": "object",
+ "properties": {
+ "sdn_port_mapping": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "compute_node": nameshort_schema,
+ "ports": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "pci": pci_schema,
+ "switch_port": nameshort_schema,
+ "switch_mac": mac_schema
+ },
+ "required": ["pci"]
+ }
+ }
+ },
+ "required": ["compute_node", "ports"]
+ }
+ }
+ },
+ "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