# -*- coding: utf-8 -*-

##
# Copyright 2015 Telefónica Investigación y Desarrollo, S.A.U.
# This file is part of openvim
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# For those usages not covered by the Apache License, Version 2.0 please
# contact with: nfvlabs@tid.es
##

''' Definition of dictionaries schemas used by validating input
    These dictionaries are validated using jsonschema library
'''
__author__="Alfonso Tierno"
__date__ ="$10-jul-2014 12:07:15$"

#
# SCHEMAS to validate input data
#

path_schema={"type":"string", "pattern":"^(\.){0,2}(/[^/\"':{}\(\)]+)+$"}
http_schema={"type":"string", "pattern":"^https?://[^'\"=]+$"}
port_schema={"type":"integer","minimum":1,"maximun":65534}
ip_schema={"type":"string","pattern":"^([0-9]{1,3}.){3}[0-9]{1,3}$"}
cidr_schema={"type":"string","pattern":"^([0-9]{1,3}.){3}[0-9]{1,3}/[0-9]{1,2}$"}
name_schema={"type" : "string", "minLength":1, "maxLength":255, "pattern" : "^[^,;()'\"]+$"}
nameshort_schema={"type" : "string", "minLength":1, "maxLength":64, "pattern" : "^[^,;()'\"]+$"}
nametiny_schema={"type" : "string", "minLength":1, "maxLength":12, "pattern" : "^[^,;()'\"]+$"}
xml_text_schema={"type" : "string", "minLength":1, "maxLength":1000, "pattern" : "^[^']+$"}
description_schema={"type" : ["string","null"], "maxLength":255, "pattern" : "^[^'\"]+$"}
id_schema_fake = {"type" : "string", "minLength":2, "maxLength":36 }  #"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
id_schema = {"type" : "string", "pattern": "^[a-fA-F0-9]{8}(-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}$"}
pci_schema={"type":"string", "pattern":"^[0-9a-fA-F]{4}(:[0-9a-fA-F]{2}){2}\.[0-9a-fA-F]$"}
bandwidth_schema={"type":"string", "pattern" : "^[0-9]+ *([MG]bps)?$"}
integer0_schema={"type":"integer","minimum":0}
integer1_schema={"type":"integer","minimum":1}
vlan_schema={"type":"integer","minimum":1,"maximun":4095}
vlan1000_schema={"type":"integer","minimum":1000,"maximun":4095}
mac_schema={"type":"string", "pattern":"^[0-9a-fA-F][02468aceACE](:[0-9a-fA-F]{2}){5}$"}  #must be unicast LSB bit of MSB byte ==0 
net_bind_schema={"oneOf":[{"type":"null"},{"type":"string", "pattern":"^(default|((bridge|macvtap):[0-9a-zA-Z\.\-]{1,50})|openflow:[/0-9a-zA-Z\.\-]{1,50}(:vlan)?)$"}]}
yes_no_schema={"type":"string", "enum":["yes", "no"]}
log_level_schema={"type":"string", "enum":["DEBUG", "INFO", "WARNING","ERROR","CRITICAL"]}

