MeterDefinition/v1alpha1

MeterDefinition defines the meter workloads used to enable pay for use billing.

apiVersion

Description: APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

Type: string

PropertyTypeDescription
apiVersionstringAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

Description: Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

Type: string

PropertyTypeDescription
kindstringKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

Description: (No Description)

Type: object

PropertyTypeDescription
metadataobject(No Description)

spec

Description: MeterDefinitionSpec defines the desired metering spec

Type: object

PropertyTypeDescription
specobjectMeterDefinitionSpec defines the desired metering spec
spec.installedByobjectInstalledBy is a reference to the CSV that install the meter definition. This is used to determine an operator group.
spec.installedBy.groupVersionKindobjectGroupVersionKind of the resource
spec.installedBy.groupVersionKind.apiVersionstringAPIVersion of the CRD
spec.installedBy.groupVersionKind.kindstringKind of the CRD
spec.installedBy.namestringName of the resource Required
spec.installedBy.namespacestringNamespace of the resource Required
spec.installedBy.uidstringNamespace of the resource
spec.meterGroupstringGroup defines the operator group of the meter
spec.meterKindstringKind defines the primary CRD kind of the meter
spec.meterVersionstringVersion defines the primary CRD version of the meter. This field is no longer used.
spec.podMeterLabelsarrayPodMeterLabels name of the prometheus metrics you want to track. User workloads instead.
spec.serviceMeterLabelsarrayServiceMeterLabels name of the meterics you want to track. Use workloads instead.
spec.workloadVertexLabelSelectorsobjectVertexFilters are used when Namespace is selected. Can be omitted if you select OperatorGroup
spec.workloadVertexLabelSelectors.matchExpressionsarraymatchExpressions is a list of label selector requirements. The requirements are ANDed.
spec.workloadVertexLabelSelectors.matchLabelsobjectmatchLabels is a map {key,value} of pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
spec.workloadVertexTypestringWorkloadVertexType is the top most object of a workload. It allows you to identify the upper bounds of your workloads.
spec.workloadsarrayWorkloads identify the workloads to meter.

status

Description: MeterDefinitionStatus defines the observed state of MeterDefinition

Type: object

PropertyTypeDescription
statusobjectMeterDefinitionStatus defines the observed state of MeterDefinition
status.conditionsarrayConditions represent the latest available observations of an object’s state
status.resultsarrayResults is a list of Results that get returned from a query to prometheus
status.workloadResourcearrayWorkloadResources is the list of resources discovered by this meter definition