A Filter can be considered a global discriminator. It can be used to classify all resource components as well all usage. Use filters only when it is applicable to all resources and usage types declared for a cloud service.
A filter can be used to filter resource components. This allows scoping of resource component options based on filter values. For example, in Accelerite CloudPlatform, a Zone would be a filter allowing templates or service offerings to be filtered by Zone.
In addition, a filter can also be used to discriminate usage, and as such is considered an implicit discriminator for any usage type in a given service.
Possible filter values can be acquired dynamically from getFilterValues method of the MetadataRegistry interface.