Skip to main content

Metering

meshStack supports metering and billing for all versions of Cloud Foundry.

Prerequisites​

  • Cloud Foundry user with GlobalAuditor role
  • CloudFoundry APIs are accessible by meshStack metering collector components

Supported Resources​

Resources with the following traits are addressable in the Product Catalog. Platform engineers can use the traits of these resources to define fine-granular product and pricing rules.

Service Instance​

let ServiceInstanceTraits =
{-
planId:
Id of the service plan.

type:
Type of the service instance. One of MANAGED_SERVICE_INSTANCE, USER_PROVIDED_SERVICE_INSTANCE, UNKNOWN.
-}
{ planId : Optional Text, type : Text }
let example
: ServiceInstanceTraits
= { planId = Some "c3d68603-6fbb-43cf-a2cc-b134dafca178"
, type = "MANAGED_SERVICE_INSTANCE"
}

Application​

let AppResourceTraits =
{-
appState:
Application state. One of RUNNING, STOPPED

event:
Last recorded application event. One of STARTED, STOPPED, TASK_STARTED, TASK_STOPPED, BUILDPACK_SET or UNKNOWN.

instances:
Number of application instances.

ramMb:
RAM per application instance in MiB.

size:
Application size, the product of application instances * RAM. In MiB.
-}
{ appState : Optional Text
, event : Text
, instances : Integer
, ramMb : Integer
, size : List Integer
}
let example
: AppResourceTraits
= { appState = Some "RUNNING"
, event = "STARTED"
, instances = +2
, ramMb = +1024
, size = [ +1, +1024 ]
}