+Aquarium and among external systems.
+
+A resource definition also has a two fields that define how a resource is
+charged and whether a user can be assigned more instances of a resource.
+Specifically, the ``costpolicy`` field can have the following values:
+
+- `continuous:` For ``continuous`` resources, the charging algorithm calculates the
+ total amount of resource usage over time, per billing period. Each new
+ resource event modifies the resource usage counter and forces Aquarium
+ to calculate a new cost for the previous amount of resource usage. A typical
+ example of a continuous resource is disk space.
+- `onoff:` ``onoff`` resources are a category of continuous resources where the
+ resource can only be in two states, on or off. In such cases, maintaining a usage
+ counter is not necessary; the charging algorithm uses time as the unit of
+ calculation. Virtual machine time is a typical example.
+- `discrete:` ``discrete`` resources are charged for instantly for the
+ reported resource value. Examples are bandwidth and every resource whose usage
+ is not a function of time (books, hits to an API etc).
+
+Regarding resource complexity, a resource can either be labeled complex
+or not. In the former case, a resource can have more than one instances per
+user, and resource usage is tracked individually per instance. The
+``instance-id`` field in the resource event message (See `Resource Events`_)
+helps Aquarium separate resource instances at charge time.
+
+The following resource definition prescribes that the `bandwidthup`
+resource will be charged instantly; this means that the resource will be charged
+
+.. code-block:: yaml