UEidentityAPI_TypesAndValues.ttcn 2.62 KB
Newer Older
/**
 *  @author     ETSI / STF569
 *  @version    $URL$
 *              $Id$
 *  @desc       Module containing types and values for UeIdentiyAPI protocol
 *  @copyright   ETSI Copyright Notification
 *               No part may be reproduced except as authorized by written permission.
 *               The copyright and the foregoing restriction extend to reproduction in all media.
 *               All rights reserved.
 */
Yann Garcia's avatar
Yann Garcia committed
module UEidentityAPI_TypesAndValues {
  
YannGarcia's avatar
YannGarcia committed
  // JSON
  import from JSON all;
  
Yann Garcia's avatar
Yann Garcia committed
  // LibCommon
  import from LibCommon_BasicTypesAndValues all;
  
  /**
   * @desc Problem Details for HTTP APIs
Yann Garcia's avatar
Yann Garcia committed
   * @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
Yann Garcia's avatar
Yann Garcia committed
   */
  type record ProblemDetails {
YannGarcia's avatar
YannGarcia committed
    JSON.String type_,
    JSON.String title,
Yann Garcia's avatar
Yann Garcia committed
    UInt32 status,
YannGarcia's avatar
YannGarcia committed
    JSON.String detail,
    JSON.String instance
Yann Garcia's avatar
Yann Garcia committed
  } with {
    variant (type_) "name as 'type'";
  }

  /**
   * @desc Information of UE identity tag used in UE Identity feature
   * @member ueIdentityTags 1 to N tags presented by a ME Application instance to a ME Platform
   * @see ETSI GS MEC 014 Clause 7.2    Global definitions and resource structure
Yann Garcia's avatar
Yann Garcia committed
   */
  type record UeIdentityTagInfo {
    UeIdentityTags ueIdentityTags
  }

  /**
   * @desc Specific tag presented by a ME Application instance to a ME Platform
   * @see ETSI GS MEC 014 Clause 6.2.2  Type: UeIdentityTagInfo
Yann Garcia's avatar
Yann Garcia committed
   */
YannGarcia's avatar
YannGarcia committed
  type JSON.String UeIdentityTag;
Yann Garcia's avatar
Yann Garcia committed
  
  /**
   * @desc Status of the resource ueIdentityTagInfo
   * @see ETSI GS MEC 014 Clause 6.2.2  Type: UeIdentityTagInfo
Yann Garcia's avatar
Yann Garcia committed
   */
  type enumerated State {
Yann Garcia's avatar
Yann Garcia committed
    UNREGISTERED,
    REGISTERED
Yann Garcia's avatar
Yann Garcia committed
  }

  /**
   * @desc ME Application instance to a ME Platform
   * @member ueIdentityTag Specific tag presented by a ME Application instance to a ME Platform
   * @member state Status of the resource ueIdentityTagInfo
   * @see ETSI GS MEC 014 Clause 6.2.2  Type: UeIdentityTagInfo
Yann Garcia's avatar
Yann Garcia committed
   */
  type record UeIdentityTagItem {
YannGarcia's avatar
YannGarcia committed
    JSON.String ueIdentityTag,
Yann Garcia's avatar
Yann Garcia committed
    State state
  }

  /**
   * @desc 1 to N tags presented by a ME Application instance to a ME Platform
   * @see ETSI GS MEC 014 Clause 6.2.2  Type: UeIdentityTagInfo
Yann Garcia's avatar
Yann Garcia committed
   */
  type record of UeIdentityTagItem UeIdentityTags;
  
} with {
  encode "JSON"
} // End of module UEidentityAPI_TypesAndValues