| | |
| | | from docker_plugin_api.Plugin import Blueprint |
| | | import flask |
| | | from .Ipam import * |
| | | from .IpamDriverData import * |
| | | from docker_plugin_api.IpamDriverEntities import * |
| | | |
| | |
| | | @app.route('/IpamDriver.RequestPool', methods=['POST']) |
| | | def RequestPool(): |
| | | request = RequestPoolEntity(**flask.request.get_json(force=True)) |
| | | space = spaces[request.AddressSpace] |
| | | pool = Pool(pool=request.Pool, subPool=request.SubPool, options=request.Options, v6=request.V6) |
| | | pool_id = space.add_pool(pool) |
| | | full_id = '{}-{}'.format(space.name, pool_id) |
| | | full_id, pool = create_pool(request) |
| | | return { |
| | | 'PoolID': full_id, |
| | | 'Pool': str(pool), |
| | |
| | | @app.route('/IpamDriver.ReleasePool', methods=['POST']) |
| | | def ReleasePool(): |
| | | request = ReleasePoolEntity(**flask.request.get_json(force=True)) |
| | | space, pool = get_space_pool(request.PoolID) |
| | | space.remove_pool(pool) |
| | | remove_pool(request.PoolID) |
| | | return {} |
| | | |
| | | |