Perhaps one of the most advanced elements of Ooyala Flex's access control is the quota. A quota defines a level of user access to a resource. As explained in the Resources section. Resources are external services that are used by Ooyala Flex to store, transfer, and process media. With any Ooyala Flex deployment, resources are finite and can be costly to license and run. So it's important to set rules for who can access which resource and what they can do with it. This is purpose of the quota.
To provide an example, a user might decide that a certain account or user in Ooyala Flex can have access to a transcode resource outside office hours, and will only be able to run a maximum of 5 concurrent Jobs. This rule can be set up through the configuring of a quota.
Resources are a type of Ooyala Flex object, so they already support visibility on a per account basis. Therefore, you can already securely isolate which accounts and sub-accounts can access a resource. However, quotas simply provide more fine-grained rules around access as well as a way of safely sharing resources between users and accounts.
A typical instance of Ooyala Flex will have a default quota for each quota type. The default plugins are highly configurable to allow for lots of scenarios. When the default quota does not deliver the functionality you need, then you would utilise a more specialised quota plugin. The quota framework is part of Ooyala Flex's API.
It is possible to set what is known as a "global quota". This means that the limit is not bound to any particular account. It simply means that the limit is bound to the resource itself.
A quota can exist in one of three states:
- Under Limit: The quota is within normal bounds and no limits have been exceeded.
- Over Soft Limit: The quota has exceeded the soft limit.
- Over Hard Limit: The quota has exceeded the hard limit (at this point the resource is no longer usable).
Each quota has a timeout period. When a quota has exceeded a limit, a Quota Soft Limit Exceeded or a Quota Hard Limit Exceeded Event is fired. The timeout is used to determine how long to wait until sending another event.
Creating a Quota
1) On the toolbar, click the New option, and from the drop down, select Quota.
2) In the Create new Quota... section, specify the details for your new quota.
3) In the Name field, specify a name.
4) In the Description field, you can enter an optional description.
5) From the Plugin drop down, select a plugin. For example we will create a quota that limits Transfer Bytes over time.
6) From the Assignment drop down, select an account or a sub-account that you want to set the quota for.
7) From the Timeout drop down, select a timeout period. For example: 15 minutes.
8) In the Quota Resource field, select a resource, e.g HTTP Transfer.
9) When you have finished specifying the details for your quota, click Save to finalise.
10) Next, click the Configuration sub-tab, and then click the Edit link in order to specify configuration details for your quota.
11) Specify the configuration details for your quota.
12) In the Soft Limit field, specify a soft limit.
13) in the Hard Limit field, specify a hard limit.
14) In the Time Period field, specify a time period.
15) In the Time Period In field, select a unit of time, e.g Hour.
16) When you have finished configuring your quota, click Save to finalise.
Checking Quota Details
To check the details and status of a quota, click the Access tab, and on the toolbar, click Quotas.
In Quota Settings section you can see a list of all quotas and their current status, for example : funder limit, over soft limit, and over hard limit. The colour of each row indicates the status. Orange implies the soft limit has been breached. Red implies the hard limit has been breached.