1 @startuml Information in rApp registration
2 package "Provider Service" #palegreen {
3 struct APIProviderEnrolmentDetails {
6 []APIProviderFunctionDetails apiProvFuncs
7 string regSec (required)
9 note right of APIProviderEnrolmentDetails::apiProvDomId
10 Id provided by CAPIF Core
12 struct APIProviderFunctionDetails {
14 string apiProvFuncInfo
15 ApiProviderFuncRole apiProviderFuncRole (required)
16 RegistrationInformation regInfo (required)
18 note right of APIProviderFunctionDetails::apiProvFuncId
19 Id provided by CAPIF Core
21 enum ApiProviderFuncRole {
22 AEF: API provider function is API Exposing Function.
23 APF: API provider function is API Publishing Function.
24 AMF: API Provider function is API Management Function.
26 struct RegistrationInformation {
28 string apiProvPubKey (required)
31 APIProviderEnrolmentDetails::apiProvFuncs "1" o-- "1..N" APIProviderFunctionDetails
32 APIProviderFunctionDetails::regInfo "1" o-- "1" RegistrationInformation
33 APIProviderFunctionDetails::apiProviderFuncRole "1" o-- "1" ApiProviderFuncRole
35 package "Publish Service" #lightblue {
36 struct ServiceAPIDescription {
38 string apiName (required)
40 []AefProfile aefProfiles
42 note left of ServiceAPIDescription::apiId
43 Id provided by CAPIF Core
45 note "apfId matching\n APIProviderFunctionDetails::apiProvFuncId\n must be provided when publishing" as publishProviderRel
46 ServiceAPIDescription .. publishProviderRel
47 publishProviderRel .. APIProviderFunctionDetails::apiProvFuncId
49 string aefId (required)
52 []InterfaceDescription interfaceDescriptions
54 []SecurityMethod securityMethods
55 []Version versions (required)
64 note "AefProfile::aefId should match\n APIProviderFunctionDetails::apiProvFuncId" as aefIdRel
65 APIProviderFunctionDetails::apiProvFuncId .. aefIdRel
66 aefIdRel .. AefProfile::aefId
67 struct InterfaceDescription {
71 []SecurityMethod securityMethods
73 note left of InterfaceDescription::securityMethods
74 Security methods supported by the interface,
75 it take precedence over the security methods
76 provided in AefProfile, for this specific interface.
79 []CustomOperation custOperations
82 string apiVersion (required)
84 struct CustomOperation {
85 CommunicationType commType (required)
86 string custOpName (required)
88 []Operation operations
103 string resourceName (required)
104 string uri (required)
105 CommunicationType commType (required)
108 enum CommunicationType {
113 ServiceAPIDescription::aefProfiles "1" o-- "1..N" AefProfile
114 AefProfile::interfaceDescriptions "1" o-- "1..N" InterfaceDescription
115 AefProfile::protocol "0..1" o-- "0..1" Protocol
116 AefProfile::securityMethods "1" o-- "1..N" SecurityMethod
117 AefProfile::dataFormat "0..1" o-- "0..N" DataFormat
118 InterfaceDescription::securityMethods "1" o-- "1..N" SecurityMethod
119 AefProfile::versions "1" o-- "1..N" Version
120 Version::resources "1..N" o-- "1..N" Resource
121 Version::custOperations "0..1" o-- "0..N" CustomOperation
122 CustomOperation::CommunicationType "1" o-- "1" CommunicationType
123 CustomOperation::operations "0..N" o-- "0..N" Operation
124 Resource::commType "1" o-- "1" CommunicationType
126 package "Invoker Management" #coral {
127 struct APIInvokerEnrolmentDetails {
129 string apiInvokerInformation
131 OnboardingInformation onboardingInformation (required)
133 struct OnboardingInformation {
134 string apiInvokerCertificate
135 string ApiInvokerPublicKey (required)
136 string onboardingSecret
138 note right of OnboardingInformation::onboardingSecret
139 Secret provided by CAPIF Core
141 note right of APIInvokerEnrolmentDetails::apiInvokerId
142 Id provided by CAPIF Core
145 APIInvokerEnrolmentDetails::apiList "1" o-- "1..N" ServiceAPIDescription : APIList containing services\n available for the invoker.\n Provided by capifcore
146 APIInvokerEnrolmentDetails::onboardingInformation "1" o-- "1" OnboardingInformation
148 package "Discover Service" #Yellow {
149 struct DiscoveredAPIs {
150 []ServiceAPIDescription serviceAPIDescriptions
153 DiscoveredAPIs::serviceAPIDescriptions "0..N" o-- "0..N" ServiceAPIDescription
154 note "Services can only be discovered\n for an onboarded invoker through\n APIInvokerEnrolmentDetails::apiId" as invokerDiscoverRel
155 DiscoveredAPIs .. invokerDiscoverRel
156 invokerDiscoverRel .. APIInvokerEnrolmentDetails::apiInvokerId