AppEnablementAPI_Templates.ttcn 5.23 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
  template (value) TrafficRule m_traffic_rule(
                                              in TrafficRule_Id p_trafficRuleId,
                                              in TrafficRule_FilterType p_filterType := FLOW,
                                              in TrafficRule_Priority p_priority := 1,
                                              in TrafficFilterList p_trafficFilter := {},
                                              in TrafficRule_Action p_action_,
                                              in TrafficRule_State p_state := ACTIVE
                                              ) := {
    trafficRuleId := p_trafficRuleId,
    filterType    := p_filterType,
    priority      := p_priority,
    trafficFilter := p_trafficFilter,
    action_       := p_action_,
    dstInterface  := omit,
    state         := p_state
  } // End of template m_traffic_rule
  
  template (present) TrafficRule mw_traffic_rule(
                                                 template (present) TrafficRule_Id p_trafficRuleId := ?,
                                                 template (present) TrafficRule_FilterType p_filterType := ?,
                                                 template (present) TrafficRule_Priority p_priority := ?,
                                                 template (present) TrafficFilterList p_trafficFilter := ?,
                                                 template (present) TrafficRule_Action p_action_ := ?,
                                                 template (present) TrafficRule_State p_state := ?
                                                 ) := {
    trafficRuleId := p_trafficRuleId,
    filterType    := p_filterType,
    priority      := p_priority,
    trafficFilter := p_trafficFilter,
    action_       := p_action_,
    dstInterface  := *,
    state         := p_state
  } // End of template mw_traffic_rule
  
YannGarcia's avatar
YannGarcia committed
} // End of module AppEnablementAPI_Templates