blob: eeba22e5484448c3abff5b91d6e97cbe39c6994b [file] [log] [blame]
ychacon5542d262022-02-21 14:40:38 +01001// -
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
21package messages
22
23type ORanDuRestConf struct {
24 DistributedUnitFunction []DistributedUnitFunction `json:"o-ran-sc-du-hello-world:distributed-unit-functions"`
25}
26
27type 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
36type 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
47type 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
54type 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
70type BaseStationChannelBandwidth struct {
71 Uplink int `json:"uplink"`
72 Downlink int `json:"downlink"`
73 SupplementaryUplink int `json:"supplementary-uplink"`
74}
75
76type 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
83type SupportedMeasurements struct {
84 PerformanceMeasurementType string `json:"performance-measurement-type"`
85 SupportedSnssaiSubcounterInstances []SupportedSnssaiSubcounterInstances `json:"supported-snssai-subcounter-instances"`
86}
87
88type SupportedSnssaiSubcounterInstances struct {
89 SliceDifferentiator int `json:"slice-differentiator"`
90 SliceServiceType int `json:"slice-service-type"`
91}
92
93type AbsoluteRadioFrequencyChannelNumber struct {
94 Uplink int `json:"uplink"`
95 Downlink int `json:"downlink"`
96 SupplementaryUplink int `json:"supplementary-uplink"`
97}
98
99type 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}