Commit 1efe2bc8 authored by YannGarcia's avatar YannGarcia

Start reviewing MEC 011

parent ad85e669
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -19,7 +19,7 @@ module AtsMec_TestControl {
// AtsMec
import from AtsMec_LocationAPI_TestCases all;
import from AtsMec_UEidentityAPI_TestCases all;
import from AtsMec_RadioNodeLocationAPI_TestCases all;
// import from AtsMec_RadioNodeLocationAPI_TestCases all;
import from AtsMec_RnisAPI_TestCases all;
import from AtsMec_BwManagementAPI_TestCases all;
import from AtsMec_AppEnablementAPI_TestCases all;
......@@ -60,16 +60,16 @@ module AtsMec_TestControl {
execute(TC_MEC_SRV_UEINFSUB_002_OK());
execute(TC_MEC_SRV_UEINFSUB_002_NF());
execute(TC_MEC_PLAT_RLOC_001_OK());
execute(TC_MEC_PLAT_RLOC_001_NF());
// execute(TC_MEC_PLAT_RLOC_001_OK());
// execute(TC_MEC_PLAT_RLOC_001_NF());
}
if (PICS_ENABLE_APP_API_SUPPORTED) {
execute(TC_MEC_SRV_TRANS_001_OK());
if (PICS_APP_ENABLEMENT_API_SUPPORTED) {
/*execute(TC_MEC_SRV_TRANS_001_OK());
execute(TC_MEC_SRV_TRAF_001_OK());
execute(TC_MEC_SRV_TRAF_002_OK());
execute(TC_MEC_SRV_TRAF_003_OK());
execute(TC_MEC_SRV_TRAF_001_NF());
execute(TC_MEC_SRV_TRAF_001_NF());*/
}
if (PICS_ENABLE_UE_APP_CTX) {
......
module AppEnablementAPI_Pics {
modulepar boolean PICS_ENABLE_APP_API_SUPPORTED := true;
modulepar boolean PICS_APP_ENABLEMENT_API_SUPPORTED := true;
} // End of module AppEnablementAPI_Pics
module AppEnablementAPI_Pixits {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
// LibMec/AppEnablementAPI
import from AppEnablementAPI_TypesAndValues all;
modulepar universal charstring PX_APP_INSTANCE_ID := "appInst01";
modulepar AppInstanceId PX_APP_INSTANCE_ID := "appInst01";
modulepar universal charstring PX_NON_EXISTENT_APP_INSTANCE_ID := "appInst99";
modulepar AppInstanceId PX_NON_EXISTENT_APP_INSTANCE_ID := "appInst99";
modulepar universal charstring PX_TRAFFIC_RULE_ID := "trafficRuleId01";
modulepar SerName PX_SERVICE_NAME := "serName";
modulepar universal charstring PX_UE_IDENTITY_TAG_INVALID_STATE := "UeTagC";
modulepar SerName PX_NON_EXISTENT_SERVICE_NAME := "unknownSerName";
modulepar universal charstring PX_UE_IDENTITY_TAG_UNKNOWN := "UeTagW";
modulepar SerInstanceId PX_SERVICE_ID := "serInst01";
modulepar SerInstanceId PX_NON_EXISTENT_SERVICE_ID := "serInst99";
modulepar ServiceInfo_Version PX_SERVICE_INFO_VERSION := "1.0.0";
modulepar ServiceInfo_Version PX_NEW_SERVICE_INFO_VERSION := "1.0.0";
modulepar ServiceInfo_State PX_SERVICE_INFO_STATE := ACTIVE;
modulepar SerializerTypes PX_SERIALIZER := JSON;
modulepar SubscriptionType PX_NON_EXISTENT_APP_TERM_NOTIF_SUBSCRIPTION := "";
modulepar AppTerminationNotificationSubscription_CallbackReference PX_APP_TERM_NOTIF_CALLBACK_URI := "";
modulepar Href PX_HREF := "";
modulepar Href PX_SUBSCRIPTION_ID := "";
modulepar Href PX_NON_EXISTENT_SUBSCRIPTION_ID := "";
modulepar DnsRule_Id PX_DNS_RULE_ID := "";
modulepar TrafficRule_Id PX_TRAFFIC_RULE_ID := "trafficRuleId01";
} // End of module AppEnablementAPI_Pixits
......@@ -12,6 +12,7 @@ module AppEnablementAPI_Templates {
// LibMec/AppEna
import from AppEnablementAPI_TypesAndValues all;
import from AppEnablementAPI_Pixits all;
template (present) ProblemDetails mw_problem_details(
template (present) JSON.String p_type := ?,
......@@ -27,6 +28,98 @@ module AppEnablementAPI_Templates {
instance := p_instance
} // End of template mw_problem_details
template (omit) ServiceInfo m_service_info(
in SerName p_serName,
in ServiceInfo_Version p_version := PX_SERVICE_INFO_VERSION,
in ServiceInfo_State p_state := PX_SERVICE_INFO_STATE,
in SerializerTypes p_serializer := PX_SERIALIZER,
in template (omit) SerInstanceId p_serInstanceId := omit,
in template (omit) TransportId p_transportId := omit,
in template (omit) TransportInfo p_transportInfo := omit,
in template (omit) CategoryRef p_serCategory := omit
) := {
serInstanceId := p_serInstanceId,
serName := p_serName,
serCategory := p_serCategory,
version := p_version,
state := p_state,
transportId := p_transportId,
transportInfo := p_transportInfo,
serializer := p_serializer,
scopeOfLocality := omit,
consumedLocalOnly := omit,
isLocal := omit
} // End of template m_service_info
template ServiceInfo mw_service_info(
template (present) SerName p_serName := ?,
template (present) ServiceInfo_Version p_version := ?,
template (present) ServiceInfo_State p_state := ?,
template (present) SerializerTypes p_serializer := ?,
template SerInstanceId p_serInstanceId := *,
template TransportId p_transportId := *,
template TransportInfo p_transportInfo := *,
template CategoryRef p_serCategory := *
) := {
serInstanceId := p_serInstanceId,
serName := p_serName,
serCategory := p_serCategory,
version := p_version,
state := p_state,
transportId := p_transportId,
transportInfo := p_transportInfo,
serializer := p_serializer,
scopeOfLocality := *,
consumedLocalOnly := *,
isLocal := *
} // End of template mw_service_info
template (omit) SubscriptionLinkList m_subscription_link_list(
in template (value) Links p_links,
in template (omit) Subscriptions p_subscription := omit
) := {
links := p_links,
subscription := p_subscription
} // End of template m_subscription_link_list
template SubscriptionLinkList mw_subscription_link_list(
template (present) Links p_links := ?,
template Subscriptions p_subscription := *
) := {
links := p_links,
subscription := p_subscription
} // End of template mw_subscription_link_list
template (value) Self m_self(
in template (value) LinkType p_self_,
in template (value) JSON.Bool p_readOnly := false
) := {
self_ := p_self_,
readOnly := p_readOnly
} // End of template m_self
template (value) AppTerminationNotificationSubscription m_app_termination_notif_subscription(
in template (value) AppTerminationNotificationSubscription_CallbackReference p_callbackReference,
in template (value) Self p_links,
in template (value) AppInstanceId p_appInstanceId
) := {
subscriptionType := "AppTerminationNotificationSubscription",
callbackReference := p_callbackReference,
links := p_links,
appInstanceId := p_appInstanceId
} // End of template m_app_termination_notif_subscription
template (present) AppTerminationNotificationSubscription mw_app_termination_notif_subscription(
template (present) AppTerminationNotificationSubscription_CallbackReference p_callbackReference := ?,
template (present) Self p_links := ?,
template (present) AppInstanceId p_appInstanceId := ?
) := {
subscriptionType := "AppTerminationNotificationSubscription",
callbackReference := p_callbackReference,
links := p_links,
appInstanceId := p_appInstanceId
} // End of template mw_app_termination_notif_subscription
template (value) TransportInfo m_transport_info(
in TransportInfo_Id p_id,
in TransportInfo_Name p_name,
......@@ -67,6 +160,38 @@ module AppEnablementAPI_Templates {
implSpecificInfo := *
} // End of template mw_transport_info
template (value) DnsRule m_dns_rule(
in DnsRule_Id p_dnsRuleId,
in DomainName p_domainName,
in DnsRule_IpAddressType p_ipAddressType,
in DnsRule_IpAddress p_ipAddress,
in Ttl p_ttl,
in DnsRule_State p_state := ACTIVE
) := {
dnsRuleId := p_dnsRuleId,
domainName := p_domainName,
ipAddressType := p_ipAddressType,
ipAddress := p_ipAddress,
ttl := p_ttl,
state := p_state
} // End of template m_dns_rule
template (present) DnsRule mw_dns_rule(
template (present) DnsRule_Id p_dnsRuleId := ?,
template (present) DomainName p_domainName := ?,
template (present) DnsRule_IpAddressType p_ipAddressType := ?,
template (present) DnsRule_IpAddress p_ipAddress := ?,
template (present) Ttl p_ttl := ?,
template (present) DnsRule_State p_state := ?
) := {
dnsRuleId := p_dnsRuleId,
domainName := p_domainName,
ipAddressType := p_ipAddressType,
ipAddress := p_ipAddress,
ttl := p_ttl,
state := p_state
} // End of template mw_dns_rule
template (value) TrafficRule m_traffic_rule(
in TrafficRule_Id p_trafficRuleId,
in TrafficRule_FilterType p_filterType := FLOW,
......
......@@ -196,6 +196,7 @@ module AppEnablementAPI_TypesAndValues {
Ttl ttl,
DnsRule_State state
}
type record of DnsRule DnsRuleList;
/**
* @desc Host portion of the address.
......@@ -293,6 +294,33 @@ module AppEnablementAPI_TypesAndValues {
variant (links) "name as '_links'";
}
type record Links {
LinkType self_
} with {
variant (self_) "name as 'self'";
}
/**
* @desc This type represents a list of links related to currently existing subscriptions for a MEC application instance.
*/
type record SubscriptionLinkList {
Links links,
Subscriptions subscription optional
} with {
variant (links) "name as '_links'";
}
/**
* @desc A link to a subscription
* @member
* @member
*/
type record Subscription_ {
JSON.AnyURI href,
SubscriptionType subscriptionType
}
type record of Subscription_ Subscriptions;
/**
* @desc Problem Details for HTTP APIs
* @member type_ A URI reference according to IETF RFC 3986 that identifies the problem type
......@@ -378,7 +406,7 @@ module AppEnablementAPI_TypesAndValues {
*/
type record ServiceAvailabilityNotification {
SerAvailabilityNotificationSubscription_SubscriptionType notificationType,
ServiceInfos services,
ServiceInfoList services,
Subscription links
}
......@@ -409,6 +437,18 @@ module AppEnablementAPI_TypesAndValues {
INACTIVE
}
/**
* @desc Contains the types of locality.
*/
type enumerated LocalityType {
MEC_SYSTEM,
MEC_HOST,
NFVI_POP,
ZONE,
ZONE_GROUP,
NFVI_NODE
}
/**
* @desc Identifier of the platform-provided transport to be used by the service. Valid identifiers may be obtained using the \"Transport information query\" procedure. May be present in POST requests to signal the use of a platform-provided transport for the service, and shall be absent otherwise.
*/
......@@ -428,10 +468,14 @@ module AppEnablementAPI_TypesAndValues {
CategoryRef serCategory optional,
ServiceInfo_Version version,
ServiceInfo_State state,
TransportInfo transportInfo,
SerializerTypes serializer
}
type record of ServiceInfo ServiceInfos;
TransportId transportId optional,
TransportInfo transportInfo optional,
SerializerTypes serializer,
LocalityType scopeOfLocality optional,
boolean consumedLocalOnly optional,
boolean isLocal optional
}
type record of ServiceInfo ServiceInfoList;
/**
* @desc A link to the related subscription.
......
......@@ -310,7 +310,7 @@ module RnisAPI_Templates {
in template (value) CellInfo p_cellInfo,
in template (value) CellUEInfo p_cellUEInfo
) := {
timestamp := p_timestamp,
timestamp_ := p_timestamp,
cellInfo := p_cellInfo,
cellUEInfo := p_cellUEInfo
} // End of template m_l2_measa
......@@ -320,7 +320,7 @@ module RnisAPI_Templates {
template CellInfo p_cellInfo := *,
template CellUEInfo p_cellUEInfo := *
) := {
timestamp := p_timestamp,
timestamp_ := p_timestamp,
cellInfo := p_cellInfo,
cellUEInfo := p_cellUEInfo
} // End of template mw_l2_measa
......
......@@ -73,7 +73,7 @@ module RnisAPI_TypesAndValues {
* @member cellUEInfo The per cell per UE layer 2 measurements information
*/
type record L2Meas {
TimeStamp timestamp optional,
TimeStamp timestamp_ optional,
CellInfo cellInfo optional,
CellUEInfo cellUEInfo optional
}
......
......@@ -48,4 +48,10 @@ module LibMec_Pixits {
modulepar charstring PX_UE_APPS_URI := "/mx2/v2/app_list";
modulepar charstring PX_MEC_SVC_MGMT_APPS_URI := "/mec_service_mgmt/v1/applications";
modulepar charstring PX_ME_APP_SUPPORT_TIMING_CURRENT_URI := "";
modulepar charstring PX_ME_APP_SUPPORT_URI := "";
} // End of module LibMec_Pixits
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