Grant_TypesAndValues.ttcn 1.93 KB
Newer Older
module Grant_TypesAndValues {

// JSON
import from JSON all;

// LibCommon
import from LibCommon_BasicTypesAndValues all;


	type enumerated Operation_type {
        INSTANTIATE (0),
        OPERATE (1),
        TERMINATE (2)
  	}
  	

  	
	type record GrantRequest {
		JSON.String	appInstanceId,
    	Operation_type operation
	}
	
	
	type record GrantRequestWithError {
		JSON.String	appInstanceId,
    	Operation_type_error operation
	}
	
	type enumerated Operation_type_error {
        INSTANTIATE (0),
        OPERATE (1),
        TERMINATE (2)
  	}
  	
	type record Grant {
	  	JSON.String appInstanceId
	}

  /**
   * @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"
}