...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
Documentation Documentation
... A test suite for validating DNS rules (DNS) operations. ... A test suite for validating DNS rules (DNS) operations.
Resource ../../GenericKeywords.robot Resource ../../../GenericKeywords.robot
Resource environment/variables.txt Resource environment/variables.txt
Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false
Library OperatingSystem Library OperatingSystem
...@@ -16,12 +16,12 @@ Default Tags TC_MEC_SRV_DNS ...@@ -16,12 +16,12 @@ Default Tags TC_MEC_SRV_DNS
*** Test Cases *** *** Test Cases ***
TC_MEC_SRV_DNS_001_OK TP_MEC_MEC011_SRV_DNS_001_OK
[Documentation] [Documentation]
... Check that the IUT responds with a list of active DNS rules ... Check that the IUT responds with a list of active DNS rules
... when queried by a MEC Application ... when queried by a MEC Application
... ...
... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.9.3.1 ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.9.3.1
... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule
[Tags] PIC_MEC_PLAT PIC_SERVICES [Tags] PIC_MEC_PLAT PIC_SERVICES
...@@ -30,12 +30,12 @@ TC_MEC_SRV_DNS_001_OK ...@@ -30,12 +30,12 @@ TC_MEC_SRV_DNS_001_OK
Check HTTP Response Body Json Schema Is DnsRuleList Check HTTP Response Body Json Schema Is DnsRuleList
TC_MEC_SRV_DNS_002_OK TP_MEC_MEC011_SRV_DNS_002_OK
[Documentation] [Documentation]
... Check that the IUT responds with the information on a specific DNS rule ... Check that the IUT responds with the information on a specific DNS rule
... when queried by a MEC Application ... when queried by a MEC Application
... ...
... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.10.3.1 ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.10.3.1
... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule
[Tags] PIC_MEC_PLAT PIC_SERVICES [Tags] PIC_MEC_PLAT PIC_SERVICES
...@@ -45,24 +45,24 @@ TC_MEC_SRV_DNS_002_OK ...@@ -45,24 +45,24 @@ TC_MEC_SRV_DNS_002_OK
Check Response Contains ${response['body']} dnsRuleId ${DNS_RULE_ID} Check Response Contains ${response['body']} dnsRuleId ${DNS_RULE_ID}
TC_MEC_SRV_DNS_002_NF TP_MEC_MEC011_SRV_DNS_002_NF
[Documentation] [Documentation]
... Check that the IUT responds with an error when ... Check that the IUT responds with an error when
... a request for an unknown URI is sent by a MEC Application ... a request for an unknown URI is sent by a MEC Application
... ...
... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.10.3.1 ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.10.3.1
[Tags] PIC_MEC_PLAT PIC_SERVICES [Tags] PIC_MEC_PLAT PIC_SERVICES
Get individual DNS rule ${APP_INSTANCE_ID} ${NON_ESISTENT_DNS_RULE_ID} Get individual DNS rule ${APP_INSTANCE_ID} ${NON_ESISTENT_DNS_RULE_ID}
Check HTTP Response Status Code Is 404 Check HTTP Response Status Code Is 404
TC_MEC_SRV_DNS_003_OK TP_MEC_MEC011_SRV_DNS_003_OK
[Documentation] [Documentation]
... Check that the IUT updates a specific DNS rule ... Check that the IUT updates a specific DNS rule
... when commanded by a MEC Application ... when commanded by a MEC Application
... ...
... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.10.3.2 ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.10.3.2
... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule
[Tags] PIC_MEC_PLAT PIC_SERVICES [Tags] PIC_MEC_PLAT PIC_SERVICES
...@@ -72,12 +72,12 @@ TC_MEC_SRV_DNS_003_OK ...@@ -72,12 +72,12 @@ TC_MEC_SRV_DNS_003_OK
Check Response Contains ${response['body']} ipAddress ${SOME_IP_ADDRESS} Check Response Contains ${response['body']} ipAddress ${SOME_IP_ADDRESS}
TC_MEC_SRV_DNS_003_BR TP_MEC_MEC011_SRV_DNS_003_BR
[Documentation] [Documentation]
... Check that the IUT responds with an error when ... Check that the IUT responds with an error when
... a request with incorrect parameters is sent by a MEC Application ... a request with incorrect parameters is sent by a MEC Application
... ...
... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.10.3.2 ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.10.3.2
... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule
[Tags] PIC_MEC_PLAT PIC_SERVICES [Tags] PIC_MEC_PLAT PIC_SERVICES
...@@ -85,12 +85,12 @@ TC_MEC_SRV_DNS_003_BR ...@@ -85,12 +85,12 @@ TC_MEC_SRV_DNS_003_BR
Check HTTP Response Status Code Is 400 Check HTTP Response Status Code Is 400
TC_MEC_SRV_DNS_003_NF TP_MEC_MEC011_SRV_DNS_003_NF
[Documentation] [Documentation]
... Check that the IUT responds with an error when ... Check that the IUT responds with an error when
... a request for an unknown URI is sent by a MEC Application ... a request for an unknown URI is sent by a MEC Application
... ...
... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.10.3.2 ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.10.3.2
... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule
[Tags] PIC_MEC_PLAT PIC_SERVICES [Tags] PIC_MEC_PLAT PIC_SERVICES
...@@ -98,17 +98,18 @@ TC_MEC_SRV_DNS_003_NF ...@@ -98,17 +98,18 @@ TC_MEC_SRV_DNS_003_NF
Check HTTP Response Status Code Is 404 Check HTTP Response Status Code Is 404
TC_MEC_SRV_DNS_003_PF
[Documentation]
... Check that the IUT responds with an error when
... a request sent by a MEC Application doesn't comply with a required condition
...
... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.10.3.2
... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule
[Tags] PIC_MEC_PLAT PIC_SERVICES #TP_MEC_MEC011_SRV_DNS_003_PF
Update a DNS Rule with invalid etag ${APP_INSTANCE_ID} ${DNS_RULE_ID} DnsRuleUpdate # [Documentation]
Check HTTP Response Status Code Is 412 # ... Check that the IUT responds with an error when
# ... a request sent by a MEC Application doesn't comply with a required condition
# ...
# ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.10.3.2
# ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule
#
# [Tags] PIC_MEC_PLAT PIC_SERVICES
# Update a DNS Rule with invalid etag ${APP_INSTANCE_ID} ${DNS_RULE_ID} DnsRuleUpdate
# Check HTTP Response Status Code Is 412
...@@ -117,6 +118,7 @@ Get list of active DNS rules ...@@ -117,6 +118,7 @@ Get list of active DNS rules
[Arguments] ${appInstanceId} [Arguments] ${appInstanceId}
Set Headers {"Accept":"application/json"} Set Headers {"Accept":"application/json"}
Set Headers {"Authorization":"${TOKEN}"} Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Type":"*/*"}
Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/dns_rules Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/dns_rules
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Suite Variable ${response} ${output}
...@@ -126,6 +128,7 @@ Get individual DNS rule ...@@ -126,6 +128,7 @@ Get individual DNS rule
[Arguments] ${appInstanceId} ${dnsRuleId} [Arguments] ${appInstanceId} ${dnsRuleId}
Set Headers {"Accept":"application/json"} Set Headers {"Accept":"application/json"}
Set Headers {"Authorization":"${TOKEN}"} Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Type":"*/*"}
Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/dns_rules/${dnsRuleId} Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/dns_rules/${dnsRuleId}
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Suite Variable ${response} ${output}
......
*** Variables *** *** Variables ***
# Generic variables # Generic variables
${SCHEMA} http ${SCHEMA} http
${HOST} 10.192.2.172 ${HOST} 127.0.0.1
${PORT} 8081 ${PORT} 8081
${response} {} ${response} {}
${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l
......
*** Settings ***
Documentation
... A test suite for validating Application Subscriptions (APPSUB) operations.
Resource ../../../GenericKeywords.robot
Resource environment/variables.txt
Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false
Library OperatingSystem
*** Test Cases ***
TP_MEC_MEC011_SRV_MSL_001_OK
[Documentation]
... Check that the IUT responds with the liveness of a MEC service instance
... when queried by a MEC Application
... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.10.3.1
[Tags] PIC_MEC_PLAT PIC_SERVICES
Individual MEC service liveness ${URL_SERVICE_MEC_LIVENESS}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is ServiceLivenessInfo
TP_MEC_MEC011_SRV_MSL_001_NF
[Documentation]
... Check that the IUT responds with an error when
... a request for an URI that cannot be mapped to a valid resource URI
... is sent by a MEC Application
... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.10.3.1
[Tags] PIC_MEC_PLAT PIC_SERVICES
Individual MEC service liveness ${NOT_EXISING_URL_SERVICE_MEC_LIVENESS}
Check HTTP Response Status Code Is 404
TP_MEC_MEC011_SRV_MSL_002_OK
[Documentation]
... Check that the IUT updates the liveness of a MEC service instance
... when requested by a MEC Application
[Tags] PIC_MEC_PLAT PIC_SERVICES
Set Headers {"Authorization":"${TOKEN}"}
${file}= Catenate SEPARATOR= jsons/ ServiceLivenessUpdate .json
${body}= Get File ${file}
Update MEC service liveness ${URL_SERVICE_MEC_LIVENESS} ${body}
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is ServiceLivenessInfo
Check Response Contains ${response['body']} state ACTIVE
TP_MEC_MEC011_SRV_MSL_002_BR
[Documentation]
... Check that the IUT responds with an error when
... incorrect parameters were sent by a MEC Application
[Tags] PIC_MEC_PLAT PIC_SERVICES
Set Headers {"Authorization":"${TOKEN}"}
${file}= Catenate SEPARATOR= jsons/ ServiceLivenessUpdateError .json
${body}= Get File ${file}
Update MEC service liveness ${URL_SERVICE_MEC_LIVENESS} ${body}
Check HTTP Response Status Code Is 400
*** Keywords ***
Individual MEC service liveness
[Arguments] ${URL_MEC_SERVICE_LIVENESS}
Set Headers {"Accept":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Type":"*/*"}
Get ${URL_MEC_SERVICE_LIVENESS}
${output}= Output response
Set Suite Variable ${response} ${output}
Update MEC service liveness
[Arguments] ${URL_MEC_SERVICE_LIVENESS} ${body}
Set Headers {"Accept":"application/json"}
Set Headers {"Authorization":"${TOKEN}"}
Patch ${URL_MEC_SERVICE_LIVENESS} ${body}
${output}= Output response
Set Suite Variable ${response} ${output}
\ No newline at end of file
*** Variables ***
# Generic variables
${SCHEMA} http
${HOST} 127.0.0.1
${PORT} 8081
${response} {}
${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l
${apiRoot}
${apiName} mec_app_support
${apiVersion} v1
# Specific variables
${URL_SERVICE_MEC_LIVENESS} /link/to/individual/mecServiceLiveness
${NOT_EXISING_URL_SERVICE_MEC_LIVENESS} /not_existing_link/to/individual/mecServiceLiveness
\ No newline at end of file
{
"state": "ACTIVE"
}
\ No newline at end of file
{
"state": "INACTIVE"
}
\ No newline at end of file
{
"description": "the liveness information of a MEC service instance",
"type": "object",
"required": [
"state",
"timeStamp",
"interval"
],
"properties": {
"state": {
"description": "This enumeration defines the possible states of a service.",
"type": "string",
"enum": [
"ACTIVE",
"INACTIVE",
"SUSPENDED"
],
"example": "ACTIVE"
},
"timeStamp": {
"type": "object",
"required": [
"seconds",
"nanoSeconds"
],
"properties": {
"seconds": {
"type": "integer",
"format": "uint32"
},
"nanoSeconds": {
"type": "integer",
"format": "uint32"
}
}
},
"interval": {
"type": "integer"
}
}
}
\ No newline at end of file
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
Documentation Documentation
... A test suite for validating Service Availability Query (SAQ) operations. ... A test suite for validating Service Availability Query (SAQ) operations.
Resource ../../GenericKeywords.robot Resource ../../../GenericKeywords.robot
Resource environment/variables.txt Resource environment/variables.txt
Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false
Library OperatingSystem Library OperatingSystem
...@@ -14,12 +14,12 @@ Default Tags TC_MEC_SRV_SAQ ...@@ -14,12 +14,12 @@ Default Tags TC_MEC_SRV_SAQ
*** Test Cases *** *** Test Cases ***
TC_MEC_SRV_SAQ_001_OK TP_MEC_MEC011_SRV_SAQ_001_OK
[Documentation] [Documentation]
... Check that the IUT responds with a list of available MEC services ... Check that the IUT responds with a list of available MEC services
... when queried by a MEC Application ... when queried by a MEC Application
... ...
... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.3.3.1 ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.3.3.1
... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfoList ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfoList
[Tags] PIC_MEC_PLAT PIC_SERVICES [Tags] PIC_MEC_PLAT PIC_SERVICES
...@@ -28,24 +28,24 @@ TC_MEC_SRV_SAQ_001_OK ...@@ -28,24 +28,24 @@ TC_MEC_SRV_SAQ_001_OK
Check HTTP Response Body Json Schema Is ServiceInfoList Check HTTP Response Body Json Schema Is ServiceInfoList
TC_MEC_SRV_SAQ_001_BR TP_MEC_MEC011_SRV_SAQ_001_BR
[Documentation] [Documentation]
... Check that the IUT responds with an error when ... Check that the IUT responds with an error when
... a request with incorrect parameters is sent by a MEC Application ... a request with incorrect parameters is sent by a MEC Application
... ...
... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.3.3.1 ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.3.3.1
[Tags] PIC_MEC_PLAT PIC_SERVICES [Tags] PIC_MEC_PLAT PIC_SERVICES
Get list of available MEC services with parameters instance_id ${INVALID_VALUE} Get list of available MEC services with parameters instance_id ${INVALID_VALUE}
Check HTTP Response Status Code Is 400 Check HTTP Response Status Code Is 400
TC_MEC_SRV_SAQ_002_OK TP_MEC_MEC011_SRV_SAQ_002_OK
[Documentation] [Documentation]
... Check that the IUT responds with the information on a specific service ... Check that the IUT responds with the information on a specific service
... when queried by a MEC Application ... when queried by a MEC Application
... ...
... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.4.3.1 ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.4.3.1
... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfoList ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfoList
[Tags] PIC_MEC_PLAT PIC_SERVICES [Tags] PIC_MEC_PLAT PIC_SERVICES
...@@ -55,12 +55,12 @@ TC_MEC_SRV_SAQ_002_OK ...@@ -55,12 +55,12 @@ TC_MEC_SRV_SAQ_002_OK
Check Response Contains ${response['body']} serInstanceId ${SERVICE_ID} Check Response Contains ${response['body']} serInstanceId ${SERVICE_ID}
TC_MEC_SRV_SAQ_002_NF TP_MEC_MEC011_SRV_SAQ_002_NF
[Documentation] [Documentation]
... Check that the IUT responds with an error when ... Check that the IUT responds with an error when
... a request for an unknown URI is sent by a MEC Application ... a request for an unknown URI is sent by a MEC Application
... ...
... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.4.3.1 ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.4.3.1
[Tags] PIC_MEC_PLAT PIC_SERVICES [Tags] PIC_MEC_PLAT PIC_SERVICES
Get specific MEC service ${NON_EXISTENT_SERVICE_ID} Get specific MEC service ${NON_EXISTENT_SERVICE_ID}
...@@ -72,6 +72,7 @@ Get list of available MEC services with parameters ...@@ -72,6 +72,7 @@ Get list of available MEC services with parameters
[Arguments] ${key}=None ${value}=None [Arguments] ${key}=None ${value}=None
Set Headers {"Accept":"application/json"} Set Headers {"Accept":"application/json"}
Set Headers {"Authorization":"${TOKEN}"} Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Type":"*/*"}
Get ${apiRoot}/${apiName}/${apiVersion}/services?${key}=${value} Get ${apiRoot}/${apiName}/${apiVersion}/services?${key}=${value}
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Suite Variable ${response} ${output}
...@@ -79,6 +80,7 @@ Get list of available MEC services with parameters ...@@ -79,6 +80,7 @@ Get list of available MEC services with parameters
Get list of available MEC services Get list of available MEC services
Set Headers {"Accept":"application/json"} Set Headers {"Accept":"application/json"}
Set Headers {"Authorization":"${TOKEN}"} Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Type":"*/*"}
Get ${apiRoot}/${apiName}/${apiVersion}/services Get ${apiRoot}/${apiName}/${apiVersion}/services
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Suite Variable ${response} ${output}
...@@ -87,6 +89,7 @@ Get specific MEC service ...@@ -87,6 +89,7 @@ Get specific MEC service
[Arguments] ${serviceId} [Arguments] ${serviceId}
Set Headers {"Accept":"application/json"} Set Headers {"Accept":"application/json"}
Set Headers {"Authorization":"${TOKEN}"} Set Headers {"Authorization":"${TOKEN}"}
Set Headers {"Content-Type":"*/*"}
Get ${apiRoot}/${apiName}/${apiVersion}/services/${serviceId} Get ${apiRoot}/${apiName}/${apiVersion}/services/${serviceId}
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Suite Variable ${response} ${output}
\ No newline at end of file
*** Variables *** *** Variables ***
# Generic variables # Generic variables
${SCHEMA} http ${SCHEMA} http
${HOST} 10.192.2.172 ${HOST} 127.0.0.1
${PORT} 8081 ${PORT} 8081
${response} {} ${response} {}
${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l
......
{
"description": "This type represents the general information of a MEC service.",
"type": "object",
"required": [
"serName",
"version",
"state",
"transportInfo",
"serializer"
],
"properties": {
"serInstanceId": {
"description": "Identifier of the service instance assigned by the MEC platform.",
"type": "string",
"readOnly": true,
"example": "ServiceInstance123"
},
"serName": {
"description": "The name of the service. This is how the service producing MEC application identifies the service instance it produces.",
"type": "string",
"example": "ExampleService"
},
"serCategory": {
"description": "This type represents the category reference",
"type": "object",
"required": [
"href",
"id",
"name",
"version"
],
"properties": {
"href": {
"description": "Reference of the catalogue",
"type": "string",
"format": "uri",
"example": "/example/catalogue1"
},
"id": {
"description": "Unique identifier of the category",
"type": "string",
"example": "id12345"
},
"name": {
"description": "Name of the category, example values include RNI, Location & Bandwidth Management",
"type": "string",
"example": "RNI"
},
"version": {
"description": "Category version",
"type": "string",
"example": "version1"
}
}
},
"version": {
"description": "Service version",
"type": "string",
"example": "ServiceVersion1"
},
"state": {
"description": "This enumeration defines the possible states of a service.",
"type": "string",
"enum": [
"ACTIVE",
"INACTIVE",
"SUSPENDED"
],
"example": "ACTIVE"
},
"transportInfo": {
"description": "This type represents the general information of a MEC service.",
"type": "object",
"required": [
"id",
"name",
"type",
"protocol",
"version",
"endpoint",
"security"
],
"properties": {
"id": {
"description": "The identifier of this transport",
"type": "string",
"example": "TransId12345"
},
"name": {
"description": "The name of this transport",
"type": "string",
"example": "REST"
},
"description": {
"description": "Human-readable description of this transport",
"type": "string",
"example": "REST API"
},
"type": {
"description": "The enumeration TransportType represents types of transports",
"type": "string",
"enum": [
"REST_HTTP",
"MB_TOPIC_BASED",
"MB_ROUTING",
"MB_PUBSUB",
"RPC",
"RPC_STREAMING",
"WEBSOCKET"
],
"example": "REST_HTTP"
},
"protocol": {
"description": "The name of the protocol used. Shall be set to HTTP for a REST API.",
"type": "string",
"example": "HTTP"
},
"version": {
"description": "The version of the protocol used",
"type": "string",
"example": "2.0"
},
"endpoint": {
"description": "This type represents information about a transport endpoint",
"type": "object",
"oneOf": [{
"description": "Entry point information of the service as string, formatted according to URI syntax",
"type": "object",
"required": [
"uris"
],
"properties": {
"uris": {
"type": "array",
"minItems": 0,
"items": {
"description": "Entry point information of the service",
"type": "string",
"format": "uri",
"example": "/mecSerMgmtApi/service/EntryPoint"
}
}
}
},
{
"description": "Entry point information of the service as one or more pairs of IP address and port",
"type": "object",
"required": [
"addresses"
],
"properties": {
"addresses": {
"type": "array",
"minItems": 0,
"items": {
"description": "A IP address and port pair",
"type": "object",
"required": [
"host",
"port"
],
"properties": {
"host": {
"description": "Host portion of the address",
"type": "string",
"example": "192.0.2.0"
},
"port": {
"description": "Port portion of the address",
"type": "integer",
"format": "uint32",
"example": 8080
}
}
}
}
}
},
{
"description": "Entry point information of the service in a format defined by an implementation, or in an external specification.",
"type": "object",
"required": [
"alternative"
],
"properties": {
"alternative": {
"type": "object"
}
}
}
]
},
"security": {
"description": "This type represents security information related to a transport",
"type": "object",
"properties": {
"oAuth2Info": {
"description": "Parameters related to use of OAuth 2.0",
"required": [
"grantTypes",
"tokenEndpoint"
],
"properties": {
"grantTypes": {
"description": "List of supported OAuth 2.0 grant types.",
"type": "array",
"minItems": 1,
"maxItems": 4,
"items": {
"description": "OAuth 2.0 grant type",
"type": "string",
"enum": [
"OAUTH2_AUTHORIZATION_CODE",
"OAUTH2_IMPLICIT_GRANT",
"OAUTH2_RESOURCE_OWNER",
"OAUTH2_CLIENT_CREDENTIALS"
],
"example": "OAUTH2_CLIENT_CREDENTIALS"
}
},
"tokenEndpoint": {
"description": "The token endpoint",
"type": "string",
"format": "uri",
"example": "/mecSerMgmtApi/security/TokenEndPoint"
}
},
"type": "object"
}
}
},
"implSpecificInfo": {
"description": "Additional implementation specific details of the transport",
"type": "object"
}
}
},
"serializer": {
"description": "The enumeration represents types of serializers",
"type": "string",
"enum": [
"JSON",
"XML",
"PROTOBUF3"
],
"example": "JSON"
},
"scopeOfLocality": {
"description": "The scope of locality as expressed by \"consumedLocalOnly\" and \"isLocal\". If absent, defaults to MEC_HOST",
"type": "string",
"enum": [
"MEC_SYSTEM",
"MEC_HOST",
"NFVI_POP",
"ZONE",
"ZONE_GROUP",
"NFVI_NODE"
],
"example": "MEC_SYSTEM"
},
"consumedLocalOnly": {
"description": "Indicate whether the service can only be consumed by the MEC applications located in the same locality (as defined by scopeOfLocality) as this service instance.",
"type": "boolean",
"example": false
},
"isLocal": {
"description": "Indicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application.",
"type": "boolean",
"example": true
},
"livenessInterval": {
"type": "integer"
},
"_links": {
"type": "object",
"required": [
"self"
],
"properties": {
"self": {
"description": "This type represents a type of link and may be referenced from data structures",
"type": "object",
"properties": {
"href": {
"description": "URI referring to a resource",
"type": "string",
"format": "uri",
"example": "/mecSerMgmtApi/example"
}
}
},
"liveness": {
"description": "This type represents a type of link and may be referenced from data structures",
"type": "object",
"properties": {
"href": {
"description": "URI referring to a resource",
"type": "string",
"format": "uri",
"example": "/mecSerMgmtApi/example"
}
}
}
}
}
}
}
\ No newline at end of file