1 @startuml Information in rApp registration
2 struct APIProviderEnrolmentDetails #palegreen {
5 []APIProviderFunctionDetails apiProvFuncs
6 string regSec (required)
8 note right of APIProviderEnrolmentDetails::apiProvDomId
9 Id provided by CAPIF Core
11 struct APIProviderFunctionDetails #palegreen {
13 string apiProvFuncInfo
14 ApiProviderFuncRole apiProviderFuncRole (required)
15 RegistrationInformation regInfo (required)
17 note right of APIProviderFunctionDetails::apiProvFuncId
18 Id provided by CAPIF Core
20 enum ApiProviderFuncRole #palegreen {
21 AEF: API provider function is API Exposing Function.
22 APF: API provider function is API Publishing Function.
23 AMF: API Provider function is API Management Function.
25 struct RegistrationInformation #palegreen {
27 string apiProvPubKey (required)
29 APIProviderEnrolmentDetails::apiProvFuncs "1" o-- "1..N" APIProviderFunctionDetails
30 APIProviderFunctionDetails::regInfo "1" o-- "1" RegistrationInformation
31 APIProviderFunctionDetails::apiProviderFuncRole "1" o-- "1" ApiProviderFuncRole
33 struct ServiceAPIDescription #lightblue {
35 string apiName (required)
37 []AefProfile aefProfiles
39 note right of ServiceAPIDescription
40 Id provided by CAPIF Core
42 struct AefProfile #lightblue {
43 string aefId (required)
46 []InterfaceDescription interfaceDescriptions
48 []SecurityMethod securityMethods
49 []Version versions (required)
51 enum DataFormat #lightblue {
54 enum Protocol #lightblue {
58 note "AefProfile::aefId should match\n APIProviderFunctionDetails::apiProvFuncId" as aefIdRel
59 APIProviderFunctionDetails::apiProvFuncId .. aefIdRel
60 aefIdRel .. AefProfile::aefId
61 struct InterfaceDescription #lightblue {
65 []SecurityMethod securityMethods
67 note left of InterfaceDescription::securityMethods
68 Security methods supported by the interface,
69 it take precedence over the security methods
70 provided in AefProfile, for this specific interface.
72 struct Version #lightblue {
73 []CustomOperation custOperations
76 string apiVersion (required)
78 struct CustomOperation #lightblue {
79 CommunicationType commType (required)
80 string custOpName (required)
82 []Operation operations
84 enum Operation #lightblue {
91 enum SecurityMethod #lightblue {
96 struct Resource #lightblue {
97 string resourceName (required)
99 CommunicationType commType (required)
102 enum CommunicationType #lightblue {
106 ServiceAPIDescription::aefProfiles "1" o-- "1..N" AefProfile
107 AefProfile::interfaceDescriptions "1" o-- "1..N" InterfaceDescription
108 AefProfile::protocol "0..1" o-- "0..1" Protocol
109 AefProfile::securityMethods "1" o-- "1..N" SecurityMethod
110 AefProfile::dataFormat "0..1" o-- "0..N" DataFormat
111 InterfaceDescription::securityMethods "1" o-- "1..N" SecurityMethod
112 AefProfile::versions "1" o-- "1..N" Version
113 Version::resources "1..N" o-- "1..N" Resource
114 Version::custOperations "0..1" o-- "0..N" CustomOperation
115 CustomOperation::CommunicationType "1" o-- "1" CommunicationType
116 CustomOperation::operations "0..N" o-- "0..N" Operation
117 Resource::commType "1" o-- "1" CommunicationType
119 struct APIInvokerEnrolmentDetails #coral {
121 string apiInvokerInformation
123 OnboardingInformation onboardingInformation (required)
125 struct OnboardingInformation #coral {
126 string apiInvokerCertificate
127 string ApiInvokerPublicKey (required)
128 string onboardingSecret
130 note right of OnboardingInformation::onboardingSecret
131 Secret provided by CAPIF Core
133 note left of APIInvokerEnrolmentDetails::apiInvokerId
134 Id provided by CAPIF Core
136 APIInvokerEnrolmentDetails::apiList "1" o-- "1..N" ServiceAPIDescription : APIList
137 APIInvokerEnrolmentDetails::onboardingInformation "1" o-- "1" OnboardingInformation