## Usage
-List networks example:
+List networks:
*curl http://now.example.com:9292/network?user=myuser*
-Create the network:
+Create network:
*curl -i -X POST -d '{ "title": "example1", "description": "Example network", "range": { "address": "fc00::0001::/64", "allocation": "dynamic" }, "vlan": 1}' http://now.example.com:9292/network?user=myuser*
+Delete network:
+
+ *curl -i -X DELETE http://now.example.com:9292/network/1?user=myuser*
## Development
halt e.code, e.message
end
end
+
+ delete '/network/:id' do
+ cross_origin
+ begin
+ switch_user(params['user'])
+ nebula.delete_network(params['id'])
+ rescue NowError => e
+ logger.error "[HTTP #{e.code}] #{e.message}"
+ halt e.code, e.message
+ end
+ end
end
end
check(vn.allocate(template))
id = vn.id.to_s
- logger.debug "[create_network] created network: #{id}"
+ logger.info "[create_network] created network: #{id}"
return id
end
+ def delete_network(network_id)
+ vn_generic = OpenNebula::VirtualNetwork.build_xml(network_id)
+ vn = OpenNebula::VirtualNetwork.new(vn_generic, @ctx)
+ check(vn.delete)
+ logger.info "[delete_network] deleted network: #{network_id}"
+ end
+
private
def error_one2http(errno)
description: "KO"
schema:
type: "string"
+ delete:
+ summary: "Delete network"
+ parameters:
+ - in: "path"
+ name: "id"
+ description: "Network ID"
+ required: true
+ type: "integer"
+ format: "int64"
+ - in: "query"
+ name: "user"
+ description: "OpenNebula user identity"
+ required: false
+ type: "string"
+ responses:
+ 200:
+ description: "Network deleted"
+ default:
+ description: "KO"
+ schema:
+ type: "string"
definitions:
Range:
description: "Address range"