package structures
+import "oransc.org/usecase/oduclosedloop/messages"
+
type SliceMetric struct {
DUId string
CellId string
type PolicyRatio struct {
PolicyRatioId string
PolicyMaxRatio int
- PolicyMinRatio string
+ PolicyMinRatio int
PolicyDedicatedRatio int
}
-func NewPolicyRatioEntry(id string, max_ratio int, min_ratio string, ded_ratio int) *PolicyRatio {
+func NewPolicyRatio(id string, max_ratio int, min_ratio int, ded_ratio int) *PolicyRatio {
pr := PolicyRatio{
PolicyRatioId: id,
PolicyMaxRatio: max_ratio,
}
return &pr
}
+
+func (pr *PolicyRatio) GetUpdateDedicatedRatioMessage(sd int, sst int, dedicatedRatio int) interface{} {
+ message := messages.RRMPolicyRatio{
+ Id: pr.PolicyRatioId,
+ AdmState: "unlocked",
+ UserLabel: pr.PolicyRatioId,
+ RRMPolicyMaxRatio: pr.PolicyMaxRatio,
+ RRMPolicyMinRatio: pr.PolicyMinRatio,
+ RRMPolicyDedicatedRatio: dedicatedRatio,
+ ResourceType: "prb",
+ RRMPolicyMembers: []messages.RRMPolicyMember{
+ {
+ MobileCountryCode: "046",
+ MobileNetworkCode: "651",
+ SliceDifferentiator: sd,
+ SliceServiceType: sst,
+ },
+ },
+ }
+ rrmPolicies := []messages.RRMPolicyRatio{message}
+
+ return struct {
+ RRMPolicies []messages.RRMPolicyRatio `json:"radio-resource-management-policy-ratio"`
+ }{
+ RRMPolicies: rrmPolicies,
+ }
+
+}