Using agreements
accounts can be billed based on the services used. You can configure agreements
to specify the maximum quota of service item. Therefore only attributes that
are managed by quota can be used to create an agreement.
You can also create
multiple agreements and sub-agreements and associate it with OUs or accounts.
For example you can create a sub-agreement for an agreement such that a
customer (OU or tenant account) can distribute his quota for a service item, to
his sub OUs.
Agreements are
created to enable tenant or project accounts to consume service items that are
quota-managed. Service items that have any attributes marked as “Managed by
Quota” are resources that need to be regulated for consumption to prevent them
from over-subscription by individual accounts. As such, an agreement is a set
of service item quotas defined for the associated account, specified in the
form of “Count” (maximum number of service item instances) or “Sum” of certain
attributes (aggregated total of the attribute values for all instances). The
used amounts are also tracked in the agreement.
For example, if
there is a need to restrict the maximum number of virtual machines provisioned
for each account and the total vCPUs consumed, the service designer would first
mark the vCPU attribute in the service item definition as managed by quota, and
then create an agreement template which includes a count quota for the number
of virtual machines, as well as the sum of vCPU allowed. When a new account is
set up, the finance manager creates an agreement from the template to specify
the quotas allowed for the account, and define a quota policy to enforce the
quota check at the appropriate thresholds (e.g., notify the account manager at
80% consumption, and stop ordering at 100% consumption).
Once the account,
agreement and quota policies are in place, when a service item operation is
processed to create a new virtual machine for an account, the system performs
the following steps: