This repository develops a Python Software Development Kit(SDK) which focuses on connecting to OpenCAPIF (Common API Framework for 3GPP Northbound APIs) in a simple way, lowering integration complexity and allowing developers to focus on Network Applications (NetApps) or services development.
OpentCAPIF SDK provides a set of libraries to enable either CAPIF provider and invoker roles, and other functions to simplify procedures calls towards OpenCAPIF entity.
OpenCAPIF SDK provides a set of libraries to enable either CAPIF provider and invoker roles, and other functions to simplify procedures calls towards OpenCAPIF entity.
Current version of OpenCAPIF SDK is compatible with following publicly available releases:
@@ -147,7 +147,7 @@ A NetApp development running as a Provider would typically follow this process s
```
3.**Prepare API details:**\
Locate the provider API details in the provider_folder path, more specifically in the username folder. Choose the APF (Application Programming Function) and AEFs (Application Enabling Functions) identifiers, and fulfill the publish_req structure and the api_description_path:
Locate the provider API details in the provider_folder path, more specifically in the username folder. Choose the APF (Application Programming Function) and AEFs (Application Enabling Functions) identifiers, and fulfil the publish_req structure and the api_description_path:
@@ -91,9 +91,9 @@ This configuration fields is only mandatory if we want to use the [CAPIF_Publish
For using the Publish Api function or the Update function the api_description_path **must** have been modified with the path to the Publish API that is wanted to share following the standard schema for [ServiceAPIDescription](https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS29222_CAPIF_Publish_Service_API.yaml)
**AefIds fields won't need to fill out the from aefProfiles** array because you would already be configurating this fields by completing publisherAEFsids parameter
**AefIds fields won't need to fill out the from aefProfiles** array because you would already be configuring this fields by completing publisherAEFsids parameter
**If the publisherAEFsids parameter don't match with the aefProfiles in your [Api description](../api-samples/provider_api_description_sample.json) you will recieve an error**
**If the publisherAEFsids parameter don't match with the aefProfiles in your [Api description](../api-samples/provider_api_description_sample.json) you will receive an error**
@@ -101,11 +101,11 @@ For using the Publish Api function or the Update function the api_description_pa
# **Configuration via Register.json**
In order to use this SDK in a Local enviroment and creating and removing users, its mandatory to fullfill this fields.
In order to use this SDK in a Local environment and creating and removing users, its mandatory to fulfil this fields.
This Feature is not included in the SDK.
[Here](https://labs.etsi.org/rep/ocf/capif/-/tree/REL1?ref_type=heads) is the link to the CAPIF oficial repository if it's wanted to create the Local enviroment
[Here](https://labs.etsi.org/rep/ocf/capif/-/tree/REL1?ref_type=heads) is the link to the CAPIF official repository if it's wanted to create the Local environment
- register_host:The domain name of your register host
- capif_register_port: The port of your register host
@@ -114,13 +114,13 @@ This Feature is not included in the SDK.
- capif_username: CAPIF user username
- capif_password: CAPIF user password
- config_path: Absolute path to the Config_files folder
- uuid: UUID for Deregistering the user
- uuid: UUID for Deregister the user
This file is only used for the Functionalities of :
- Register and login
- Deregister and login
Each field is obligatory to complete except UUID, which is only obligatory in case of Deregistering the user.
Each field is obligatory to complete except UUID, which is only obligatory in case of Deregister the user.
Although this field is not obligatory we recomend to store the UUID parameter recieved by the Register and login functionality in this field.
Although this field is not obligatory we recommend to store the UUID parameter received by the Register and login functionality in this field.
OpenCAPIF SDK implements this set of features to easily integrate an application with CAPIF NF either manually or integrating SDK library directly within app code.
Before using it, it is required to have fullfilled the [requirements](./sdk-prerequirements.md) section, the [installation](./sdk-installation.md) section and the selected parts of the [configuration](./sdk-configuration.md) depending on the CAPIF role the NetApp is going to play.
Before using it, it is required to have fulfilled the [requirements](./sdk-prerequirements.md) section, the [installation](./sdk-installation.md) section and the selected parts of the [configuration](./sdk-configuration.md) depending on the CAPIF role the NetApp is going to play.
@@ -17,7 +17,7 @@ This repository includes 2 different modes to test OpenCAPIF SDK:
**NOTE**:register file is not needed for the use of the SDK
**IMPORTANT**:It is needed to fill out config files depending on the features required to be used from the SDK.Please if you didn't fullfil this file, go to the [Configuration Section](./sdk-configuration.md)
**IMPORTANT**:It is needed to fill out config files depending on the features required to be used from the SDK.Please if you didn't fulfil this file, go to the [Configuration Section](./sdk-configuration.md)
# Table of contents
@@ -73,7 +73,7 @@ It is mandatory to have onboarded as a [invoker](#onboard_invoker--script-invoke
This functionality simplifies the way of getting created their propperly security context for each of the services and adquiring the access token to use the final APIs.
This functionality simplifies the way of getting created their properly security context for each of the services and acquiring the access token to use the final APIs.
This functionality **requires** to to have onboarded as a [invoker](#onboard_invoker--script-invoker_capif_connectorpy) before and run the [discover](#discover--script-invoker_service_discoverpy) function at least once before.
@@ -81,7 +81,7 @@ This functionality **requires** to to have onboarded as a [invoker](#onboard_inv
### update_invoker() and offboard_and_deregister_Invoker() // invoker_capif_connector_update.py and invoker_capif_connector_offboarding.py
For using this features we must have [onboarded as an invoker](#onboard_invoker--script-invoker_capif_connectorpy) previusly.
For using this features we must have [onboarded as an invoker](#onboard_invoker--script-invoker_capif_connectorpy) previously.
Simplifies the process of recieving the information of One service published previously in Published-Apis.json
Simplifies the process of receiving the information of One service published previously in Published-Apis.json
It is mandatory to have onboarded as a [provider](#onboard_provider--script-provider_capif_connectorpy) before and to have [published any service](#publish_services--script-provider_publish_apipy) before
@@ -153,7 +153,7 @@ It is mandatory to have onboarded as a [provider](#onboard_provider--script-prov
Simplifies the process of recieving the information of all available services published previously in Published-Apis.json
Simplifies the process of receiving the information of all available services published previously in Published-Apis.json
It is mandatory to have onboarded as a [provider](#onboard_provider--script-provider_capif_connectorpy) before and to have [published any service](#publish_services--script-provider_publish_apipy) before
@@ -164,7 +164,7 @@ It is mandatory to have onboarded as a [provider](#onboard_provider--script-prov
### update_provider() and offboard_provider() // provider_capif_connector_update.py and provider_capif_connector_offboarding.py
For using this features we must have onboard as a provider previusly.
For using this features we must have onboard as a provider previously.
It is mandatory to have onboarded as a [provider](#onboard_provider--script-provider_capif_connectorpy) before
@@ -185,7 +185,7 @@ Facilitates the logging process for admin users and creates a CAPIF user,
Facilitates the logging process for admin users and eliminates a CAPIF user.
