-
Notifications
You must be signed in to change notification settings - Fork 5
/
api-docs.json
1 lines (1 loc) · 60.5 KB
/
api-docs.json
1
{"openapi":"3.0.1","info":{"title":"Verefoo REST API Online Swagger documentation","description":"This is the automatically-generated documentation of the Verefoo's REST APIs, in the format of an openapi file, compliant with Swagger version 3, here shown in a user-friendly interface.","version":"Dublin"},"servers":[{"url":"http://localhost:8085/verefoo","description":"ADP module server"}],"tags":[{"name":"graphs"},{"name":"requirements"},{"name":"simulations"},{"name":"substrates"}],"paths":{"/adp/requirements":{"get":{"tags":["requirements"],"summary":"Get all the requirement sets","operationId":"getRequirementsSets","responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesListPropertyDefinition"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesListPropertyDefinition"}}}},"404":{"description":"No requirement set has been found in the workspace.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesListPropertyDefinition"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesListPropertyDefinition"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesListPropertyDefinition"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesListPropertyDefinition"}}}}}},"post":{"tags":["requirements"],"summary":"Create a requirement set","operationId":"createRequirementsSet","requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/PropertyDefinition"}},"application/json":{"schema":{"$ref":"#/components/schemas/PropertyDefinition"}}}},"responses":{"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}},"201":{"description":"Created","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}},"424":{"description":"The referenced graph doesn't exist.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}}}},"delete":{"tags":["requirements"],"summary":"Delete all the requirement sets","description":"Be careful before cleaning the whole workbench of requirements.","operationId":"deleteRequirementsSets","responses":{"200":{"description":"default response"},"304":{"description":"No requirement set has been found."},"400":{"description":"The provided resource is not compliant with the data model."}}}},"/adp/requirements/{rid}":{"get":{"tags":["requirements"],"summary":"Get a requirement set","operationId":"getRequirementsSet","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesPropertyDefinition"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesPropertyDefinition"}}}},"404":{"description":"The requirement doesn't exist at all in the workspace.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesPropertyDefinition"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesPropertyDefinition"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesPropertyDefinition"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesPropertyDefinition"}}}}}},"put":{"tags":["requirements"],"summary":"Update a requirement set","operationId":"updateRequirementsSet","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/PropertyDefinition"}},"application/json":{"schema":{"$ref":"#/components/schemas/PropertyDefinition"}}}},"responses":{"404":{"description":"The requirement set has not been found."},"400":{"description":"The provided resource is not compliant with the data model."},"200":{"description":"OK"},"424":{"description":"The referenced graph doesn't exist."}}},"delete":{"tags":["requirements"],"summary":"Delete a requirement set","operationId":"deleteRequirementsSet","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response"},"404":{"description":"The requirement doesn't exist at all in the workspace."},"400":{"description":"The provided resource is not compliant with the data model."}}}},"/adp/requirements/{rid}/properties":{"post":{"tags":["requirements"],"summary":"Create another property in a requirement set","operationId":"createProperty","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Property"}},"application/json":{"schema":{"$ref":"#/components/schemas/Property"}}}},"responses":{"404":{"description":"The requirements set has not been found.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}},"201":{"description":"Created","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}},"424":{"description":"The referred graph doesn't exist.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}}}}},"/adp/requirements/{rid}/properties/{pid}":{"get":{"tags":["requirements"],"summary":"Get a property from a requirement set","operationId":"getProperty","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"pid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesProperty"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesProperty"}}}},"404":{"description":"The property doesn't exist at all in the workspace.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesProperty"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesProperty"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesProperty"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesProperty"}}}}}},"put":{"tags":["requirements"],"summary":"Update a property in a requirement set","operationId":"updateProperty","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"pid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Property"}},"application/json":{"schema":{"$ref":"#/components/schemas/Property"}}}},"responses":{"200":{"description":"default response"},"424":{"description":"The referred graph has not been found."},"404":{"description":"The property has not been found."},"400":{"description":"The provided resource is not compliant with the data model."}}},"delete":{"tags":["requirements"],"summary":"Delete a property from a requirement set","operationId":"deleteProperty","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"pid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response"},"404":{"description":"The property doesn't exist at all in the workspace."},"400":{"description":"The provided resource is not compliant with the data model."}}}},"/adp/simulations":{"get":{"tags":["simulations"],"summary":"Get the result of a past simulation","description":"This API is not intended to run a new simulation.","operationId":"getSimulationResults","responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesListNFV"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesListNFV"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesListNFV"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesListNFV"}}}},"404":{"description":"No simulation results currently exist in the workspace. You can start by performing a new simulation.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesListNFV"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesListNFV"}}}}}},"post":{"tags":["simulations"],"summary":"Run a simulation by passing the actual NFV","description":"This is an all-in-one service, since the relative data structures (like graphs) are created automatically and they will be retrievable with the pertinent APIs separately.","operationId":"runSimulationByNFV","parameters":[{"name":"fid","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["FIREWALL","ENDHOST","ENDPOINT","ANTISPAM","CACHE","DPI","DPI_S","MAILCLIENT","MAILSERVER","NAT","VPNACCESS","VPNEXIT","WEBCLIENT","WEBSERVER","FIELDMODIFIER","FORWARDER","LOADBALANCER","STATEFUL_FIREWALL","PRIORITY_FIREWALL","WEB_APPLICATION_FIREWALL","TRAFFIC_MONITOR"]}}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/NFV"}},"application/json":{"schema":{"$ref":"#/components/schemas/NFV"}}}},"responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesNFV"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesNFV"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesNFV"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesNFV"}}}}}},"delete":{"tags":["simulations"],"summary":"Delete all the results of past simulations","operationId":"deleteSimulationResults","responses":{"200":{"description":"default response"},"400":{"description":"The provided resource is not compliant with the data model."},"304":{"description":"No simulation results are in the workspace at all."}}}},"/adp/simulations/byParams":{"post":{"tags":["simulations"],"summary":"Run a simulation by passing references to data structures","description":"At the moment, neither network forwarding paths nor the parsing string can be passed; use the other simulation API instead.","operationId":"runSimulationByParams","parameters":[{"name":"gid","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"rid","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sid","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"fid","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["FIREWALL","ENDHOST","ENDPOINT","ANTISPAM","CACHE","DPI","DPI_S","MAILCLIENT","MAILSERVER","NAT","VPNACCESS","VPNEXIT","WEBCLIENT","WEBSERVER","FIELDMODIFIER","FORWARDER","LOADBALANCER","STATEFUL_FIREWALL","PRIORITY_FIREWALL","WEB_APPLICATION_FIREWALL","TRAFFIC_MONITOR"]}}}],"responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}},"404":{"description":"At least one resource referenced by some parameter doesn't exist in the workspace.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}}}}},"/adp/simulations/{smid}":{"get":{"tags":["simulations"],"summary":"Get the result of a past simulation","description":"This API is not intended to run a new simulation.","operationId":"getSimulationResult","parameters":[{"name":"smid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesNFV"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesNFV"}}}},"404":{"description":"The requested simulation doesn't exist in the workspace.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesNFV"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesNFV"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesNFV"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesNFV"}}}}}},"delete":{"tags":["simulations"],"summary":"Delete the result of a past simulation","operationId":"deleteSimulationResult","parameters":[{"name":"smid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response"},"404":{"description":"The requested simulation doesn't exist in the workspace."},"400":{"description":"The provided resource is not compliant with the data model."}}}},"/adp/substrates/{sid}/hosts":{"get":{"tags":["substrates"],"summary":"Get the collection of hosts in the substrate","operationId":"getHosts","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesHosts"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesHosts"}}}},"404":{"description":"The substrate doesn't exist at all in the workspace.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesHosts"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesHosts"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesHosts"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesHosts"}}}}}},"post":{"tags":["substrates"],"summary":"Add a collection of hosts in the substrate","operationId":"createHosts","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Hosts"}},"application/json":{"schema":{"$ref":"#/components/schemas/Hosts"}}}},"responses":{"404":{"description":"The substrate doesn't exist at all in the workspace."},"400":{"description":"The provided resource is not compliant with the data model."},"201":{"description":"Created"}}},"delete":{"tags":["substrates"],"summary":"Delete the list of hosts in the substrate","description":"The list is deleted only if no connections exists.","operationId":"deleteHosts","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response"},"404":{"description":"The substrate doesn't exist at all in the workspace."},"400":{"description":"The provided resource is not compliant with the data model."}}}},"/adp/substrates":{"get":{"tags":["substrates"],"summary":"Get all substrates ids","operationId":"getSubstrates","responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesListLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesListLong"}}}},"404":{"description":"No substrates have been found.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesListLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesListLong"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesListLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesListLong"}}}}}},"post":{"tags":["substrates"],"summary":"Create an empty substrate","description":"Create a new physical network","operationId":"createSubstrate","responses":{"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}},"201":{"description":"Created","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}}}},"delete":{"tags":["substrates"],"summary":"Delete all the substrates","description":"Be careful before cleaning the whole substrate workbench.","operationId":"deleteSubstrates","responses":{"200":{"description":"default response"},"400":{"description":"The provided resource is not compliant with the data model."},"304":{"description":"No substrate exists at all in the workspace."}}}},"/adp/substrates/{sid}":{"delete":{"tags":["substrates"],"summary":"Delete a substrate","description":"The operation deletes all the hosts and connections of the substrate accordingly.","operationId":"deleteSubstrate","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response"},"404":{"description":"The selected substrate doesn't exist at all."},"400":{"description":"The provided resource is not compliant with the data model."}}}},"/adp/substrates/{sid}/hosts/{hid}":{"get":{"tags":["substrates"],"summary":"Get a host in a substrate","operationId":"getHost","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"hid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesHost"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesHost"}}}},"404":{"description":"The host doesn't exist at all in the workspace.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesHost"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesHost"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesHost"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesHost"}}}}}},"put":{"tags":["substrates"],"summary":"Update a host in a substrate","operationId":"updateHost","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"hid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Host"}},"application/json":{"schema":{"$ref":"#/components/schemas/Host"}}}},"responses":{"200":{"description":"default response"},"404":{"description":"The host doesn't exist at all in the workspace."},"424":{"description":"One referred node doesn't exist."},"400":{"description":"The provided resource is not compliant with the data model."}}},"delete":{"tags":["substrates"],"summary":"Delete a host","description":"The host is deleted only if it is not implied in any connection.","operationId":"deleteHost","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"hid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"default response"},"404":{"description":"The host doesn't exist at all in the workspace."},"400":{"description":"The provided resource is not compliant with the data model."}}}},"/adp/substrates/{sid}/connections":{"get":{"tags":["substrates"],"summary":"Get all the connections of a substrate","operationId":"getConnections","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesConnections"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesConnections"}}}},"404":{"description":"The substrate doesn't exist at all in the workspace.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesConnections"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesConnections"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesConnections"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesConnections"}}}}}},"put":{"tags":["substrates"],"summary":"Change all the connections between hosts in a substrate.","description":"The old connections will be lost.","operationId":"updateConnections","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Connections"}},"application/json":{"schema":{"$ref":"#/components/schemas/Connections"}}}},"responses":{"404":{"description":"The substrate doesn't exist. You can create a new substrate or refer to another one."},"400":{"description":"The provided resource is not compliant with the data model."},"200":{"description":"OK"},"424":{"description":"The connections cannot be established between the hosts because at least one of them doesn't exist in the workspace."}}},"post":{"tags":["substrates"],"summary":"Create a list of connections between hosts in the substrate","description":"The hosts must already exist. If some connections already exist, the new connections are just added; the duplicates are discarded.","operationId":"createConnections","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Connections"}},"application/json":{"schema":{"$ref":"#/components/schemas/Connections"}}}},"responses":{"400":{"description":"The provided resource is not compliant with the data model."},"201":{"description":"Created"},"424":{"description":"The connections cannot be established between the hosts because at least one of them doesn't exist in the workspace."}}},"delete":{"tags":["substrates"],"summary":"Delete all the connections of a substrate","operationId":"deleteConnections","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response"},"404":{"description":"The substrate doesn't exist at all in the workspace."},"400":{"description":"The provided resource is not compliant with the data model."}}}},"/fwd/nodes/{nid}/configuration/firewall/{eid}":{"get":{"tags":["nodes-controller"],"operationId":"getPolicy","parameters":[{"name":"eid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Elements"}}}}}},"put":{"tags":["nodes-controller"],"operationId":"updatePolicy","parameters":[{"name":"eid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Elements"}}}},"responses":{"204":{"description":"default response"}}},"delete":{"tags":["nodes-controller"],"operationId":"deletePolicy","parameters":[{"name":"eid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"default response"}}}},"/fwd/nodes":{"get":{"tags":["nodes-controller"],"operationId":"getNodes","parameters":[{"name":"beforeInclusive","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"afterInclusive","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10}}],"responses":{"200":{"description":"default response","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Node"}}}}}}},"delete":{"tags":["nodes-controller"],"operationId":"deleteNodes","responses":{"204":{"description":"default response"}}}},"/fwd/nodes/{nid}":{"get":{"tags":["nodes-controller"],"operationId":"getNode","parameters":[{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Node"}}}}}},"put":{"tags":["nodes-controller"],"operationId":"updateNode","parameters":[{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Node"}}}},"responses":{"204":{"description":"default response"}}},"delete":{"tags":["nodes-controller"],"operationId":"deleteNode","parameters":[{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"default response"}}}},"/fwd/nodes/{nid}/configuration":{"put":{"tags":["nodes-controller"],"operationId":"updateConfiguration","parameters":[{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Configuration"}}}},"responses":{"204":{"description":"default response"}}}},"/adp/venvironment/generateFiles":{"post":{"tags":["vnetworkTranslator"],"summary":"Generate virtual network files from the provided FAS","operationId":"generateFiles","parameters":[{"name":"firewallType","in":"query","required":true,"schema":{"type":"string","enum":["IPTABLES","ALL"]}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/NFV"}}}},"responses":{"200":{"description":"default response"},"400":{"description":"The provided resource is not compliant with the data model."}}}},"/adp/graphs/{gid}/nodes/{nid}/configuration":{"get":{"tags":["graphs"],"summary":"Get the configuration of a node","operationId":"getConfiguration","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesConfiguration"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesConfiguration"}}}},"404":{"description":"The graph or the node doesn't exist at all.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesConfiguration"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesConfiguration"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesConfiguration"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesConfiguration"}}}}}}},"/adp/graphs/{gid}/constraints":{"get":{"tags":["graphs"],"summary":"Get the constraints of a graph","operationId":"getConstraints","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesConstraints"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesConstraints"}}}},"404":{"description":"The graph doesn't exist at all.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesConstraints"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesConstraints"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesConstraints"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesConstraints"}}}}}},"put":{"tags":["graphs"],"summary":"Update constraints of a graph","description":"update the constraints of a graph","operationId":"updateConstraints","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Constraints"}},"application/json":{"schema":{"$ref":"#/components/schemas/Constraints"}}}},"responses":{"200":{"description":"default response"},"404":{"description":"The graph doesn't exist at all."},"400":{"description":"The provided resource is not compliant with the data model."}}},"post":{"tags":["graphs"],"summary":"Create a set of constraints in a graph","description":"If the constraints already exists, the new ones replace them in a shallow way.","operationId":"createConstraints","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Constraints"}},"application/json":{"schema":{"$ref":"#/components/schemas/Constraints"}}}},"responses":{"404":{"description":"The graph doesn't exist at all."},"400":{"description":"The provided resource is not compliant with the data model."},"201":{"description":"Created"}}},"delete":{"tags":["graphs"],"summary":"Delete all the constraints of a graph","operationId":"deleteConstraints","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response"},"404":{"description":"The graph doesn't exist at all."},"400":{"description":"The provided resource is not compliant with the data model."}}}},"/adp/graphs":{"get":{"tags":["graphs"],"summary":"Get all the graphs","operationId":"getGraphs","responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesGraphs"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesGraphs"}}}},"404":{"description":"No graphs currently exist in the workspace. You can start by creating a new graph","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesGraphs"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesGraphs"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesGraphs"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesGraphs"}}}}}},"post":{"tags":["graphs"],"summary":"Create a graph","description":"The graph's id in the request, if provided, is neglected; instead, the system automatically generates, stores the id for all the graphs and puts them in the response.","operationId":"createGraphs","requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Graphs"}},"application/json":{"schema":{"$ref":"#/components/schemas/Graphs"}}}},"responses":{"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesListLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesListLong"}}}},"201":{"description":"Created","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesListLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesListLong"}}}}}},"delete":{"tags":["graphs"],"summary":"Delete all the graphs","description":"Be careful before cleaning the whole workbench of graphs.","operationId":"deleteGraphs","responses":{"424":{"description":"No graph has been deleted because at least one of them is referred by other resources; you must first delete the interested resources."},"200":{"description":"default response"},"304":{"description":"No graph exists at all in the workspace."},"400":{"description":"The provided resource is not compliant with the data model."}}}},"/adp/graphs/{gid}":{"get":{"tags":["graphs"],"summary":"Get a graph","operationId":"getGraph","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"404":{"description":"The graph doesn't exist in the workspace.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesGraph"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesGraph"}}}},"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesGraph"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesGraph"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesGraph"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesGraph"}}}}}},"put":{"tags":["graphs"],"summary":"Update a graph","description":"It's advisable to explicitly perform a get of the modified resource through the pertinent API, since some ids may have been changed.","operationId":"updateGraph","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Graph"}},"application/json":{"schema":{"$ref":"#/components/schemas/Graph"}}}},"responses":{"200":{"description":"default response"},"400":{"description":"The provided resource is not compliant with the data model."},"404":{"description":"The graph or one of its sub-resources doesn't exist. Check the ids of the submitted resources."}}},"delete":{"tags":["graphs"],"summary":"Delete a graph","description":"All the nested resources are deleted accordingly. In case the graph is referred by other resources, the operation is not performed and the workspace is not modified.","operationId":"deleteGraph","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response"},"409":{"description":"The graph could not be deleted because it is referenced by other resources; you must first delete the interested resources."},"400":{"description":"The provided resource is not compliant with the data model."},"404":{"description":"The graph doesn't exist at all in the workspace."}}}},"/adp/graphs/{gid}/nodes/{nid}/neighbours":{"post":{"tags":["graphs"],"summary":"Add a neighbour to a node","description":"add a new neighbour","operationId":"createNeighbour","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Neighbour"}},"application/json":{"schema":{"$ref":"#/components/schemas/Neighbour"}}}},"responses":{"404":{"description":"The graph or the node doesn't exist at all.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}},"201":{"description":"Created","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}}}}},"/adp/graphs/{gid}/nodes/{noid}/neighbours/{neid}":{"delete":{"tags":["graphs"],"summary":"Delete a neighbour of a node","description":"delete a neighbour","operationId":"deleteNeighbour","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"noid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"neid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response"},"404":{"description":"The graph, the node or its neighbour doesn't exist at all."},"400":{"description":"The provided resource is not compliant with the data model."}}}},"/adp/graphs/{gid}/nodes":{"post":{"tags":["graphs"],"summary":"Create a node in a graph","description":"The neighbours and the configuration are considered too eventually.","operationId":"createNode","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Node"}},"application/json":{"schema":{"$ref":"#/components/schemas/Node"}}}},"responses":{"404":{"description":"The graph doesn't exist at all.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}},"201":{"description":"Created","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesLong"}}}}}}},"/adp/graphs/{gid}/nodes/{nid}":{"get":{"tags":["graphs"],"summary":"Get a node","operationId":"getNode_1","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesNode"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesNode"}}}},"404":{"description":"The graph or the node doesn't exist at all.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesNode"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesNode"}}}},"400":{"description":"The provided resource is not compliant with the data model.","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/ResourcesNode"}},"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesNode"}}}}}},"put":{"tags":["graphs"],"summary":"Update a node in a graph","description":"All the nested resources are replaced in a shallow way, besides the neighbours; that field is totally neglected.","operationId":"updateNode_1","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Node"}},"application/json":{"schema":{"$ref":"#/components/schemas/Node"}}}},"responses":{"200":{"description":"default response"},"404":{"description":"The graph or the node doesn't exist at all."},"400":{"description":"The provided resource is not compliant with the data model."}}},"delete":{"tags":["graphs"],"summary":"Delete a node","operationId":"deleteNode_1","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response"},"404":{"description":"The graph or the node doesn't exist at all."},"409":{"description":"The node could not have been deleted, because it is referred by other resources; first delete the interested resources."},"400":{"description":"The provided resource is not compliant with the data model."}}}},"/adp/graphs/{gid}/nodes/{nid}/configuration/{cid}":{"put":{"tags":["graphs"],"summary":"Update the configuration of a node","operationId":"updateConfiguration_1","parameters":[{"name":"gid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"cid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Configuration"}},"application/json":{"schema":{"$ref":"#/components/schemas/Configuration"}}}},"responses":{"200":{"description":"default response"},"404":{"description":"The graph or the node doesn't exist at all."},"400":{"description":"The provided resource is not compliant with the data model."}}}},"/fwd/deploy/getOpenVswitch/{nid}":{"get":{"tags":["deployer-controller"],"operationId":"getOpenvswitch","parameters":[{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response"}}}},"/fwd/deploy/getIptables/{nid}":{"get":{"tags":["deployer-controller"],"operationId":"getIptables","parameters":[{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response"}}}},"/fwd/deploy/getFortinet/{nid}":{"get":{"tags":["deployer-controller"],"operationId":"getFortinet","parameters":[{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response"}}}},"/fwd/deploy/getIpfw/{nid}":{"get":{"tags":["deployer-controller"],"operationId":"getIpfw","parameters":[{"name":"nid","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response"}}}}},"components":{"schemas":{"AllocationConstraint":{"type":"object","properties":{"type":{"type":"string","xml":{"attribute":true},"enum":["FORBIDDEN","FORCED"]},"nodeA":{"type":"string","xml":{"attribute":true}},"nodeB":{"type":"string","xml":{"attribute":true}}}},"AllocationConstraints":{"type":"object","properties":{"allocationConstraint":{"type":"array","xml":{"name":"AllocationConstraint"},"items":{"$ref":"#/components/schemas/AllocationConstraint"}}},"xml":{"name":"AllocationConstraints"}},"Antispam":{"type":"object","properties":{"source":{"type":"array","items":{"type":"string"}}},"xml":{"name":"antispam"}},"Cache":{"required":["resource"],"type":"object","properties":{"resource":{"type":"array","items":{"type":"string"}}},"xml":{"name":"cache"}},"Configuration":{"type":"object","properties":{"firewall":{"$ref":"#/components/schemas/Firewall"},"endhost":{"$ref":"#/components/schemas/Endhost"},"endpoint":{"$ref":"#/components/schemas/Endpoint"},"antispam":{"$ref":"#/components/schemas/Antispam"},"cache":{"$ref":"#/components/schemas/Cache"},"dpi":{"$ref":"#/components/schemas/Dpi"},"mailclient":{"$ref":"#/components/schemas/Mailclient"},"mailserver":{"$ref":"#/components/schemas/Mailserver"},"nat":{"$ref":"#/components/schemas/Nat"},"vpnaccess":{"$ref":"#/components/schemas/Vpnaccess"},"vpnexit":{"$ref":"#/components/schemas/Vpnexit"},"webclient":{"$ref":"#/components/schemas/Webclient"},"webserver":{"$ref":"#/components/schemas/Webserver"},"fieldmodifier":{"$ref":"#/components/schemas/Fieldmodifier"},"forwarder":{"$ref":"#/components/schemas/Forwarder"},"loadbalancer":{"$ref":"#/components/schemas/Loadbalancer"},"statefulFirewall":{"$ref":"#/components/schemas/StatefulFirewall"},"webApplicationFirewall":{"$ref":"#/components/schemas/WebApplicationFirewall"},"trafficMonitor":{"$ref":"#/components/schemas/TrafficMonitor"},"id":{"type":"integer","format":"int64","xml":{"attribute":true}},"name":{"type":"string","xml":{"attribute":true}},"description":{"type":"string","xml":{"attribute":true}}},"xml":{"name":"configuration"}},"Connection":{"type":"object","properties":{"sourceHost":{"type":"string","xml":{"attribute":true}},"destHost":{"type":"string","xml":{"attribute":true}},"avgLatency":{"type":"integer","format":"int32","xml":{"attribute":true}}},"xml":{"name":"Connection"}},"Connections":{"type":"object","properties":{"connection":{"type":"array","xml":{"name":"Connection"},"items":{"$ref":"#/components/schemas/Connection"}}},"xml":{"name":"Connections"}},"Constraints":{"type":"object","properties":{"nodeConstraints":{"$ref":"#/components/schemas/NodeConstraints"},"linkConstraints":{"$ref":"#/components/schemas/LinkConstraints"},"allocationConstraints":{"$ref":"#/components/schemas/AllocationConstraints"}},"xml":{"name":"Constraints"}},"Dpi":{"type":"object","properties":{"dpiElements":{"type":"array","xml":{"name":"dpi_elements"},"items":{"$ref":"#/components/schemas/DpiElements"}},"defaultAction":{"type":"string","xml":{"attribute":true},"enum":["ALLOW","DENY"]}},"xml":{"name":"dpi"}},"DpiElements":{"required":["condition"],"type":"object","properties":{"action":{"type":"string","enum":["ALLOW","DENY"],"default":"DENY"},"condition":{"type":"string"}},"xml":{"name":"dpi_elements"}},"Elements":{"required":["destination","source"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"action":{"type":"string","enum":["ALLOW","DENY"],"default":"DENY"},"source":{"type":"string"},"destination":{"type":"string"},"protocol":{"type":"string","enum":["ANY","TCP","UDP","OTHER"],"default":"ANY"},"srcPort":{"type":"string","xml":{"name":"src_port"}},"dstPort":{"type":"string","xml":{"name":"dst_port"}},"priority":{"type":"string","default":"*"},"directional":{"type":"boolean","default":true}},"xml":{"name":"elements"}},"Endhost":{"type":"object","properties":{"body":{"type":"string","xml":{"attribute":true}},"sequence":{"type":"integer","xml":{"attribute":true}},"protocol":{"type":"string","xml":{"attribute":true},"enum":["HTTP_REQUEST","HTTP_RESPONSE","POP_3_REQUEST","POP_3_RESPONSE"]},"emailFrom":{"type":"string","xml":{"name":"email_from","attribute":true}},"url":{"type":"string","xml":{"attribute":true}},"options":{"type":"string","xml":{"attribute":true}},"destination":{"type":"string","xml":{"attribute":true}}},"xml":{"name":"endhost"}},"Endpoint":{"required":["name"],"type":"object","properties":{"name":{"type":"string"}},"xml":{"name":"endpoint"}},"Fieldmodifier":{"required":["name"],"type":"object","properties":{"name":{"type":"string"}},"xml":{"name":"fieldmodifier"}},"Firewall":{"type":"object","properties":{"elements":{"type":"array","items":{"$ref":"#/components/schemas/Elements"}},"defaultAction":{"type":"string","xml":{"attribute":true},"enum":["ALLOW","DENY"]}},"xml":{"name":"firewall"}},"Forwarder":{"required":["name"],"type":"object","properties":{"name":{"type":"string","default":"Forwarder"}},"xml":{"name":"forwarder"}},"Graph":{"required":["node"],"type":"object","properties":{"node":{"type":"array","items":{"$ref":"#/components/schemas/Node"}},"id":{"type":"integer","format":"int64","xml":{"attribute":true}},"serviceGraph":{"type":"boolean","xml":{"attribute":true}}},"xml":{"name":"graph"}},"Graphs":{"type":"object","properties":{"graph":{"type":"array","items":{"$ref":"#/components/schemas/Graph"}}},"xml":{"name":"graphs"}},"HTTPDefinition":{"type":"object","properties":{"url":{"type":"string","xml":{"attribute":true}},"domain":{"type":"string","xml":{"attribute":true}},"options":{"type":"string","xml":{"attribute":true}}}},"Host":{"type":"object","properties":{"supportedVNF":{"type":"array","xml":{"name":"SupportedVNF"},"items":{"$ref":"#/components/schemas/SupportedVNFType"}},"nodeRef":{"type":"array","xml":{"name":"NodeRef"},"items":{"$ref":"#/components/schemas/NodeRefType"}},"name":{"type":"string","xml":{"attribute":true}},"cpu":{"type":"integer","format":"int32","xml":{"attribute":true}},"cores":{"type":"integer","format":"int32","xml":{"attribute":true}},"diskStorage":{"type":"integer","format":"int32","xml":{"attribute":true}},"memory":{"type":"integer","format":"int32","xml":{"attribute":true}},"maxVNF":{"type":"integer","format":"int32","xml":{"attribute":true}},"type":{"type":"string","xml":{"attribute":true},"enum":["CLIENT","SERVER","MIDDLEBOX"]},"fixedEndpoint":{"type":"string","xml":{"attribute":true}},"active":{"type":"boolean","xml":{"attribute":true}}},"xml":{"name":"Host"}},"Hosts":{"type":"object","properties":{"host":{"type":"array","xml":{"name":"Host"},"items":{"$ref":"#/components/schemas/Host"}}},"xml":{"name":"Hosts"}},"Link":{"type":"object","properties":{"rel":{"type":"string","xml":{"attribute":true}},"href":{"type":"string","xml":{"attribute":true}},"hreflang":{"type":"string","xml":{"attribute":true}},"media":{"type":"string","xml":{"attribute":true}},"title":{"type":"string","xml":{"attribute":true}},"type":{"type":"string","xml":{"attribute":true}},"deprecation":{"type":"string","xml":{"attribute":true}}}},"LinkConstraints":{"type":"object","properties":{"linkMetrics":{"type":"array","xml":{"name":"LinkMetrics"},"items":{"$ref":"#/components/schemas/LinkMetrics"}}},"xml":{"name":"LinkConstraints"}},"LinkMetrics":{"type":"object","properties":{"src":{"type":"string","xml":{"attribute":true}},"dst":{"type":"string","xml":{"attribute":true}},"reqLatency":{"type":"integer","format":"int32","xml":{"attribute":true}}}},"Loadbalancer":{"required":["pool"],"type":"object","properties":{"pool":{"type":"array","items":{"type":"string"}}},"xml":{"name":"loadbalancer"}},"Mailclient":{"type":"object","properties":{"mailserver":{"type":"string","xml":{"attribute":true}}},"xml":{"name":"mailclient"}},"Mailserver":{"required":["name"],"type":"object","properties":{"name":{"type":"string"}},"xml":{"name":"mailserver"}},"NFV":{"type":"object","properties":{"graphs":{"$ref":"#/components/schemas/Graphs"},"constraints":{"$ref":"#/components/schemas/Constraints"},"propertyDefinition":{"$ref":"#/components/schemas/PropertyDefinition"},"hosts":{"$ref":"#/components/schemas/Hosts"},"connections":{"$ref":"#/components/schemas/Connections"},"networkForwardingPaths":{"$ref":"#/components/schemas/NetworkForwardingPaths"},"parsingString":{"type":"string","xml":{"name":"ParsingString"}}},"xml":{"name":"NFV"}},"Nat":{"required":["source"],"type":"object","properties":{"source":{"type":"array","items":{"type":"string"}}},"xml":{"name":"nat"}},"Neighbour":{"type":"object","properties":{"id":{"type":"integer","format":"int64","xml":{"attribute":true}},"name":{"type":"string","xml":{"attribute":true}}},"xml":{"name":"neighbour"}},"NetworkForwardingPaths":{"type":"object","properties":{"path":{"type":"array","xml":{"name":"Path"},"items":{"$ref":"#/components/schemas/Path"}}},"xml":{"name":"NetworkForwardingPaths"}},"Node":{"type":"object","properties":{"neighbour":{"type":"array","items":{"$ref":"#/components/schemas/Neighbour"}},"configuration":{"$ref":"#/components/schemas/Configuration"},"id":{"type":"integer","format":"int64","xml":{"attribute":true}},"name":{"type":"string","xml":{"attribute":true}},"functionalType":{"type":"string","xml":{"name":"functional_type","attribute":true},"enum":["FIREWALL","ENDHOST","ENDPOINT","ANTISPAM","CACHE","DPI","DPI_S","MAILCLIENT","MAILSERVER","NAT","VPNACCESS","VPNEXIT","WEBCLIENT","WEBSERVER","FIELDMODIFIER","FORWARDER","LOADBALANCER","STATEFUL_FIREWALL","PRIORITY_FIREWALL","WEB_APPLICATION_FIREWALL","TRAFFIC_MONITOR"]}},"xml":{"name":"node"}},"NodeConstraints":{"type":"object","properties":{"nodeMetrics":{"type":"array","xml":{"name":"NodeMetrics"},"items":{"$ref":"#/components/schemas/NodeMetrics"}}},"xml":{"name":"NodeConstraints"}},"NodeMetrics":{"type":"object","properties":{"node":{"type":"string","xml":{"attribute":true}},"nrOfOperations":{"type":"integer","format":"int64","xml":{"attribute":true}},"maxNodeLatency":{"type":"integer","format":"int32","xml":{"attribute":true}},"reqStorage":{"type":"integer","format":"int32","xml":{"attribute":true}},"cores":{"type":"integer","format":"int32","xml":{"attribute":true}},"memory":{"type":"integer","format":"int32","xml":{"attribute":true}},"optional":{"type":"boolean","xml":{"attribute":true}}}},"NodeRefType":{"type":"object","properties":{"node":{"type":"string","xml":{"attribute":true}}}},"POP3Definition":{"type":"object","properties":{"from":{"type":"string","xml":{"attribute":true}},"sender":{"type":"string","xml":{"attribute":true}},"to":{"type":"string","xml":{"attribute":true}},"subject":{"type":"string","xml":{"attribute":true}},"contentType":{"type":"string","xml":{"name":"content-type","attribute":true}}}},"Path":{"required":["pathNode"],"type":"object","properties":{"pathNode":{"type":"array","items":{"$ref":"#/components/schemas/PathNode"}},"id":{"type":"integer","format":"int32","xml":{"attribute":true}}},"xml":{"name":"Path"}},"PathNode":{"type":"object","properties":{"name":{"type":"string","xml":{"attribute":true}}}},"Property":{"type":"object","properties":{"pop3Definition":{"$ref":"#/components/schemas/POP3Definition"},"name":{"type":"string","xml":{"attribute":true},"enum":["ISOLATION_PROPERTY","REACHABILITY_PROPERTY"]},"graph":{"type":"integer","format":"int64","xml":{"attribute":true}},"src":{"type":"string","xml":{"attribute":true}},"dst":{"type":"string","xml":{"attribute":true}},"lv4Proto":{"type":"string","xml":{"name":"lv4proto","attribute":true},"enum":["ANY","TCP","UDP","OTHER"]},"srcPort":{"type":"string","xml":{"name":"src_port","attribute":true}},"dstPort":{"type":"string","xml":{"name":"dst_port","attribute":true}},"isSat":{"type":"boolean","xml":{"attribute":true}},"body":{"type":"string","xml":{"attribute":true}},"httpdefinition":{"$ref":"#/components/schemas/HTTPDefinition"}}},"PropertyDefinition":{"required":["property"],"type":"object","properties":{"property":{"type":"array","xml":{"name":"Property"},"items":{"$ref":"#/components/schemas/Property"}}},"xml":{"name":"PropertyDefinition"}},"ResourcesConfiguration":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"$ref":"#/components/schemas/Configuration"}}},"xml":{"name":"entities"}},"ResourcesConnections":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"$ref":"#/components/schemas/Connections"}}},"xml":{"name":"entities"}},"ResourcesConstraints":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"$ref":"#/components/schemas/Constraints"}}},"xml":{"name":"entities"}},"ResourcesGraph":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"$ref":"#/components/schemas/Graph"}}},"xml":{"name":"entities"}},"ResourcesGraphs":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"$ref":"#/components/schemas/Graphs"}}},"xml":{"name":"entities"}},"ResourcesHost":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"$ref":"#/components/schemas/Host"}}},"xml":{"name":"entities"}},"ResourcesHosts":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"$ref":"#/components/schemas/Hosts"}}},"xml":{"name":"entities"}},"ResourcesListLong":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"type":"array","items":{"type":"integer","format":"int64"}}}},"xml":{"name":"entities"}},"ResourcesListNFV":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/NFV"}}}},"xml":{"name":"entities"}},"ResourcesListPropertyDefinition":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/PropertyDefinition"}}}},"xml":{"name":"entities"}},"ResourcesLong":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"type":"integer","format":"int64"}}},"xml":{"name":"entities"}},"ResourcesNFV":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"$ref":"#/components/schemas/NFV"}}},"xml":{"name":"entities"}},"ResourcesNode":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"$ref":"#/components/schemas/Node"}}},"xml":{"name":"entities"}},"ResourcesProperty":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"$ref":"#/components/schemas/Property"}}},"xml":{"name":"entities"}},"ResourcesPropertyDefinition":{"type":"object","properties":{"links":{"type":"array","xml":{"name":"link","namespace":"http://www.w3.org/2005/Atom"},"items":{"$ref":"#/components/schemas/Link"}},"content":{"type":"array","xml":{"wrapped":true},"items":{"$ref":"#/components/schemas/PropertyDefinition"}}},"xml":{"name":"entities"}},"StatefulFirewall":{"type":"object","properties":{"elements":{"type":"array","items":{"$ref":"#/components/schemas/Elements"}},"defaultAction":{"type":"string","xml":{"attribute":true},"enum":["ALLOW","DENY"]}},"xml":{"name":"stateful_firewall"}},"SupportedVNFType":{"type":"object","properties":{"functionalType":{"type":"string","xml":{"name":"functional_type","attribute":true},"enum":["FIREWALL","ENDHOST","ENDPOINT","ANTISPAM","CACHE","DPI","DPI_S","MAILCLIENT","MAILSERVER","NAT","VPNACCESS","VPNEXIT","WEBCLIENT","WEBSERVER","FIELDMODIFIER","FORWARDER","LOADBALANCER","STATEFUL_FIREWALL","PRIORITY_FIREWALL","WEB_APPLICATION_FIREWALL","TRAFFIC_MONITOR"]}}},"TrafficMonitor":{"required":["name"],"type":"object","properties":{"name":{"type":"string","default":"TrafficMonitor"}},"xml":{"name":"traffic_monitor"}},"Vpnaccess":{"type":"object","properties":{"vpnexit":{"type":"string","xml":{"attribute":true}}},"xml":{"name":"vpnaccess"}},"Vpnexit":{"type":"object","properties":{"vpnaccess":{"type":"string","xml":{"attribute":true}}},"xml":{"name":"vpnexit"}},"WafElements":{"type":"object","properties":{"action":{"type":"string","enum":["ALLOW","DENY"],"default":"DENY"},"url":{"type":"string"},"domain":{"type":"string"}},"xml":{"name":"waf_elements"}},"WebApplicationFirewall":{"type":"object","properties":{"wafElements":{"type":"array","xml":{"name":"waf_elements"},"items":{"$ref":"#/components/schemas/WafElements"}},"defaultAction":{"type":"string","xml":{"attribute":true},"enum":["ALLOW","DENY"]}},"xml":{"name":"web_application_firewall"}},"Webclient":{"type":"object","properties":{"nameWebServer":{"type":"string","xml":{"attribute":true}}},"xml":{"name":"webclient"}},"Webserver":{"required":["name"],"type":"object","properties":{"name":{"type":"string"}},"xml":{"name":"webserver"}}}}}