Commit d22b2a14 authored by Jorge Moratinos's avatar Jorge Moratinos
Browse files

Added complete example of ServiceAPIDescription with ETSI MEC vendor extensibility

parent 08718cc9
Loading
Loading
Loading
Loading
+86 −13
Original line number Diff line number Diff line
@@ -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,6 +59,9 @@ A concrete example of vendor-specific extensibility exists on section 9 of ETSI
![AEF Profile](../images/vendor-ext/aef_profile_2.png)

**Example:**

ServiceAPIDescription vendorSpecific looks like:

```json
"vendorSpecific-urn:etsi:mec:capifext:service-info": {
    "serializer": "JSON",
@@ -73,7 +76,45 @@ A concrete example of vendor-specific extensibility exists on section 9 of ETSI
        "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",
      "consumedLocalOnly": "True",
      "isLocal": "True",
      "category": {
          "href": "https://www.location.com",
          "id": "location_1",
          "name": "Location",
          "version": "1.0"
      }
    },
    "aefProfiles": [
      {
        "aefId": "string",
        "vendorSpecific-urn:etsi:mec:capifext:transport-info": {
            "name": "trasport1",
            "description": "Transport Info 1",
@@ -84,6 +125,38 @@ A concrete example of vendor-specific extensibility exists on section 9 of ETSI
                "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"
}
```