Commit d38a8fbf authored by YannGarcia's avatar YannGarcia
Browse files

Add BwManagementAPI types

parent 50e5eb56
/**
* @author ETSI / STF569
* @version $URL:$
* $ID:$
* @desc This module provides the MEC test cases.
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
* @see ETSI GS MEC 003, Draft ETSI GS MEC 013 V2.0.3 (2018-10)
*/
module AtsMec_BwManagementAPI_TestCases {
// Libcommon
import from LibCommon_Time all;
import from LibCommon_VerdictControl all;
import from LibCommon_Sync all;
// LibHttp
import from LibItsHttp_TypesAndValues all;
import from LibItsHttp_Functions all;
import from LibItsHttp_Templates all;
import from LibItsHttp_JsonTemplates all;
import from LibItsHttp_TestSystem all;
// LibMec/BwManagementAPI
import from BwManagementAPI_TypesAndValues all;
import from BwManagementAPI_Templates all;
// LibMec
import from LibMec_Functions all;
import from LibMec_Pics all;
import from LibMec_Pixits all;
group me_app_role {
} // End of group me_app_role
} // End of module AtsMec_BwManagementAPI_TestCases
......@@ -16,6 +16,7 @@ module AtsMec_TestControl {
import from AtsMec_UEinformation_TestCases all;
import from AtsMec_RadioNodeLocationAPI_TestCases all;
import from AtsMec_RnisAPI_TestCases all;
import from AtsMec_BwManagementAPI_TestCases all;
control {
......
This diff is collapsed.
module BwManagementAPI_Templates {
// JSON
import from JSON all;
// LibCommon
import from LibCommon_BasicTypesAndValues all;
// LibMec/BwManagementAPI
import from BwManagementAPI_TypesAndValues all;
template (value) ProblemDetails m_problem_details(
in JSON.String p_type,
in JSON.String p_title,
in UInt32 p_status,
in JSON.String p_detail,
in JSON.String p_instance
) := {
type_ := p_type,
title := p_title,
status := p_status,
detail := p_detail,
instance := p_instance
} // End of template m_problem_details
template (present) ProblemDetails mw_problem_details(
template (present) JSON.String p_type := ?,
template (present) JSON.String p_title := ?,
template (present) UInt32 p_status := ?,
template (present) JSON.String p_detail := ?,
template (present) JSON.String p_instance := ?
) := {
type_ := p_type,
title := p_title,
status := p_status,
detail := p_detail,
instance := p_instance
} // End of template mw_problem_details
template (value) BwInfo m_bw_info(
in AppInsId p_appInsId,
in RequestType p_requestType,
in FixedBWPriority p_fixedBWPriority,
in FixedAllocation p_fixedAllocation,
in AllocationDirection p_allocationDirection
) := {
timeStamp := omit,
appInsId := p_appInsId,
requestType := p_requestType,
sessionFilter := omit,
fixedBWPriority := p_fixedBWPriority,
fixedAllocation := p_fixedAllocation,
allocationDirection := p_allocationDirection
} // End of template m_bw_info
template (present) BwInfo mw_bw_info(
template (present) AppInsId p_appInsId := ?,
template (present) RequestType p_requestType := ?,
template (present) FixedBWPriority p_fixedBWPriority := ?,
template (present) FixedAllocation p_fixedAllocation := ?,
template (present) AllocationDirection p_allocationDirection := ?
) := {
timeStamp := *,
appInsId := p_appInsId,
requestType := p_requestType,
sessionFilter := *,
fixedBWPriority := p_fixedBWPriority,
fixedAllocation := p_fixedAllocation,
allocationDirection := p_allocationDirection
} // End of template mw_bw_info
template (value) BwInfoDeltas m_bw_info_delta(
in AppInsId p_appInsId,
in RequestType p_requestType,
in template (value) SessionFilter p_sessionFilter,
in FixedBWPriority p_fixedBWPriority,
in FixedAllocation p_fixedAllocation,
in AllocationDirection p_allocationDirection
) := {
appInsId := p_appInsId,
requestType := p_requestType,
sessionFilter := p_sessionFilter,
fixedBWPriority := p_fixedBWPriority,
fixedAllocation := p_fixedAllocation,
allocationDirection := p_allocationDirection
} // End of template m_bw_info_delta
template (present) BwInfoDeltas mw_bw_info_delta(
template (present) AppInsId p_appInsId := ?,
template (present) RequestType p_requestType := ?,
template (present) SessionFilter p_sessionFilter := ?,
template (present) FixedBWPriority p_fixedBWPriority := ?,
template (present) FixedAllocation p_fixedAllocation := ?,
template (present) AllocationDirection p_allocationDirection := ?
) := {
appInsId := p_appInsId,
requestType := p_requestType,
sessionFilter := p_sessionFilter,
fixedBWPriority := p_fixedBWPriority,
fixedAllocation := p_fixedAllocation,
allocationDirection := p_allocationDirection
} // End of template mw_bw_info_delta
} // End of module BwManagementAPI_Templates
module BwManagementAPI_TypesAndValues {
// JSON
import from JSON all;
// LibCommon
import from LibCommon_BasicTypesAndValues all;
/**
* @desc
* @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
*/
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 {
reserved
}
/**
* @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
......@@ -5,15 +5,15 @@ module LocationAPI_TypesAndValues {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
/**
* @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 {
UInt32 seconds,
UInt32 nanoSeconds
Seconds seconds,
NanoSeconds nanoSeconds
}
/**
......@@ -375,7 +375,17 @@ REST_NetAPI_Common].
NumberOfUsersAPThreshold numberOfUsersAPThreshold optional,
OperationStatus operationStatus optional
}
/**
* @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;
} with {
encode "JSON"
}
......@@ -6,6 +6,8 @@ module LibItsHttp_JsonMessageBodyTypes {
import from UEidentityAPI_TypesAndValues all;
// LibMec/RnisAPI
import from RnisAPI_TypesAndValues all;
// LibMec/BwManagementApi
import from BwManagementAPI_TypesAndValues all;
/**
* This file volontary contains a trivial declaration of the type JsonBody.
......@@ -24,6 +26,7 @@ module LibItsHttp_JsonMessageBodyTypes {
SubscriptionLinkList subscriptionLinkList,
CellChangeSubscription cellChangeSubscription,
RnisAPI_TypesAndValues.ProblemDetails problemDetails_rnis,
BwManagementAPI_TypesAndValues.ProblemDetails problemDetails_bw_management,
universal charstring raw
} with {
variant ""
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment