Newer
Older
module BwManagementAPI_TypesAndValues {
// JSON
import from JSON all;
// LibCommon
import from LibCommon_BasicTypesAndValues all;
/**
* @member type_ A URI reference according to IETF RFC 3986 that identifies the problem type
* @member title A short, human-readable summary of the problem type
* @member status The HTTP status code for this occurrence of the problem
* @member detail A human-readable explanation specific to this occurrence of the problem
* @member instance A URI reference that identifies the specific occurrence of the problem
* @see IETF RFC 7807 Clause 3. The Problem Details JSON Object
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
*/
type record ProblemDetails {
JSON.String type_,
JSON.String title,
UInt32 status,
JSON.String detail,
JSON.String instance
} with {
variant (type_) "name as 'type'";
}
/**
* @desc Information of bandwidth resource
* @member
*/
type record BwInfo {
TimeStamp timeStamp optional,
AppInsId appInsId,
RequestType requestType,
SessionFilter sessionFilter optional,
FixedBWPriority fixedBWPriority,
FixedAllocation fixedAllocation,
AllocationDirection allocationDirection
}
/**
* @desc Conform to JSON merge patch format and processing rules specified IETF RFC 7396 [8], this type represents the attributes whose value are allowed to be updated with HTTP PATCH method in content format JSON
* @member
*/
type record BwInfoDeltas {
AppInsId appInsId,
RequestType requestType,
SessionFilter sessionFilter optional,
FixedBWPriority fixedBWPriority,
FixedAllocation fixedAllocation,
AllocationDirection allocationDirection
}
/**
* @desc
* @member seconds The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
* @member nanoSeconds The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
*/
type record TimeStamp {
Seconds seconds,
NanoSeconds nanoSeconds
}
/**
* @desc Application instance identifier
*/
type JSON.String AppInsId;
/**
* @desc Numeric value (0 - 255) corresponding to specific type of consumer
*/
type enumerated RequestType {
APPLICATION_SPECIFIC_BW_ALLOCATION,
SESSION_SPECIFIC_BW_ALLOCATION
}
/**
* @desc Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only. In case multiple sessions match sessionFilter the request shall be rejected
*/
type record of SessionFilterItems SessionFilter;
type record SessionFilterItems {
SourceIp sourceIp,
SourcePort sourcePort,
DstAddress dstAddress,
DstPort dstPort,
Protocol protocol
}
/**
* @desc Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document
*/
type enumerated FixedBWPriority {
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
}
/**
* @desc Size of requested fixed BW allocation in [bps]
*/
type JSON.String FixedAllocation;
/**
* @desc The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
*/
type UInt32 Seconds;
/**
* @desc The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
*/
type UInt32 NanoSeconds;
/**
* @desc The direction of the requested BW allocation
*/
type enumerated AllocationDirection {
Downlink,
Uplink,
Symmetrical
}
/**
* @desc Source address identity of session (including range)
*/
type JSON.String SourceIp;
/**
* @desc Source port identity of session
*/
type record of JSON.String SourcePort;
/**
* @desc Destination address identity of session (including range)
*/
type JSON.String DstAddress;
/**
* @desc Destination port identity of session
*/
type record of JSON.String DstPort;
/**
* @desc Protocol number
*/
type JSON.String Protocol;
} with {
encode "JSON"
} // End of module BwManagementAPI_TypesAndValues