Commit 1579baf8 authored by Elian Kraja's avatar Elian Kraja

Package management for mm3

parent d8c1634b
This diff is collapsed.
module MepmPkgm_Pics {
/**
* @desc Does the IUT support LocationAPI?
*/
modulepar boolean PICS_PKGMGMT_API_SUPPORTED := true;
} // End of module LocationAPI_Pics
module MepmPkgm_Pixits {
// JSON
import from JSON all;
// LibMec/LocationAPI
import from MepmPkgm_TypesAndValues all;
modulepar JSON.String PX_APP_PKG_NAME := "APP_PKG_NAME"
modulepar JSON.String PX_APP_PKG_VERSION := "APP_PKG_VERSION"
modulepar JSON.String PX_CHECKSUM := "CHECKSUM"
modulepar JSON.String PX_APP_PKG_PATH := "APP_PKG_PATH"
modulepar OperationalState PX_OPERATIONAL_STATE := ENABLED
modulepar UsageState PX_USAGE_STATE := NOT_IN_USE
modulepar JSON.String PX_ON_BOARDED_APP_PKG_ID := "5abe4782-2c70-4e47-9a4e-0ee3a1a0fd1f"
modulepar JSON.String PX_NON_EXISTENT_APP_PKG_ID := "NON_EXISTENT_APP_PKG_ID"
modulepar JSON.AnyURI PX_CALLBACK_URI := "http://127.0.0.1/callback"
modulepar SubscriptionType PX_SUBSCRIPTION_TYPE := ON_BOARDING
modulepar SubscriptionTypeWithError PX_SUBSCRIPTION_TYPE_WITH_ERROR := ONBOARDING
modulepar JSON.String PX_SUBSCRIPTION_ID := "e0deee2b-6e50-4f33-ab09-8bf0585025d3"
modulepar JSON.String PX_NON_EXISTENT_SUBSCRIPTION_ID := "NON_EXISTENT_SUBSCRIPTION_ID"
modulepar NotificationType PX_NOTIFICATION_TYPE := ON_BOARDING
modulepar JSON.String PX_APP_D_ID := "5lkj4782-2c70-4e47-9a4e-0ee3a1a0fd1f"
// modulepar JSON.String PX_APP_MOBILITY_SERVICE_ID := "KtRGymNQ84dG3mQfRepa"
//
//
// modulepar SubscriptionType PX_SUBSCRIPTION_TYPE := MobilityProcedureSubscription
//
//
//
// modulepar JSON.String PX_CALLBACK_REFERENCE := "http://127.0.0.1/callback"
//
//
// modulepar JSON.String PX_MEP_ID := "";
} // End of module LocationAPI_Pixits
module MepmPkgm_Templates {
// JSON
import from JSON all;
// LibCommon
import from LibCommon_BasicTypesAndValues all;
import from MepmPkgm_TypesAndValues all;
import from MepmPkgm_Pixits all;
template AppPkg m_package_management (
in String p_appPkgName,
in String p_appPkgVersion,
in String p_checksum,
in String p_appPkgPath
) := {
appPkgName := p_appPkgName,
appPkgVersion := p_appPkgVersion,
checksum := p_checksum,
appPkgPath := p_appPkgPath
}
template AppPkgWithError m_package_management_with_error (
in String p_appPkgVersion,
in String p_checksum,
in String p_appPkgPath
) := {
appPkgVersion := p_appPkgVersion,
checksum := p_checksum,
appPkgPath := p_appPkgPath
}
template (present) OnboardedAppPkgInfo mw_package_management (
in template (present) String p_appPkgId := ?,
in template (present) String p_appName := ?,
in template (present) String p_appDId := ?,
in template (present) String p_appDVersion := ?,
in template (present) String p_checksum := ?,
in template (present) OperationalState p_operationalState := ?,
in template (present) UsageState p_usageState := ?
) := {
appPkgId := p_appPkgId ,
appName := p_appName,
appDId := p_appDId ,
appDVersion := p_appDVersion,
checksum := p_checksum ,
operationalState := p_operationalState,
usageState := p_usageState
}
template (omit) AppPkgSubscription m_app_package_subscription (
in template (omit) AnyURI p_callbackUri := omit,
in template(omit) SubscriptionType p_subscription_type := omit
) := {
callbackUri := p_callbackUri,
subscriptionType := p_subscription_type
}
template (omit) AppPkgSubscriptionWithError m_app_package_subscription_with_error (
in template (omit) AnyURI p_callbackUri := omit,
in template(omit) SubscriptionTypeWithError p_subscription_type := omit
) := {
callbackUri := p_callbackUri,
subscriptionType := p_subscription_type
}
template (present) AppPkgSubscriptionInfo mw_app_package_subscription_info (
in template (present) String p_subscriptionId := ?,
in template (present) SubscriptionType p_subscription_type := ?,
in template (present) AnyURI p_callbackUri := ?
) := {
subscriptionId := p_subscriptionId ifpresent,
subscriptionType := p_subscription_type,
callbackUri := p_callbackUri
}
template (present) AppPkgNotification mw_app_package_notification (
in template (present) String p_notificationId := ?,
in template (present) NotificationType p_notificationType := ?,
in template (present) String p_subscriptionId := ?,
in template (present) AnyURI p_links := ?
) := {
notificationType := p_notificationType,
subscriptionId := p_subscriptionId,
links := p_links
}
} // End of module LocationAPI_Templates
module MepmPkgm_TypesAndValues {
// JSON
import from JSON all;
// LibCommon
import from LibCommon_BasicTypesAndValues all;
type record AppPkg {
JSON.String appPkgName,
JSON.String appPkgVersion,
JSON.String checksum,
JSON.String appPkgPath
}
type record AppPkgWithError {
JSON.String appPkgVersion,
JSON.String checksum,
JSON.String appPkgPath
}
type record of OnboardedAppPkgInfo OnboardedAppPkgInfoList;
type record OnboardedAppPkgInfo {
JSON.String appPkgId,
JSON.String appDId,
JSON.String appName,
JSON.String appDVersion,
JSON.String checksum,
OperationalState operationalState,
UsageState usageState
}
type enumerated AppPkgOperation {
DISABLE,
ENABLE,
ABORT
}
type enumerated OperationalState {
ENABLED,
DISABLED,
DELETION_PENDING
}
type enumerated UsageState {
IN_USE,
NOT_IN_USE
}
type enumerated SubscriptionType {
ON_BOARDING,
OP_CHANGE
}
type enumerated SubscriptionTypeWithError {
ONBOARDING,
OP_CHANGE
}
type record of AppPkgSubscriptionInfo AppPkgSubscriptionInfoList;
type record AppPkgSubscriptionInfo {
JSON.String subscriptionId,
SubscriptionType subscriptionType,
JSON.AnyURI callbackUri
}
type record AppPkgSubscription {
JSON.AnyURI callbackUri,
SubscriptionType subscriptionType
}
type record AppPkgSubscriptionWithError {
JSON.AnyURI callbackUri,
SubscriptionTypeWithError subscriptionType
}
type enumerated NotificationType {
ON_BOARDING,
OP_CHANGE
}
type record AppPkgNotification {
NotificationType notificationType,
JSON.String subscriptionId,
//@TODO: links should be named _links but getting error.
//@TODO: links shuld be a record, but cannot contain self cause self is a key for ttnc
JSON.AnyURI links
}
//
//
//type record of AppMobilityServiceInfo AppMobilityServiceInfos;
//type record AppMobilityServiceInfo {
// RegistrationInfos registeredAppMobilityService ,
// String appMobilityServiceId
//}
//
//type record of RegistrationInfo RegistrationInfos;
//type record RegistrationInfo {
// ServiceConsumerId serviceConsumerId,
// DeviceInformations deviceInformation optional,
// UInt32 expiryTime optional
//}
//
//
//
//
//
//type record of ServiceConsumerId ServiceConsumerIds;
//type record ServiceConsumerId {
// String appInstanceId optional,
// String mepId optional
//}
//
//// Erroneous parameter: appInstance should be appInstanceId
//type record of ServiceConsumer ServiceConsumers;
//type record ServiceConsumer {
// String appInstance optional,
// String mepId optional
//}
//
//type record of DeviceInformation DeviceInformations;
//type record DeviceInformation {
// String associateId
//}
//
//
//type JSON.AnyURI links;
//
//type enumerated SubscriptionType {
// MobilityProcedureSubscription,
// AdjacentAppInfoSubscription
//}
//
//type record Subscription {
// JSON.AnyURI href,
// SubscriptionType subscriptionType
//}
//
//
//type record of AmsSubscriptionLinkList AmsSubscriptionLinkLists;
//type record AmsSubscriptionLinkList {
// JSON.AnyURI links,
// Subscription subscription
//}
//
//
//type record MobilityProcedureSubscriptionError {
// SubscriptionType subscriptionType,
// JSON.AnyURI callbackReference,
// JSON.AnyURI links optional,
// FilterCriteria filterCriteria,
// TimeStamp expiryDeadline optional
//}
//
//
//
//
//type record of MobilityProcedureSubscription MobilityProcedureSubscriptions;
//type record MobilityProcedureSubscription {
// SubscriptionType subscriptionType,
// JSON.AnyURI callbackReference,
// JSON.AnyURI links optional,
// FilterCriteria filterCriteria,
// TimeStamp expiryDeadline optional
//}
//
//type enumerated MobilityStatusType {
// INTERHOST_MOVEOUT_TRIGGERED,
// TARGET_APPINST_CONFIRMED,
// TARGET_TRAFFIC_RULE_ACTIVATED,
// INTERHOST_MOVEOUT_COMPLETED,
// INTERHOST_MOVEOUT_FAILED
//}
//
//type record AssociateIdList {
// String associateId
//}
//
//type record of FilterCriteria FilterCriterias;
//type record FilterCriteria {
// String appInstanceId optional,
// AssociateIdList associateId optional,
// MobilityStatusType mobilityStatus
//}
//
//
//
//type record AdjacentFilterCriteria {
// String appInstanceId optional
//}
//
//
//type record of ExpiryNotification ExpiryNotifications;
//type record ExpiryNotification {
// TimeStamp timeStamp,
// JSON.AnyURI links optional,
// TimeStamp expiryDeadline
//}
//
//type record of AdjacentAppInfoSubscription AdjacentAppInfoSubscriptions;
//type record AdjacentAppInfoSubscription {
// SubscriptionType subscriptionType,
// JSON.AnyURI callbackReference,
// JSON.AnyURI links optional,
// AdjacentFilterCriteria filterCriteria,
// TimeStamp expiryDeadline optional
//}
/**
* @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 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 Problem Details for HTTP APIs
* @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
*/
type record ProblemDetails {
JSON.String type_,
JSON.String title,
UInt32 status,
JSON.String detail,
JSON.String instance
} with {
variant (type_) "name as 'type'";
}
} with {
encode "JSON"
}
......@@ -34,4 +34,8 @@ module LibMec_Pixits {
modulepar charstring PX_MEO_PKGM_SUBS := "/apmi/v1/subscriptions"
modulepar charstring PX_MEPM_PKGM_URI := "/apmi/v1/app_packages"
modulepar charstring PX_MEPM_PKGM_SUBS := "/apmi/v1/subscriptions"
} // 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