Test case for new policy configuration
[aquarium] / src / main / resources / policy.scala
1 import gr.grnet.aquarium.charging.{OnceChargingBehavior, ContinuousChargingBehavior, OnOffChargingBehavior, DiscreteChargingBehavior}
2 import gr.grnet.aquarium.policy.{EffectiveUnitPrice, EffectivePriceTable, FullPriceTable, ResourceType, StdPolicy}
3 import gr.grnet.aquarium.Timespan
4
5 // Definition of our standard policy in plain Scala
6 // This will be dynamically interpreted during Aquarium startup
7
8 StdPolicy(
9   id = "policy-1",
10   parentID = None,
11
12   validityTimespan = Timespan(0),
13
14   resourceTypes = Set(
15     ResourceType("bandwidth", "MB/Hr", classOf[DiscreteChargingBehavior].getName),
16     ResourceType("vmtime", "Hr", classOf[OnOffChargingBehavior].getName),
17     ResourceType("diskspace", "MB/Hr", classOf[ContinuousChargingBehavior].getName)
18   ),
19
20   chargingBehaviors = Set(
21     classOf[DiscreteChargingBehavior].getName,
22     classOf[OnOffChargingBehavior].getName,
23     classOf[ContinuousChargingBehavior].getName,
24     classOf[OnceChargingBehavior].getName
25   ),
26
27   roleMapping = Map(
28     "default" -> FullPriceTable(Map(
29       "bandwidth" -> EffectivePriceTable(EffectiveUnitPrice(0.01, None) :: Nil),
30       "vmtime" -> EffectivePriceTable(EffectiveUnitPrice(0.01, None) :: Nil),
31       "diskspace" -> EffectivePriceTable(EffectiveUnitPrice(0.01, None) :: Nil)
32     ))
33   )
34 )