O-DU Slice Assurance App towards latest O-DU implementation
[nonrtric.git] / test / usecases / odusliceassurance / goversion / messages / policyRatio.go
index 8868ff8..eeba22e 100644 (file)
 
 package messages
 
-import (
-       "strconv"
-
-       "oransc.org/usecase/oduclosedloop/internal/structures"
-)
-
 type ORanDuRestConf struct {
-       DistributedUnitFunction DistributedUnitFunction `json:"distributed-unit-functions"`
+       DistributedUnitFunction []DistributedUnitFunction `json:"o-ran-sc-du-hello-world:distributed-unit-functions"`
 }
 
 type DistributedUnitFunction struct {
-       Id             string           `json:"id"`
-       Cell           []Cell           `json:"cell"`
-       RRMPolicyRatio []RRMPolicyRatio `json:"radio-resource-management-policy-ratio"`
-}
-
-type Cell struct {
-       Id        string `json:"id"`
-       AdmState  string `json:"administrative-state"`
-       OpState   string `json:"operational-state"`
-       UserLabel string `json:"user-label"`
+       Id               string           `json:"id"`
+       OperationalState string           `json:"operational-state"`
+       AdmState         string           `json:"administrative-state"`
+       UserLabel        string           `json:"user-label"`
+       RRMPolicyRatio   []RRMPolicyRatio `json:"radio-resource-management-policy-ratio"`
+       Cell             []Cell           `json:"cell"`
 }
 
 type RRMPolicyRatio struct {
@@ -48,8 +38,8 @@ type RRMPolicyRatio struct {
        AdmState                string            `json:"administrative-state"`
        UserLabel               string            `json:"user-label"`
        RRMPolicyMaxRatio       int               `json:"radio-resource-management-policy-max-ratio"`
-       RRMPolicyMinRatio       string            `json:"radio-resource-management-policy-min-ratio"`
-       RRMPolicyDedicatedRatio string            `json:"radio-resource-management-policy-dedicated-ratio"`
+       RRMPolicyMinRatio       int               `json:"radio-resource-management-policy-min-ratio"`
+       RRMPolicyDedicatedRatio int               `json:"radio-resource-management-policy-dedicated-ratio"`
        ResourceType            string            `json:"resource-type"`
        RRMPolicyMembers        []RRMPolicyMember `json:"radio-resource-management-policy-members"`
 }
@@ -61,22 +51,55 @@ type RRMPolicyMember struct {
        SliceServiceType    int    `json:"slice-service-type"`
 }
 
-func GetDedicatedRatioUpdateMessage(metric structures.SliceMetric, policy structures.PolicyRatio, dedicatedRatio int) RRMPolicyRatio {
-       return RRMPolicyRatio{
-               Id:                      policy.PolicyRatioId,
-               AdmState:                "Locked",
-               UserLabel:               "Some user label",
-               RRMPolicyMaxRatio:       policy.PolicyMaxRatio,
-               RRMPolicyMinRatio:       policy.PolicyMinRatio,
-               RRMPolicyDedicatedRatio: strconv.Itoa(dedicatedRatio),
-               ResourceType:            "prb",
-               RRMPolicyMembers: []RRMPolicyMember{
-                       {
-                               MobileCountryCode:   "046",
-                               MobileNetworkCode:   "651",
-                               SliceDifferentiator: metric.SliceDiff,
-                               SliceServiceType:    metric.SliceServiceType,
-                       },
-               },
-       }
+type Cell struct {
+       Id                                  string                              `json:"id"`
+       LocalId                             int                                 `json:"local-id"`
+       PhysicalCellId                      int                                 `json:"physical-cell-id"`
+       BaseStationChannelBandwidth         BaseStationChannelBandwidth         `json:"base-station-channel-bandwidth"`
+       OperationalState                    string                              `json:"operational-state"`
+       TrackingAreaCode                    int                                 `json:"tracking-area-code"`
+       AdmState                            string                              `json:"administrative-state"`
+       PublicLandMobileNetworks            []PublicLandMobileNetworks          `json:"public-land-mobile-networks"`
+       SupportedMeasurements               []SupportedMeasurements             `json:"supported-measurements"`
+       TrafficState                        string                              `json:"traffic-state"`
+       AbsoluteRadioFrequencyChannelNumber AbsoluteRadioFrequencyChannelNumber `json:"absolute-radio-frequency-channel-number"`
+       UserLabel                           string                              `json:"user-label"`
+       SynchronizationSignalBlock          SynchronizationSignalBlock          `json:"synchronization-signal-block"`
+}
+
+type BaseStationChannelBandwidth struct {
+       Uplink              int `json:"uplink"`
+       Downlink            int `json:"downlink"`
+       SupplementaryUplink int `json:"supplementary-uplink"`
+}
+
+type PublicLandMobileNetworks struct {
+       SliceDifferentiator int    `json:"slice-differentiator"`
+       SliceServiceType    int    `json:"slice-service-type"`
+       MobileCountryCode   string `json:"mobile-country-code"`
+       MobileNetworkCode   string `json:"mobile-network-code"`
+}
+
+type SupportedMeasurements struct {
+       PerformanceMeasurementType         string                               `json:"performance-measurement-type"`
+       SupportedSnssaiSubcounterInstances []SupportedSnssaiSubcounterInstances `json:"supported-snssai-subcounter-instances"`
+}
+
+type SupportedSnssaiSubcounterInstances struct {
+       SliceDifferentiator int `json:"slice-differentiator"`
+       SliceServiceType    int `json:"slice-service-type"`
+}
+
+type AbsoluteRadioFrequencyChannelNumber struct {
+       Uplink              int `json:"uplink"`
+       Downlink            int `json:"downlink"`
+       SupplementaryUplink int `json:"supplementary-uplink"`
+}
+
+type SynchronizationSignalBlock struct {
+       Duration               int `json:"duration"`
+       FrequencyChannelNumber int `json:"frequency-channel-number"`
+       Periodicity            int `json:"periodicity"`
+       SubcarrierSpacing      int `json:"subcarrier-spacing"`
+       Offset                 int `json:"offset"`
 }