F5DiameterAvp

Overview

The F5DiameterAvp Custom Resource (CR) is used to define metadata for a Diameter Attribute-Value Pair (AVP) so it can be referenced and interpreted correctly by F5 BIG-IP / F5 CNE Diameter-related features. The resource lets you describe the AVP’s data type, AVP code, and (optionally) vendor and grouping details.

Parameters

metadata

Parameter Description
name The unique name identifying the resource (Kubernetes object name).
namespace The Kubernetes namespace in which the resource is created.

spec

The CR spec parameters used for defining a Diameter AVP are:

Parameter Description Default
dataType Specifies the data type of the Diameter AVP. Depending on the AVP type, the corresponding datatype should be configured. Valid values: octetstring, grouped, unsignedinteger32, unsignedinteger64, address, rattype. Required
avpCode Specifies the AVP-code of the Diameter AVP as per RFC. Valid range: 1 to 65535. Required
avpLength Specifies the expected length of the Diameter AVP value. This must be configured according to dataType. Valid range: 0 to 255. 0
parentAvp Specifies the name of the parent AVP, if this AVP is contained within a grouped AVP. Allowed characters: Only alphanumeric characters (0-9, a-z, A-Z), periods (.), underscores (_), and hyphens (-) are allowed. Max length: 255. ""
vendorId Specifies vendor ID if the AVP is a vendor-specific attribute. Valid range: 0 to 65535. 0

Sample CR

apiVersion: k8s.f5net.com/v1
kind: F5DiameterAvp
metadata:
  name: session-id-avp
  namespace: f5-bnk
spec:
  dataType: octetstring
  avpCode: 263
  avpLength: 0
  vendorId: 0
  parentAvp: ""

Sample vendor-specific AVP

apiVersion: k8s.f5net.com/v1
kind: F5DiameterAvp
metadata:
  name: vendor-example-avp
  namespace: f5-bnk
spec:
  dataType: unsignedinteger32
  avpCode: 1
  vendorId: 10415

Sample child AVP inside a grouped AVP

apiVersion: k8s.f5net.com/v1
kind: F5DiameterAvp
metadata:
  name: subscription-data-child-avp
  namespace: f5-bnk
spec:
  dataType: octetstring
  avpCode: 1234
  parentAvp: subscription-data-grouped-avp

Create and apply F5DiameterAvp CR

  1. Copy one of the sample CRs into a YAML <diameter-avp.yaml> file.

  2. Apply the F5DiameterAvp CR:

    kubectl create -f diameter-avp.yaml
    
  3. Verify the resource:

    kubectl get -f diameter-avp.yaml -n <namespace>
    
  4. (Optional) View details (including any status/conditions if exposed by the controller):

    kubectl describe -f diameter-avp.yaml -n <namespace>