+
+' Logging Service
+package "Logging Service" #Silver {
+ struct InvocationLog {
+ string aefId (required)
+ string apiInvokerId (required)
+ []Log logs (required)
+ SupportedFeatures supportedFeatures
+ }
+ struct Log {
+ string apiId (required)
+ string apiName (required)
+ string apiVersion (required)
+ InterfaceDescription destInterface
+ string fwdInterface
+ interface inputParameters
+ DurationMs invocationLatency
+ DateTime invocationTime
+ Operation operation
+ interface outputParameters
+ Protocol protocol (required)
+ string resourceName (required)
+ string result (required)
+ InterfaceDescription srcInterface
+ Uri uri
+ }
+}
+InvocationLog::logs "1" o-- "1..N" Log
+InvocationLog::aefId .. APIProviderFunctionDetails::apiProvFuncId
+InvocationLog::apiInvokerId .. APIInvokerEnrolmentDetails::apiInvokerId
+Log::apiId .. ServiceAPIDescription::apiId
+Log::destInterface "0..1" o-- "0..N" InterfaceDescription
+Log::srcInterface "0..1" o-- "0..N" InterfaceDescription
+Log::protocol "0..1" o-- "0..N" Protocol
+Log::operation "0..1" o-- "0..N" Operation
+
+' Auditing Service
+package "Auditing Servive" #PaleVioletRed {
+ struct GetApiInvocationLogsParams {
+ string aefId
+ string apiInvokerId
+ DateTime timeRangeStart
+ DateTime timeRangeEnd
+ string apiId
+ string apiName
+ string apiVersion
+ Protocol protocol
+ Operation operation
+ string result
+ string resourceName
+ InterfaceDescription srcInterface
+ }
+}
+GetApiInvocationLogsParams::aefId .. APIProviderFunctionDetails::apiProvFuncId
+GetApiInvocationLogsParams::apiInvokerId .. APIInvokerEnrolmentDetails::apiInvokerId
+GetApiInvocationLogsParams::apiId .. ServiceAPIDescription::apiId
+GetApiInvocationLogsParams::protocol "0..1" o-- "0..1" Protocol
+GetApiInvocationLogsParams::operation "0..1" o-- "0..1" Operation
+GetApiInvocationLogsParams::srcInterface "0..1" o-- "0..1" InterfaceDescription
+note "A call with\n GetApiInvocationLogsParams\n returns an InvocationLog" as auditLogRel
+GetApiInvocationLogsParams .. auditLogRel
+auditLogRel .. InvocationLog
+
+' Routing Service
+package "Routing Service" {
+ struct RoutingInfo {
+ []RoutingRule routingRules (required)
+ }
+ struct RoutingRule {
+ AefProfile aefProfile (required)
+ []Ipv4AddressRange ipv4AddrRanges
+ []Ipv6AddressRange ipv6AddrRanges
+ }
+ struct GetServiceApisServiceApiIdParams {
+ string aefId (required)
+ SupportedFeatures suppFeat
+ }
+ RoutingInfo::routingRules "1" o-- "1..N" RoutingRule
+ RoutingRule::aefProfile "1" o-- "1" AefProfile
+ GetServiceApisServiceApiIdParams::aefId .. APIProviderFunctionDetails::apiProvFuncId
+ note "A call with\n GetServiceApisServiceApiIdParams\n returns a RoutingInfo" as routingRel
+ GetServiceApisServiceApiIdParams .. routingRel
+ routingRel .. RoutingInfo
+}