config_schema = {
    "title":"main configuration information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "http_port": port_schema,
        "http_admin_port": port_schema,
        "http_host": nameshort_schema,
        "http_url_prefix": path_schema, # it does not work yet; it's supposed to be the base path to be used by bottle, but it must be explicitly declared
        "db_host": nameshort_schema,
        "db_user": nameshort_schema,
        "db_passwd": {"type":"string"},
        "db_name": nameshort_schema,
        "of_controller_ip": ip_schema,
        "of_controller_port": port_schema,
        "of_controller_dpid": nameshort_schema,
        "of_controller_nets_with_same_vlan": {"type" : "boolean"},
        "of_controller": nameshort_schema, #{"type":"string", "enum":["floodlight", "opendaylight"]},
        "of_controller_module": {"type":"string"},
        #"of_user": nameshort_schema,
        #"of_password": nameshort_schema,
        "test_mode": {"type": "boolean"}, #leave for backward compatibility
        "mode": {"type":"string", "enum":["normal", "host only", "OF only", "development", "test"] },
        "development_bridge": {"type":"string"},
        "tenant_id": {"type" : "string"},
        "image_path": path_schema,
        "network_vlan_range_start": vlan_schema,
        "network_vlan_range_end": vlan_schema,
        "bridge_ifaces": {
            "type": "object",
            "patternProperties": {
                "." : {
                    "type": "array", 
                    "items": integer0_schema,
                    "minItems":2,
                    "maxItems":2,
                },
            },
            "minProperties": 2
        },
        "dhcp_server": {
            "type": "object",
            "properties": {
                "host" : name_schema,
                "port" : port_schema,
                "provider" : {"type": "string", "enum": ["isc-dhcp-server"]},
                "user" : nameshort_schema,
                "password" : {"type": "string"},
                "key" : {"type": "string"},
                "bridge_ifaces" :{
                    "type": "array", 
                    "items": nameshort_schema,
                },
                "nets" :{
                    "type": "array", 
                    "items": name_schema,
                },
            },
            "required": ['host', 'provider', 'user']
        },
        "log_level": log_level_schema,
        "log_level_db": log_level_schema,
        "log_level_of": log_level_schema,
        "network_type": {"type": "string", "enum": ["ovs", "bridge"]},
        "ovs_controller_file_path": path_schema,
        "ovs_controller_user": nameshort_schema,

        "ovs_controller_ip": nameshort_schema
    },
    "patternProperties": {
        "of_*" : {"type": ["string", "integer", "boolean"]}
    },
    "required": ['db_host', 'db_user', 'db_passwd', 'db_name',
            'of_controller_ip', 'of_controller_port', 'of_controller_dpid', 'of_controller'],
    "additionalProperties": False
}



metadata_schema={
    "type":"object",
    "properties":{
        "architecture": {"type":"string"},
        "use_incremental": yes_no_schema,
        "vpci": pci_schema,
        "os_distro": {"type":"string"},
        "os_type": {"type":"string"},
        "os_version": {"type":"string"},
        "bus": {"type":"string"},
        "topology": {"type":"string", "enum": ["oneSocket"]}
    }
}

tenant_new_schema = {
    "title":"tenant creation information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "tenant":{
            "type":"object",
            "properties":{
                "id":id_schema,
                "name": nameshort_schema,
                "description":description_schema,
                "enabled":{"type" : "boolean"}
            },
            "required": ["name"]
        }
    },
    "required": ["tenant"],
    "additionalProperties": False
}
tenant_edit_schema = {
    "title":"tenant edition information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "tenant":{
            "type":"object",
            "minProperties":1,
            "properties":{
                "name":nameshort_schema,
                "description":description_schema,
                "enabled":{"type" : "boolean"}
            },
            "additionalProperties": False,
        }
    },
    "required": ["tenant"],
    "additionalProperties": False
}
interfaces_schema={
    "type":"array",
    "minItems":0,
    "items":{
        "type":"object",
        "properties":{
            "name":name_schema,
            "dedicated":{"type":"string","enum":["yes","no","yes:sriov"]},
            "bandwidth":bandwidth_schema,
            "vpci":pci_schema,
            "uuid":id_schema,
            "mac_address":mac_schema
        },
        "additionalProperties": False,
        "required": ["dedicated", "bandwidth"]
    }
}

extended_schema={
    "type":"object", 
    "properties":{                  
        "processor_ranking":integer0_schema,
        "devices":{
            "type": "array", 
            "items":{
                "type": "object",
                "properties":{
                    "type":{"type":"string", "enum":["usb","disk","cdrom","xml"]},
                    "vpci":pci_schema,
                    "imageRef":id_schema,
                    "xml":xml_text_schema,
                    "dev":nameshort_schema
                },
                "additionalProperties": False,
                "required": ["type"]
            }
        },
        "numas":{
            "type": "array",
            "items":{
                "type": "object",
                "properties":{
                    "memory":integer1_schema,
                    "cores":integer1_schema,
                    "paired-threads":integer1_schema,
                    "threads":integer1_schema,
                    "cores-id":{"type":"array","items":integer0_schema},
                    "paired-threads-id":{"type":"array","items":{"type":"array","minItems":2,"maxItems":2,"items":integer0_schema}},
                    "threads-id":{"type":"array","items":integer0_schema},
                    "interfaces":interfaces_schema
                },
                "additionalProperties": False,
                "minProperties": 1,
                #"required": ["memory"]
            }
        }
    },
    #"additionalProperties": False,
    #"required": ["processor_ranking"]
}

