diff --git a/doc/vendor-ext/vendor-ext.md b/doc/vendor-ext/vendor-ext.md index 1aa59a1ed3ce2ddaaeaa2121ca4310518c6932f0..bcf78cbf9a6e4c4fd607d0ca0c4b163cb95f4ca0 100644 --- a/doc/vendor-ext/vendor-ext.md +++ b/doc/vendor-ext/vendor-ext.md @@ -14,7 +14,7 @@ Vendor extensibility feature can be enabled and leveraged in 2 CAPIF APIs, Publi ## Vendor Extensibility in CAPIF APIs -### Publish API: +### Publish API A vendor can extend the ServiceAPIDescription object by adding additional member elements. However, in order to avoid duplication of member names inside a same object it is necessary to comply with a naming scheme for vendor-specific data elements, to avoid clashing names between vendors. Vendor-specific member names in JSON objects shall be named in the following manner: @@ -59,8 +59,47 @@ A concrete example of vendor-specific extensibility exists on section 9 of ETSI  **Example:** + +ServiceAPIDescription vendorSpecific looks like: + ```json "vendorSpecific-urn:etsi:mec:capifext:service-info": { + "serializer": "JSON", + "state": "ACTIVE", + "scopeOfLocality": "MEC_SYSTEM", + "consumedLocalOnly": "True", + "isLocal": "True", + "category": { + "href": "https://www.location.com", + "id": "location_1", + "name": "Location", + "version": "1.0" + } +} +``` + +AEFProfile vendorSpecific looks like: + +```json +"vendorSpecific-urn:etsi:mec:capifext:transport-info": { + "name": "trasport1", + "description": "Transport Info 1", + "type": "REST_HTTP", + "protocol": "HTTP", + "version": "2", + "security": { + "grantTypes": "OAUTH2_CLIENT_CREDENTIALS", + "tokenEndpoint": "https://token-endpoint/" + } +} +``` + +Complete ETSI MEC ServiceAPIDescription with vendor extensibility would be like this: + +```json +{ + "apiName": "service_1", + "vendorSpecific-urn:etsi:mec:capifext:service-info": { "serializer": "JSON", "state": "ACTIVE", "scopeOfLocality": "MEC_SYSTEM", @@ -72,19 +111,53 @@ A concrete example of vendor-specific extensibility exists on section 9 of ETSI "name": "Location", "version": "1.0" } - } - - "vendorSpecific-urn:etsi:mec:capifext:transport-info": { - "name": "trasport1", - "description": "Transport Info 1", - "type": "REST_HTTP", - "protocol": "HTTP", - "version": "2", - "security": { - "grantTypes": "OAUTH2_CLIENT_CREDENTIALS", - "tokenEndpoint": "https://token-endpoint/" + }, + "aefProfiles": [ + { + "aefId": "string", + "vendorSpecific-urn:etsi:mec:capifext:transport-info": { + "name": "trasport1", + "description": "Transport Info 1", + "type": "REST_HTTP", + "protocol": "HTTP", + "version": "2", + "security": { + "grantTypes": "OAUTH2_CLIENT_CREDENTIALS", + "tokenEndpoint": "https://token-endpoint/" + } + }, + "versions": [ + {} + ], + "protocol": "HTTP_1_1", + "dataFormat": "JSON", + "securityMethods": ["PSK"], + "interfaceDescriptions": [ + { + "ipv4Addr": "string", + "port": 65535, + "securityMethods": ["PSK"] + } + ] } - } + ], + "description": "string", + "supportedFeatures": "0", + "shareableInfo": { + "isShareable": true, + "capifProvDoms": [ + "string" + ] + }, + "serviceAPICategory": "string", + "apiSuppFeats": "fffff", + "pubApiPath": { + "ccfIds": [ + "string" + ] + }, + "ccfId": "string" +} ``` ### Discover API