CI: Add silent prescan SonarCloud job
[nonrtric/rapp/ransliceassurance.git] / smoversion / messages / policyRatio.go
1 // -
2 //   ========================LICENSE_START=================================
3 //   O-RAN-SC
4 //   %%
5 //   Copyright (C) 2021: Nordix Foundation
6 //   %%
7 //   Licensed under the Apache License, Version 2.0 (the "License");
8 //   you may not use this file except in compliance with the License.
9 //   You may obtain a copy of the License at
10 //
11 //        http://www.apache.org/licenses/LICENSE-2.0
12 //
13 //   Unless required by applicable law or agreed to in writing, software
14 //   distributed under the License is distributed on an "AS IS" BASIS,
15 //   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 //   See the License for the specific language governing permissions and
17 //   limitations under the License.
18 //   ========================LICENSE_END===================================
19 //
20
21 package messages
22
23 type ORanDuRestConf struct {
24         DistributedUnitFunction []DistributedUnitFunction `json:"o-ran-sc-du-hello-world:distributed-unit-functions"`
25 }
26
27 type DistributedUnitFunction struct {
28         Id               string           `json:"id"`
29         OperationalState string           `json:"operational-state"`
30         AdmState         string           `json:"administrative-state"`
31         UserLabel        string           `json:"user-label"`
32         RRMPolicyRatio   []RRMPolicyRatio `json:"radio-resource-management-policy-ratio"`
33         Cell             []Cell           `json:"cell"`
34 }
35
36 type RRMPolicyRatio struct {
37         Id                      string            `json:"id"`
38         AdmState                string            `json:"administrative-state"`
39         UserLabel               string            `json:"user-label"`
40         RRMPolicyMaxRatio       int               `json:"radio-resource-management-policy-max-ratio"`
41         RRMPolicyMinRatio       int               `json:"radio-resource-management-policy-min-ratio"`
42         RRMPolicyDedicatedRatio int               `json:"radio-resource-management-policy-dedicated-ratio"`
43         ResourceType            string            `json:"resource-type"`
44         RRMPolicyMembers        []RRMPolicyMember `json:"radio-resource-management-policy-members"`
45 }
46
47 type RRMPolicyMember struct {
48         MobileCountryCode   string `json:"mobile-country-code"`
49         MobileNetworkCode   string `json:"mobile-network-code"`
50         SliceDifferentiator int    `json:"slice-differentiator"`
51         SliceServiceType    int    `json:"slice-service-type"`
52 }
53
54 type Cell struct {
55         Id                                  string                              `json:"id"`
56         LocalId                             int                                 `json:"local-id"`
57         PhysicalCellId                      int                                 `json:"physical-cell-id"`
58         BaseStationChannelBandwidth         BaseStationChannelBandwidth         `json:"base-station-channel-bandwidth"`
59         OperationalState                    string                              `json:"operational-state"`
60         TrackingAreaCode                    int                                 `json:"tracking-area-code"`
61         AdmState                            string                              `json:"administrative-state"`
62         PublicLandMobileNetworks            []PublicLandMobileNetworks          `json:"public-land-mobile-networks"`
63         SupportedMeasurements               []SupportedMeasurements             `json:"supported-measurements"`
64         TrafficState                        string                              `json:"traffic-state"`
65         AbsoluteRadioFrequencyChannelNumber AbsoluteRadioFrequencyChannelNumber `json:"absolute-radio-frequency-channel-number"`
66         UserLabel                           string                              `json:"user-label"`
67         SynchronizationSignalBlock          SynchronizationSignalBlock          `json:"synchronization-signal-block"`
68 }
69
70 type BaseStationChannelBandwidth struct {
71         Uplink              int `json:"uplink"`
72         Downlink            int `json:"downlink"`
73         SupplementaryUplink int `json:"supplementary-uplink"`
74 }
75
76 type PublicLandMobileNetworks struct {
77         SliceDifferentiator int    `json:"slice-differentiator"`
78         SliceServiceType    int    `json:"slice-service-type"`
79         MobileCountryCode   string `json:"mobile-country-code"`
80         MobileNetworkCode   string `json:"mobile-network-code"`
81 }
82
83 type SupportedMeasurements struct {
84         PerformanceMeasurementType         string                               `json:"performance-measurement-type"`
85         SupportedSnssaiSubcounterInstances []SupportedSnssaiSubcounterInstances `json:"supported-snssai-subcounter-instances"`
86 }
87
88 type SupportedSnssaiSubcounterInstances struct {
89         SliceDifferentiator int `json:"slice-differentiator"`
90         SliceServiceType    int `json:"slice-service-type"`
91 }
92
93 type AbsoluteRadioFrequencyChannelNumber struct {
94         Uplink              int `json:"uplink"`
95         Downlink            int `json:"downlink"`
96         SupplementaryUplink int `json:"supplementary-uplink"`
97 }
98
99 type SynchronizationSignalBlock struct {
100         Duration               int `json:"duration"`
101         FrequencyChannelNumber int `json:"frequency-channel-number"`
102         Periodicity            int `json:"periodicity"`
103         SubcarrierSpacing      int `json:"subcarrier-spacing"`
104         Offset                 int `json:"offset"`
105 }