host_data_schema={
    "title":"hosts manual insertion information schema",
    "type":"object", 
    "properties":{                  
        "ip_name":nameshort_schema,
        "name": name_schema,
        "description":description_schema,
        "user":nameshort_schema,
        "password":nameshort_schema,
        "features":description_schema,
        "ranking":integer0_schema,
        "devices":{
            "type": "array", 
            "items":{
                "type": "object",
                "properties":{
                    "type":{"type":"string", "enum":["usb","disk"]},
                    "vpci":pci_schema
                },
                "additionalProperties": False,
                "required": ["type"]
            }
        },
        "numas":{
            "type": "array",
            "minItems":1,
            "items":{
                "type": "object",
                "properties":{
                    "admin_state_up":{"type":"boolean"},
                    "hugepages":integer0_schema,
                    "cores":{
                        "type": "array",
                        "minItems":2,
                        "items":{
                            "type": "object",
                            "properties":{
                                "core_id":integer0_schema,
                                "thread_id":integer0_schema,
                                "status": {"type":"string", "enum":["noteligible"]}
                            },
                            "additionalProperties": False,
                            "required": ["core_id","thread_id"]
                        }
                    },
                    "interfaces":{
                        "type": "array",
                        "minItems":1,
                        "items":{
                            "type": "object",
                            "properties":{
                                "source_name":nameshort_schema,
                                "mac":mac_schema,
                                "Mbps":integer0_schema,
                                "pci":pci_schema,
                                "sriovs":{
                                    "type": "array",
                                    "minItems":1,
                                    "items":{
                                        "type": "object",
                                        "properties":{
                                            "source_name":{"oneOf":[integer0_schema, nameshort_schema]},
                                            "mac":mac_schema,
                                            "vlan":integer0_schema, 
                                            "pci":pci_schema,
                                        },
                                        "additionalProperties": False,
                                        "required": ["source_name","mac","pci"]
                                    }
                                },
                                "switch_port": nameshort_schema,
                                "switch_dpid": nameshort_schema,
                            },
                            "additionalProperties": False,
                            "required": ["source_name","mac","Mbps","pci"]
                        }
                    },
                    "numa_socket":integer0_schema,
                    "memory":integer1_schema
                },
                "additionalProperties": False,
                "required": ["cores","numa_socket"]
            }
        }
    },
    "additionalProperties": False,
    "required": ["ranking", "numas","ip_name","user"]
}

host_edit_schema={
    "title":"hosts creation information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "host":{
            "type":"object",
            "properties":{
                "ip_name":nameshort_schema,
                "name": name_schema,
                "description":description_schema,
                "user":nameshort_schema,
                "password":nameshort_schema,
                "admin_state_up":{"type":"boolean"},
                "numas":{
                    "type":"array", 
                    "items":{
                        "type": "object",
                        "properties":{
                            "numa_socket": integer0_schema,
                            "admin_state_up":{"type":"boolean"},
                            "interfaces":{
                                "type":"array", 
                                "items":{
                                    "type": "object",
                                    "properties":{
                                        "source_name": nameshort_schema,
                                        "switch_dpid": nameshort_schema,
                                        "switch_port": nameshort_schema,
                                    },
                                    "required": ["source_name"],
                                }
                            }
                        }, 
                        "required": ["numa_socket"],
                        "additionalProperties": False,
                    }
                }
            },
            "minProperties": 1,
            "additionalProperties": False
        },
    },
    "required": ["host"],
    "minProperties": 1,
    "additionalProperties": False
}

