From: elinuxhenrik Date: Mon, 5 Dec 2022 15:42:55 +0000 (+0100) Subject: Add Event Service to diagrams X-Git-Tag: 1.0.0~11 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=86b2798a9b7dd2ac07eed563d1acbb26c0e5c2be;p=nonrtric%2Fplt%2Fsme.git Add Event Service to diagrams Issue-ID: NONRTRIC-814 Signed-off-by: elinuxhenrik Change-Id: I758618c6ca559a6e9c79b48848cbd9bc37fe3960 --- diff --git a/capifcore/README.md b/capifcore/README.md index 922783c..e561d63 100644 --- a/capifcore/README.md +++ b/capifcore/README.md @@ -30,7 +30,7 @@ The data used within CAPIF Core is shown in the diagram below. An example of how an rApp that both exposes and consumes services can be registered in CAPIF Core is shown in the sequence diagram below. Discovery of services for an invoker is also shown. -***NOTE!*** It has not been decided that CAPIF Core will actually do the Helm chart installation. This is just provided in the prototype as an example of what CAPIF Core could do. Before publisihing a service, the chart that belongs to the service must be registered in ChartMusem. When publishing the service the following information should be provided in the `ServiceAPIDescription::description` attribute; "namespace", "repoName", "chartName", "releaseName". An example of the information: "Description of rApp helloWorld,namespace,repoName,chartName,releaseName". +***NOTE!*** It has not been decided that CAPIF Core will actually do the Helm chart installation. This is just provided in the prototype as an example of what CAPIF Core could do. Before publishing a service, the chart that belongs to the service must be registered in ChartMuseum. When publishing the service the following information should be provided in the `ServiceAPIDescription::description` attribute; "namespace", "repoName", "chartName", "releaseName". An example of the information: "Description of rApp helloWorld,namespace,repoName,chartName,releaseName". @@ -89,4 +89,4 @@ To run the Core Function from the command line, run the following commands from ./capifcore [-port ] [-chartMuseumUrl ] [-repoName ] [-loglevel ] -To run CAPIF Core as a K8s pod together with ChartMuseum, start and stop scipts are provided. The pod configurations are provided in the `configs` folder. CAPIF Core is then available att port `31570`. +To run CAPIF Core as a K8s pod together with ChartMuseum, start and stop scripts are provided. The pod configurations are provided in the `configs` folder. CAPIF Core is then available att port `31570`. diff --git a/capifcore/docs/diagrams/Information in rApp registration.svg b/capifcore/docs/diagrams/Information in rApp registration.svg index b550ec9..2ce5f1a 100644 --- a/capifcore/docs/diagrams/Information in rApp registration.svg +++ b/capifcore/docs/diagrams/Information in rApp registration.svg @@ -1,60 +1,88 @@ -Provider ServicePublish ServiceInvoker ManagementDiscover ServiceSecurity ServiceAPIProviderEnrolmentDetailsstring apiProvDomIdstring apiProvDomInfo[]APIProviderFunctionDetails apiProvFuncsstring regSec (required)Id provided by CAPIF CoreAPIProviderFunctionDetailsstring apiProvFuncIdstring apiProvFuncInfoApiProviderFuncRole apiProviderFuncRole (required)RegistrationInformation regInfo (required)Id provided by CAPIF CoreApiProviderFuncRoleAEF: API provider function is API Exposing Function.APF: API provider function is API Publishing Function.AMF: API Provider function is API Management Function.RegistrationInformationstring apiProvCertstring apiProvPubKey (required)ServiceAPIDescriptionstring apiIdstring description[]AefProfile aefProfilesstring apiName (required)Id provided by CAPIF CoreapfId matchingAPIProviderFunctionDetails::apiProvFuncIdmust be provided when publishingAefProfileDataFormat dataFormatstring domainName[]InterfaceDescription interfaceDescriptionsProtocol protocol[]SecurityMethod securityMethodsstring aefId (required)[]Version versions (required)DataFormatJSONProtocolHTTP_1_1HTTP_2AefProfile::aefId should matchAPIProviderFunctionDetails::apiProvFuncIdInterfaceDescriptionstring ipv4Addressstring ipv6Addressint port[]SecurityMethod securityMethodsSecurity methods supported by the interface,it take precedence over the security methodsprovided in AefProfile, for this specific interface.Version[]CustomOperation custOperationsDateTime expiry[]Resource resourcesstring apiVersion (required)CustomOperationstring description[]Operation operationsCommunicationType commType (required)string custOpName (required)OperationGETPOSTPUTPATCHDELETESecurityMethodPSKPKIOAUTHResourcestring descriptionstring resourceName (required)string uri (required)CommunicationType commType (required)CommunicationTypeREQUEST_RESPONSESUBSCRIBE_NOTIFYAPIInvokerEnrolmentDetailsstring apiInvokerIdstring apiInvokerInformationAPIList apiListOnboardingInformation onboardingInformation (required)OnboardingInformationstring apiInvokerCertificatestring onboardingSecretstring ApiInvokerPublicKey (required)DiscoveredAPIs[]ServiceAPIDescription serviceAPIDescriptionsAccessTokenReqstring client_secretstring scopestring grant_type (required)string client_id (required)AccessTokenRspstring scopestring access_token (required)string token_type (required)DurationSec expires_in (required)Secret provided by CAPIF CoreId provided by CAPIF CoreServices can only be discoveredfor an onboarded invoker throughAPIInvokerEnrolmentDetails::apiIdAccessTokenReq::client_id andAccessTokenReq::client_secretmust match registered invokerFunction provided inAccessTokenReq:scopemust be registered for a providerAPI provided inAccessTokenReq:scopemust be published11..N111111..N11..N0..10..111..N0..10..N11..N11..N1..N1..N0..10..N110..N0..N11APIList containing servicesavailable for the invoker.Provided by capifcore11..N110..N0..NProvider ServicePublish ServiceInvoker ManagementDiscover ServiceSecurity ServiceEvent ServiceAccess Control PolicyAPIProviderEnrolmentDetailsstring apiProvDomIdstring apiProvDomInfo[]APIProviderFunctionDetails apiProvFuncsstring regSec (required)Id provided by CAPIF CoreAPIProviderFunctionDetailsstring apiProvFuncIdstring apiProvFuncInfoApiProviderFuncRole apiProviderFuncRole (required)RegistrationInformation regInfo (required)Id provided by CAPIF CoreApiProviderFuncRoleAEF: API provider function is API Exposing Function.APF: API provider function is API Publishing Function.AMF: API Provider function is API Management Function.RegistrationInformationstring apiProvCertstring apiProvPubKey (required)ServiceAPIDescriptionstring apiIdstring description[]AefProfile aefProfilesstring apiName (required)Id provided by CAPIF CoreapfId matchingAPIProviderFunctionDetails::apiProvFuncIdmust be provided when publishingAefProfileDataFormat dataFormatstring domainName[]InterfaceDescription interfaceDescriptionsProtocol protocol[]SecurityMethod securityMethodsstring aefId (required)[]Version versions (required)DataFormatJSONProtocolHTTP_1_1HTTP_2AefProfile::aefId should matchAPIProviderFunctionDetails::apiProvFuncIdInterfaceDescriptionstring ipv4Addressstring ipv6Addressint port[]SecurityMethod securityMethodsSecurity methods supported by the interface,it take precedence over the security methodsprovided in AefProfile, for this specific interface.Version[]CustomOperation custOperationsDateTime expiry[]Resource resourcesstring apiVersion (required)CustomOperationstring description[]Operation operationsCommunicationType commType (required)string custOpName (required)OperationGETPOSTPUTPATCHDELETESecurityMethodPSKPKIOAUTHResourcestring descriptionstring resourceName (required)string uri (required)CommunicationType commType (required)CommunicationTypeREQUEST_RESPONSESUBSCRIBE_NOTIFYAPIInvokerEnrolmentDetailsstring apiInvokerIdstring apiInvokerInformationAPIList apiListOnboardingInformation onboardingInformation (required)OnboardingInformationstring apiInvokerCertificatestring onboardingSecretstring ApiInvokerPublicKey (required)DiscoveredAPIs[]ServiceAPIDescription serviceAPIDescriptionsAccessTokenReqstring client_secretstring scopestring grant_type (required)string client_id (required)AccessTokenRspstring scopestring access_token (required)string token_type (required)DurationSec expires_in (required)EventSubscriptionReportingInformation eventReq[]CAPIFEventFilter eventFilters[]CAPIFEvent events (required)Uri notificationDestination (required)CAPIFEventFilter[]string aefIds[]string apiIds[]string apiInvokerIdsCAPIFEventSERVICE_API_AVAILABLESERVICE_API_UNAVAILABLESERVICE_API_UPDATEAPI_INVOKER_ONBOARDEDAPI_INVOKER_OFFBOARDEDSERVICE_API_INVOCATION_SUCCESSSERVICE_API_INVOCATION_FAILUREACCESS_CONTROL_POLICY_UPDATEACCESS_CONTROL_POLICY_UNAVAILABLEAPI_INVOKER_AUTHORIZATION_REVOKEDAPI_INVOKER_UPDATEDAPI_TOPOLOGY_HIDING_CREATEDAPI_TOPOLOGY_HIDING_REVOKEDReportingInformationDurationSec grpRepTimebool immRepUinteger maxReportNbrNotificationFlag notifFlagNotificationMethod notifMethodPartitioningCriteria partitionCriteriaDurationSec repPeriodSamplingRation sampRatioCAPIFEventDetailAccessControlPolicyListExt accCtrlPolList[]string apiIds[]string apiInvokerIds[]ServiceAPIDescription serviceAPIDescriptionsAccessControlPolicyListExtAccessControlPolicyList accessControlPolicyListstring apiIdAccessControlPolicyList[]ApiInvokerPolicy apiInvokerPoliciesApiInvokerPolicy[]TimeRangeList allowedInvocationTimeRangeListint allowedInvocationsPerSecondint allowedTotalInvocationsstring apiInvokerId (required)TimeRangeListDateTime startTimeDateTime stopTimeId provided by CAPIF CoreSecret provided by CAPIF CoreServices can only be discoveredfor an onboarded invoker throughAPIInvokerEnrolmentDetails::apiInvokerIdAccessTokenReq::client_id andAccessTokenReq::client_secretmust match registered invokerFunction provided inAccessTokenReq:scopemust be registered for a providerAPI provided inAccessTokenReq:scopemust be published11..N111111..N11..N0..10..111..N0..10..N11..N11..N1..N1..N0..10..N110..N0..N11APIList containing servicesavailable for the invoker.Provided by capifcore11..N110..N0..N0..N0..N11..N0..N0..N0..N0..N0..N0..N0..N0..N0..N0..N0..N0..N