2 '/opnfv-promise/promise/capacity/total': (prev) ->
5 for k, v of b.capacity when v?
10 .filter (entry) -> entry.active is true
14 '/opnfv-promise/promise/capacity/reserved', (prev) ->
17 for k, v of b.capacity when v?
21 (@parent.get 'reservations')
22 .filter (entry) -> entry.active is true
26 # rebind to be a computed property
27 '/opnfv-promise/promise/capacity/usage': (prev) ->
30 for k, v of b.capacity when v?
34 (@parent.get 'allocations')
35 .filter (entry) -> entry.active is true
39 # rebind to be a computed property
40 '/opnfv-promise/promise/capacity/available': (prev) ->
43 reserved = @get 'reserved'
45 for k, v of total when v?
46 total[k] -= reserved[k] if reserved[k]?
47 total[k] -= usage[k] if usage[k]?
51 '/opnfv-promise/create-reservation':
52 (input, output, done) ->
53 # 1. create the reservation record (empty)
54 reservation = @create 'ResourceReservation'
55 reservations = @access 'promise.reservations'
57 # 2. update the record with requested input
58 reservation.invoke 'update', input.get()
60 # 3. save the record and add to list
64 output.set result: 'ok', message: 'reservation request accepted'
65 output.set 'reservation-id', res.id
68 output.set result: 'error', message: err
71 output.set result: 'conflict', message: err