host_new_schema = {
    "title":"hosts creation information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "host":{
            "type":"object",
            "properties":{
                "id":id_schema,
                "ip_name":nameshort_schema,
                "name": name_schema,
                "description":description_schema,
                "user":nameshort_schema,
                "password":nameshort_schema,
                "admin_state_up":{"type":"boolean"},
            },
            "required": ["name","ip_name","user"]
        },
        "host-data":host_data_schema
    },
    "required": ["host"],
    "minProperties": 1,
    "maxProperties": 2,
    "additionalProperties": False
}


flavor_new_schema = {
    "title":"flavor creation information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "flavor":{
            "type":"object",
            "properties":{
                "id":id_schema,
                "name":name_schema,
                "description":description_schema,
                "ram":integer0_schema,
                "vcpus":integer0_schema,
                "extended": extended_schema,
                "public": yes_no_schema
            },
            "required": ["name"]
        }
    },
    "required": ["flavor"],
    "additionalProperties": False
}
flavor_update_schema = {
    "title":"flavor update information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "flavor":{
            "type":"object",
            "properties":{
                "name":name_schema,
                "description":description_schema,
                "ram":integer0_schema,
                "vcpus":integer0_schema,
                "extended": extended_schema,
                "public": yes_no_schema
            },
            "minProperties": 1,
            "additionalProperties": False
        }
    },
    "required": ["flavor"],
    "additionalProperties": False
}

image_new_schema = {
    "title":"image creation information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "image":{
            "type":"object",
            "properties":{
                "id":id_schema,
                "path": {"oneOf": [path_schema, http_schema]},
                "description":description_schema,
                "name":name_schema,
                "metadata":metadata_schema,
                "public": yes_no_schema
            },
            "required": ["name","path"]
        }
    },
    "required": ["image"],
    "additionalProperties": False
}

image_update_schema = {
    "title":"image update information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "image":{
            "type":"object",
            "properties":{
                "path":{"oneOf": [path_schema, http_schema]},
                "description":description_schema,
                "name":name_schema,
                "metadata":metadata_schema,
                "public": yes_no_schema
            },
            "minProperties": 1,
            "additionalProperties": False
        }
    },
    "required": ["image"],
    "additionalProperties": False
}

networks_schema={
    "type":"array",
    "items":{
        "type":"object",
        "properties":{
            "name":name_schema,
            "bandwidth":bandwidth_schema,
            "vpci":pci_schema,
            "uuid":id_schema,
            "mac_address": mac_schema,
            "model": {"type":"string", "enum":["virtio","e1000","ne2k_pci","pcnet","rtl8139"]},
            "type": {"type":"string", "enum":["virtual","PF","VF","VFnotShared"]}
        },
        "additionalProperties": False,
        "required": ["uuid"]
    }
}

server_new_schema = {
    "title":"server creation information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "server":{
            "type":"object",
            "properties":{
                "id":id_schema,
                "name":name_schema,
                "description":description_schema,
                "start":{"type":"string", "enum":["yes","no","paused"]},
                "hostId":id_schema,
                "flavorRef":id_schema,
                "imageRef":id_schema,
                "extended": extended_schema,
                "networks":networks_schema
            },
            "required": ["name","flavorRef","imageRef"]
        }
    },
    "required": ["server"],
    "additionalProperties": False
}

server_action_schema = {
    "title":"server action information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "start":{"oneOf":[{"type": "null"}, {"type":"string", "enum":["rebuild","null"] }]},
        "pause":{"type": "null"},
        "resume":{"type": "null"},
        "shutoff":{"type": "null"},
        "shutdown":{"type": "null"},
        "forceOff":{"type": "null"},
        "terminate":{"type": "null"},
        "createImage":{
            "type":"object",
            "properties":{ 
                "path":path_schema,
                "description":description_schema,
                "name":name_schema,
                "metadata":metadata_schema,
                "imageRef": id_schema,
                "disk": {"oneOf":[{"type": "null"}, {"type":"string"}] },
            },
            "required": ["name"]
        },
        "rebuild":{"type": ["object","null"]},
        "reboot":{
            "type": ["object","null"],
#            "properties": {
#                "type":{"type":"string", "enum":["SOFT"] }
#            }, 
#            "minProperties": 1,
#            "maxProperties": 1,
#            "additionalProperties": False
        }
    },
    "minProperties": 1,
    "maxProperties": 1,
    "additionalProperties": False
}

