Product Bundles are essentially what is sold to an end customer. End customers always buy product bundles. A product bundle is composed of five parts.
The bundle type essentially represents the resource that is being provisioned when purchasing this bundle. Type can be null indicating that this bundle does not provision anything but provides an entitlement for a price.
Provisioning constraints describe any constraints that restrict what can be provisioned. Typically, this would be used to constrain resources to a subset of possible choices for that resource. See Resource Components metadata for more details. Provisioning constraints are described in terms of resource component constraint rules.
- published: Whether this bundle is published, ie available for purchase or not
- constraint: Any kind of purchasing constraint for this bundle. Typically inherited from the resource being provisioned, this constraint can also be manually applied when no resource is being provisioned. For example, whether this bundle can be purchased once per account, once per user, many times but at the account scope or many times at the user scope.
- recurrence: The frequency at which the prices will be charged (Monthly, Annually or none which implies utility (or pay for what you use) pricing)
- one-time charges: Charges applied at subscription time
- recurring charges: Charges applied at the recurrence frequency
Entitlements reflect what is 'bundled' with the purchase of a subscription to this bundle. Entitlements are essentially usage that comes free with the purchase of this bundle. Entitlements are described in terms of amount of units of a given product that is bundled. Entitlement can be unlimited in which case all usage of that product is free for this subscription. Some entitlements are scoped by subscription whereas user or account scopes other entitlements.