@@ -39,21 +39,21 @@ For that purpose NetApps play 2 different roles when interacting with CAPIF:
OpenCAPIF SDK brings a set of functions to integrate with the 5G Core's function CAPIF, as defined in [3GPP Technical Specification (TS) 29.222 V18.5.0 Common API Framework for 3GPP Northbound APIs](https://www.etsi.org/deliver/etsi_ts/129200_129299/129222/18.05.00_60/ts_129222v180500p.pdf). This section shows the mapping between the Python functions available in this SDK and the CAPIF OpenAPI APIs defined the reference standard:
| securities/{securityId}/token (GET) | get_tokens() | Retrieves a security token for a specific `securityId`. This JWT token is used to query the targeted services. |
| service-apis(POST) | publish_services() | Registers a new service API into the system. |
| service-apis (DELETE) | unpublish_service() | Deletes a service API from the system. |
| service-apis (PUT) | update_service() | Updates the details of an existing service API. |
| service-apis (GET) | get_service() | Retrieves the details of a specific service API. |
| service-apis (GET) | get_all_services() | Retrieves a list of all available service APIs. |
| /registrations/{registrationId} (PUT) | update_provider() | Updates a service provider's registration for a specific `registrationId`. |
| /registrations/{registrationId} (DELETE) | offboard_provider() | Deletes a service provider's registration for a specific `registrationId`. |
| /allServiceAPIs (GET) | discover() | Retrieves a list of all available service APIs. |
| /securities/{securityId}/token (GET) | get_tokens() | Retrieves a security token for a specific `securityId`. This JWT token is used to query the targeted services. |
| /{apfId}/service-apis(POST) | publish_services() | Registers a new service API into the system. |
| /{apfId}/service-apis/{serviceApiId} (DELETE) | unpublish_service() | Deletes a service API from the system. |
| /{apfId}/service-apis/{serviceApiId} (PUT) | update_service() | Updates the details of an existing service API. |
| /{apfId}/service-apis (GET) | get_service() | Retrieves the details of a specific service API. |
| /{apfId}/service-apis/{serviceApiId} (GET) | get_all_services() | Retrieves a list of all available service APIs. |
NOTE: Above mentioned CAPIF APIs are defined in these 3GPP references:
@@ -101,6 +101,13 @@ A NetApp development running as an Invoker would usually follow this process ste
```python
invoker.get_tokens()
```
Then all information for using the available APIs would be at Capif_api_security_context_details.json
This file would be placed in the invoker_folder path, more specifically in the folder that corresponds of the capif_username used in the config_file.
Here is a sample of this [file](./samples/capif_api_security_context_details-sample.json)
Here is a sample of the implementation of these [functionality](./netapp-samples/netapp-invoker-sample/netapp-invoker.py)
This image highlights Invoker path using SDK code:
@@ -139,6 +146,8 @@ A NetApp development running as a Provider would typically follow this process s
provider.publish_services()
```
Here is a sample of the implementation of these [functionality](./netapp-samples/netapp-provider-sample/netapp-provider.py)
This image highlights Provider path using SDK code:
Before configuration it's needed to have completed the [prerequirements](./sdk-prerequirements.md) section and the [installation](./sdk-installation.md) section.
Before configuration it's needed to have completed the [requirements](./sdk-prerequirements.md) section and the [installation](./sdk-installation.md) section.
1. In order to leverage OpenCAPIF SDK it is required to have registered a user in the target CAPIF instance, so contact administrator to have required predefined credentials (username and password).