network_new_schema = {
    "title":"network creation information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "network":{
            "type":"object",
            "properties":{
                "id":id_schema,
                "name":name_schema,
                "type":{"type":"string", "enum":["bridge_man","bridge_data","data", "ptp"]},
                "shared":{"type":"boolean"},
                "tenant_id":id_schema,
                "admin_state_up":{"type":"boolean"},
                "provider:vlan":vlan_schema,
                "provider:physical":net_bind_schema,
                "cidr":cidr_schema,
                "enable_dhcp": {"type":"boolean"},
                "dhcp_first_ip": ip_schema,
                "dhcp_last_ip": ip_schema,
                "bind_net":name_schema, #can be name, or uuid
                "bind_type":{"oneOf":[{"type":"null"},{"type":"string", "pattern":"^vlan:[0-9]{1,4}$"}]}
            },
            "required": ["name"]
        }
    },
    "required": ["network"],
    "additionalProperties": False
}

network_update_schema = {
    "title":"network update information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "network":{
            "type":"object",
            "properties":{
                "name":name_schema,
                "type":{"type":"string", "enum":["bridge_man","bridge_data","data", "ptp"]},
                "shared":{"type":"boolean"},
                "tenant_id":id_schema,
                "admin_state_up":{"type":"boolean"},
                "provider:vlan":vlan_schema, 
                "provider:physical":net_bind_schema,
                "cidr":cidr_schema,
                "enable_dhcp": {"type":"boolean"},
                # "dhcp_first_ip": ip_schema,
                # "dhcp_last_ip": ip_schema,
                "bind_net":name_schema, #can be name, or uuid
                "bind_type":{"oneOf":[{"type":"null"},{"type":"string", "pattern":"^vlan:[0-9]{1,4}$"}]}
            },
            "minProperties": 1,
            "additionalProperties": False
        }
    },
    "required": ["network"],
    "additionalProperties": False
}


port_new_schema = {
    "title":"port creation information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "port":{
            "type":"object",
            "properties":{
                "id":id_schema,
                "name":nameshort_schema,
                "network_id":{"oneOf":[{"type": "null"}, id_schema ]},
                "tenant_id":id_schema,
                "mac_address": {"oneOf":[{"type": "null"}, mac_schema] },
                "admin_state_up":{"type":"boolean"},
                "bandwidth":bandwidth_schema,
                "binding:switch_port":nameshort_schema,
                "binding:vlan": {"oneOf":[{"type": "null"}, vlan_schema ]}
            },
            "required": ["name"]
        }
    },
    "required": ["port"],
    "additionalProperties": False
}

port_update_schema = {
    "title":"port update information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "port":{
            "type":"object",
            "properties":{
                "name":nameshort_schema,
                "network_id":{"anyOf":[{"type":"null"}, id_schema ] }
            },
            "minProperties": 1,
            "additionalProperties": False
        }
    },
    "required": ["port"],
    "additionalProperties": False
}

localinfo_schema = {
    "title":"localinfo information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "files":{ "type": "object"},
        "inc_files":{ "type": "object"},
        "server_files":{ "type": "object"}
    },
    "required": ["files"]
}

hostinfo_schema = {
    "title":"host information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type":"object",
    "properties":{
        "iface_names":{
            "type":"object",
            "patternProperties":{
                ".":{ "type": "string"}
            },
            "minProperties": 1
        }
    },
    "required": ["iface_names"]
}

openflow_controller_schema = {
    "title": "network creation information schema",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "ofc": {
            "type": "object",
            "properties": {
                "name": name_schema,
                "dpid": nameshort_schema,
                "ip": nameshort_schema,
                "port": port_schema,
                "type": nameshort_schema,
                "version": nametiny_schema,
                "user": nameshort_schema,
                "password": nameshort_schema
            },
            "required": ["dpid", "type", "ip", "port", "name"]
        }
    },
    "required": ["ofc"],
    "additionalProperties": False
}