UEAppInterfaceAPI_Templates.ttcn 8.36 KB
Newer Older
YannGarcia's avatar
YannGarcia committed
/**
 * @desc The ETSI MEC ISG MEC011 Application Enablement API described using OpenAPI
 * @see http://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/01.01.01_60/gs_mec011v010101p.pdf
 */
module UEAppInterfaceAPI_Templates {

  // JSON
  import from JSON all;
 
  // LibCommon
  import from LibCommon_BasicTypesAndValues all;

  // LibMec/AppEna
  import from UEAppInterfaceAPI_TypesAndValues all;

  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) ApplicationList m_application_list(
                                                      in template (value) AppInfo p_app_info,
                                                      in template (value) VendorSpecificExt p_vendor_specific_ext
                                                      ) := {
    appInfo           := p_app_info,
    vendorSpecificExt := p_vendor_specific_ext
  } // End of template m_application_list

  template (present) ApplicationList mw_application_list(
                                                         template (present) AppInfo p_app_info := ?,
                                                         template (present) VendorSpecificExt p_vendor_specific_ext := ?
                                                         ) := {
    appInfo           := p_app_info,
    vendorSpecificExt := p_vendor_specific_ext
  } // End of template mw_application_list

  template (value) AppContext m_app_context(
                                            in template (value) ContextId p_context_id,
                                            in template (value) AssociateUeAppId p_associate_ue_app_id,
                                            in template (value) RequiredAppInfo p_app_info
                                            ) := {
    contextId         := p_context_id,
    associateUeAppId  := p_associate_ue_app_id,
    appInfo           := p_app_info,
    callbackReference := omit
  } // End of template m_app_context

  template (present) AppContext mw_app_context(
                                               template (present) ContextId p_context_id := ?,
                                               template (present) AssociateUeAppId p_associate_ue_app_id := ?,
                                               template (present) RequiredAppInfo p_app_info := ?
                                            ) := {
    contextId         := p_context_id,
    associateUeAppId  := p_associate_ue_app_id,
    appInfo           := p_app_info,
    callbackReference := *
  } // End of template mw_app_context

  template (value) NotificationEvent m_notification_event(
                                                          in template (value) ReferenceURL p_reference_uri
                                                          ) := {
    referenceURI := p_reference_uri
  } // End of template m_notification_event

  template (present) NotificationEvent mw_notification_event(
                                                             template (present) ReferenceURL p_reference_uri := ?
                                                             ) := {
    referenceURI := p_reference_uri
  } // End of template mw_notification_event

  template (value) VendorSpecificExt m_vendor_specific_ext(
                                                           in template (value) VendorId p_vendor_id
                                                           ) := {
    vendorId := p_vendor_id
  } // End of template m_vendor_specific_ext

  template (present) VendorSpecificExt mw_vendor_specific_ext(
                                                              template (present) VendorId p_vendor_id := ?
                                                              ) := {
    vendorId := p_vendor_id
  } // End of template mw_vendor_specific_ext

  template (value) AppInfoList m_appInfo_list(
                                              in template (value) AppName p_app_name,
                                              in template (value) AppProvider p_app_provider,
                                              in template (value) AppDescription p_app_description
                                              ) := {
    appName        := p_app_name,
    appProvider    := p_app_provider,
    appDescription := p_app_description,
    appSoftVersion := omit,
    appCharcs      := omit
  } // End of template m_appInfo_list

  template (present) AppInfoList mw_appInfo_list(
                                                 template (present) AppName p_app_name := ?,
                                                 template (present) AppProvider p_app_provider := ?,
                                                 template (present) AppDescription p_app_description := ?
                                                 ) := {
    appName        := p_app_name,
    appProvider    := p_app_provider,
    appDescription := p_app_description,
    appSoftVersion := *,
    appCharcs      := *
  } // End of template mw_appInfo_list

  template (value) RequiredAppInfo m_required_app_info(
                                                       in template (value) AppName p_app_name,
                                                       in template (value) AppProvider p_app_provider,
                                                       in template (value) ReferenceURL p_reference_url
                                                       ) := {
    appName          := p_app_name,
    appProvider      := p_app_provider,
    referenceURL     := p_reference_url,
    appSoftVersion   := omit,
    appDescription   := omit,
    appPackageSource := omit
  } // End of template m_required_app_info

  template (present) RequiredAppInfo mw_required_app_info(
                                                          template (present) AppName p_app_name := ?,
                                                          template (present) AppProvider p_app_provider := ?,
                                                          template (present) ReferenceURL p_reference_url := ?
                                                          ) := {
    appName          := p_app_name,
    appProvider      := p_app_provider,
    referenceURL     := p_reference_url,
    appSoftVersion   := *,
    appDescription   := *,
    appPackageSource := *
  } // End of template mw_required_app_info

  template (value) AppCharcs m_app_charcs(
                                          in template (value) Memory p_memory,
                                          in template (value) Storage p_storage,
                                          in template (value) Latency p_latency,
                                          in template (value) Bandwidth p_bandwidth,
                                          in template (value) ServiceCont p_service_cont
                                          ) := {
    memory      := p_memory,
    storage     := p_storage,
    latency     := p_latency,
    bandwidth   := p_bandwidth,
    serviceCont := p_service_cont
  } // End of template m_app_charcs

  template (present) AppCharcs mw_app_charcs(
                                             template (present) Memory p_memory := ?,
                                             template (present) Storage p_storage := ?,
                                             template (present) Latency p_latency := ?,
                                             template (present) Bandwidth p_bandwidth := ?,
                                             template (present) ServiceCont p_service_cont := ?
                                             ) := {
    memory      := p_memory,
    storage     := p_storage,
    latency     := p_latency,
    bandwidth   := p_bandwidth,
    serviceCont := p_service_cont
  } // End of template mw_app_charcs

} // End of module UEAppInterfaceAPI_Templates