github.com/free5gc/openapi@v1.0.8/models/model_sm_policy_decision.go (about)

     1  /*
     2   * Npcf_SMPolicyControl
     3   *
     4   * Session Management Policy Control Service
     5   *
     6   * API version: 1.0.1
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package models
    11  
    12  import (
    13  	"time"
    14  )
    15  
    16  type SmPolicyDecision struct {
    17  	// A map of Sessionrules with the content being the SessionRule as described in subclause 5.6.2.7.
    18  	SessRules map[string]*SessionRule `json:"sessRules,omitempty" yaml:"sessRules" bson:"sessRules" mapstructure:"SessRules"`
    19  	// A map of PCC rules with the content being the PCCRule as described in subclause 5.6.2.6.
    20  	PccRules map[string]*PccRule `json:"pccRules,omitempty" yaml:"pccRules" bson:"pccRules" mapstructure:"PccRules"`
    21  	// If it is included and set to true, it indicates the P-CSCF Restoration is requested.
    22  	PcscfRestIndication bool `json:"pcscfRestIndication,omitempty" yaml:"pcscfRestIndication" bson:"pcscfRestIndication" mapstructure:"PcscfRestIndication"`
    23  	// Map of QoS data policy decisions.
    24  	QosDecs map[string]*QosData `json:"qosDecs,omitempty" yaml:"qosDecs" bson:"qosDecs" mapstructure:"QosDecs"`
    25  	// Map of Charging data policy decisions.
    26  	ChgDecs      map[string]*ChargingData `json:"chgDecs,omitempty" yaml:"chgDecs" bson:"chgDecs" mapstructure:"ChgDecs"`
    27  	ChargingInfo *ChargingInformation     `json:"chargingInfo,omitempty" yaml:"chargingInfo" bson:"chargingInfo" mapstructure:"ChargingInfo"`
    28  	// Map of Traffic Control data policy decisions.
    29  	TraffContDecs map[string]*TrafficControlData `json:"traffContDecs,omitempty" yaml:"traffContDecs" bson:"traffContDecs" mapstructure:"TraffContDecs"`
    30  	// Map of Usage Monitoring data policy decisions.
    31  	UmDecs map[string]*UsageMonitoringData `json:"umDecs,omitempty" yaml:"umDecs" bson:"umDecs" mapstructure:"UmDecs"`
    32  	// Map of QoS characteristics for non standard 5QIs. This map uses the 5QI values as keys.
    33  	QosChars           map[string]*QosCharacteristics `json:"qosChars,omitempty" yaml:"qosChars" bson:"qosChars" mapstructure:"QosChars"`
    34  	ReflectiveQoSTimer int32                          `json:"reflectiveQoSTimer,omitempty" yaml:"reflectiveQoSTimer" bson:"reflectiveQoSTimer" mapstructure:"ReflectiveQoSTimer"`
    35  	// A map of condition data with the content being as described in subclause 5.6.2.9.
    36  	Conds            map[string]*ConditionData `json:"conds,omitempty" yaml:"conds" bson:"conds" mapstructure:"Conds"`
    37  	RevalidationTime *time.Time                `json:"revalidationTime,omitempty" yaml:"revalidationTime" bson:"revalidationTime" mapstructure:"RevalidationTime"`
    38  	// Indicates the offline charging is applicable to the PDU session or PCC rule.
    39  	Offline bool `json:"offline,omitempty" yaml:"offline" bson:"offline" mapstructure:"Offline"`
    40  	// Indicates the online charging is applicable to the PDU session or PCC rule.
    41  	Online bool `json:"online,omitempty" yaml:"online" bson:"online" mapstructure:"Online"`
    42  	// Defines the policy control request triggers subscribed by the PCF.
    43  	PolicyCtrlReqTriggers []PolicyControlRequestTrigger `json:"policyCtrlReqTriggers,omitempty" yaml:"policyCtrlReqTriggers" bson:"policyCtrlReqTriggers" mapstructure:"PolicyCtrlReqTriggers"`
    44  	// Defines the last list of rule control data requested by the PCF.
    45  	LastReqRuleData  []RequestedRuleData `json:"lastReqRuleData,omitempty" yaml:"lastReqRuleData" bson:"lastReqRuleData" mapstructure:"LastReqRuleData"`
    46  	LastReqUsageData *RequestedUsageData `json:"lastReqUsageData,omitempty" yaml:"lastReqUsageData" bson:"lastReqUsageData" mapstructure:"LastReqUsageData"`
    47  	// Map of PRA information.
    48  	PraInfos     map[string]*PresenceInfoRm `json:"praInfos,omitempty" yaml:"praInfos" bson:"praInfos" mapstructure:"PraInfos"`
    49  	Ipv4Index    int32                      `json:"ipv4Index,omitempty" yaml:"ipv4Index" bson:"ipv4Index" mapstructure:"Ipv4Index"`
    50  	Ipv6Index    int32                      `json:"ipv6Index,omitempty" yaml:"ipv6Index" bson:"ipv6Index" mapstructure:"Ipv6Index"`
    51  	QosFlowUsage QosFlowUsage               `json:"qosFlowUsage,omitempty" yaml:"qosFlowUsage" bson:"qosFlowUsage" mapstructure:"QosFlowUsage"`
    52  	SuppFeat     string                     `json:"suppFeat,omitempty" yaml:"suppFeat" bson:"suppFeat" mapstructure:"SuppFeat"`
    53  }