-
Notifications
You must be signed in to change notification settings - Fork 86
Resource Provider Scenarios
This page lists Resource Provider scenarios and the proposed usage documents to use.
I am a service provider and like to meter usage of my service. The service is a CF service which is consumed via Service Broker API.
Resource provider runs in organization services
and space mongodb
. Provides mongodb databases as CF service instances.
Consumer runs as the emporiumify
application in organization shop
, space cart
. It stores items added in the cart in different mongodb collections, all in the same database.
{
"start": 1396421450000,
"end": 1396421451000,
"organization_id": "us-south:54257f98-83f0-4eca-ae04-9ea35277a538",
"space_id": "d98b5916-3c77-44b9-ac12-04456df23eae",
"consumer_id": "app:d98b5916-3c77-44b9-ac12-045678edabae",
"resource_id": "mongodb",
"plan_id": "basic",
"resource_instance_id": "d98b5916-3c77-44b9-ac12-04d61c7a4eae",
"measured_usage": [
{
"measure": "storage",
"quantity": 145
}
]
}
Fields:
-
"organization_id": "us-south:54257f98-83f0-4eca-ae04-9ea35277a538"
Can be broken into:
- us-south: datacenter or CF installation name. The schema is optional
- 54257f98-83f0-4eca-ae04-9ea35277a538: GUID of the consumer's
shop
organization
-
"space_id": "d98b5916-3c77-44b9-ac12-04456df23eae"
GUID of the consumer's
cart
space (undershop
organization) -
"consumer_id": "app:d98b5916-3c77-44b9-ac12-045678edabae"
GUID of the consumer's
emporiumify
application -
"resource_id": "mongodb"
MongoDB Resource Provider ID
-
"plan_id": "basic"
Resource Provider (MongoDB) plan ID
-
"resource_instance_id": "d98b5916-3c77-44b9-ac12-04d61c7a4eae"
ID of the MongoDB database (or service instance) created for us.
-
"measured_usage"
KiB of storage used in the database
I like to meter data of my multi-tenant application. Application is called by a consumer tenant who does not necessarily has an org/space. Consumer calls app with a tenant-specific URL, API key or OAuth scope to identify itself.
Resource provider runs as the emporiumify
application in organization shop
, space cart
. It provides marketplace services to end-users.
Consumers access the emporiumify
application to add items to the marketplace so end-users can add them to cart and buy them.
{
"start": 1396421450000,
"end": 1396421451000,
"organization_id": "us-south:54257f98-83f0-4eca-ae04-9ea35277a538",
"space_id": "d98b5916-3c77-44b9-ac12-04456df23eae",
"consumer_id": "app:d98b5916-3c77-44b9-ac12-045678edabae",
"resource_id": "emporiumify",
"plan_id": "shared",
"resource_instance_id": "customer:d98b5916-3c77-44b9-ac12-04d61c7a4eae",
"measured_usage": [
{
"measure": "storage",
"quantity": 145
}
]
}
Fields:
-
"organization_id": "us-south:54257f98-83f0-4eca-ae04-9ea35277a538"
Can be broken into:
- us-south: datacenter or CF installation name. The schema is optional
- 54257f98-83f0-4eca-ae04-9ea35277a538: GUID of the consumer's
shop
organization
-
"space_id": "d98b5916-3c77-44b9-ac12-04456df23eae"
GUID of the consumer's
cart
space (undershop
organization) -
"consumer_id": "app:d98b5916-3c77-44b9-ac12-045678edabae"
GUID of the consumer's
emporiumify
application (undershop/cart
) -
"resource_id": "emporiumify"
Our
emporiumify
application ID, as Abacus resource provider -
"plan_id": "shared"
emporiumify
plan id. Used to identify which plan to use -
"resource_instance_id": "customer:d98b5916-3c77-44b9-ac12-04d61c7a4eae"
ID of the
emporiumify
app customer.
Description: Multi-tenant application, that is also exposed as a service.
Usage document:
ABOUT | RESOURCE PROVIDER | ABACUS INTEGRATOR
*Abacus icon made by Freepik from www.flaticon.com