AppEnablementAPI_Templates.ttcn 3.37 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 AppEnablementAPI_Templates {

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

  // LibMec/AppEna
  import from AppEnablementAPI_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

YannGarcia's avatar
YannGarcia committed
  template (value) TransportInfo m_transport_info(
                                                  in TransportInfo_Id p_id,
                                                  in TransportInfo_Name p_name,
                                                  in TransportTypes p_type_,
                                                  in TransportInfo_Protocol p_protocol,
                                                  in TransportInfo_Version p_version,
                                                  in template (value) TransportInfo_Endpoint p_endpoint,
                                                  in SecurityInfo p_security
                                                  ) := {
    id               := p_id,
    name             := p_name,
    description      := omit,
    type_            := p_type_,
    protocol         := p_protocol,
    version          := p_version,
    endpoint         := p_endpoint,
    security         := p_security,
    implSpecificInfo := omit
  } // End of template m_transport_info
  
  template (present) TransportInfo mw_transport_info(
                                                     template (present) TransportInfo_Id p_id := ?,
                                                     template (present) TransportInfo_Name p_name := ?,
                                                     template (present) TransportTypes p_type_ := ?,
                                                     template (present) TransportInfo_Protocol p_protocol := ?,
                                                     template (present) TransportInfo_Version p_version := ?,
                                                     template (present) TransportInfo_Endpoint p_endpoint := ?,
                                                     template (present) SecurityInfo p_security := ?
                                                     ) := {
    id               := p_id,
    name             := p_name,
    description      := *,
    type_            := p_type_,
    protocol         := p_protocol,
    version          := p_version,
    endpoint         := p_endpoint,
    security         := p_security,
    implSpecificInfo := *
  } // End of template mw_transport_info
  
YannGarcia's avatar
YannGarcia committed
} // End of module AppEnablementAPI_Templates