Commit 31d7cf68 authored by Elian Kraja's avatar Elian Kraja
Browse files

Merge branch 'stf606-draft' into 'stf606-final'

Stf606 draft to final

See merge request !3
parents 7ee34e1a 27e69ae2
Pipeline #9940 failed with stage
in 0 seconds
{ {
"openapi": "3.1.0",
"info": { "info": {
"title": "ETSI GS MEC 021 Application Mobility Service API", "title": "ETSI GS MEC 021 Application Mobility Service API",
"version": "2.1.1", "version": "2.1.1",
...@@ -9,20 +10,21 @@ ...@@ -9,20 +10,21 @@
}, },
"contact": { "contact": {
"name": "ETSI Forge", "name": "ETSI Forge",
"email": "cti_support@etsi.org", "url": "https://forge.etsi.org/rep/mec/gs021-amsi-api",
"url": "https://forge.etsi.org/rep/mec/gs021-amsi-api" "email": "cti_support@etsi.org"
} }
}, },
"externalDocs": { "externalDocs": {
"description": "ETSI GS MEC 021 Application Mobility Service API, v2.1.1", "description": "ETSI GS MEC 021 Application Mobility Service API, v2.1.1",
"url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/021/02.01.01_60/gs_mec021v020101p.pdf" "url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/021/02.01.01_60/gs_mec021v020101p.pdf"
}, },
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"servers": [ "servers": [
{ {
"url": "https://localhost/amsi/v1" "url": "https://localhost/amsi/v1",
"variables": {}
} }
], ],
"openapi": "3.0.0",
"tags": [ "tags": [
{ {
"name": "adj-app-inst", "name": "adj-app-inst",
...@@ -42,94 +44,300 @@ ...@@ -42,94 +44,300 @@
} }
], ],
"paths": { "paths": {
"/queries/adjacent_app_instances": {
"get": {
"tags": [
"adj-app-inst"
],
"summary": "Retrieve information about this subscription.",
"description": "Retrieve information about this subscription.",
"operationId": "adj_app_instGET",
"parameters": [
{
"name": "filter",
"in": "query",
"description": "Attribute-based filtering parameters according to ETSI GS MEC 011",
"style": "form",
"explode": true,
"schema": {
"type": "string"
}
},
{
"name": "all_fields",
"in": "query",
"description": "Include all complex attributes in the response.",
"style": "form",
"explode": true,
"schema": {
"type": "string"
}
},
{
"name": "fields",
"in": "query",
"description": "Complex attributes to be included into the response. See clause 6.18 in ETSI GS MEC 011",
"style": "form",
"explode": true,
"schema": {
"type": "string"
}
},
{
"name": "exclude_fields",
"in": "query",
"description": "Complex attributes to be excluded from the response.See clause 6.18 in ETSI GS MEC 011",
"style": "form",
"explode": true,
"schema": {
"type": "string"
}
},
{
"name": "exclude_default",
"in": "query",
"description": "Indicates to exclude the following complex attributes from the response See clause 6.18 in ETSI GS MEC 011 for details.",
"style": "form",
"explode": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "A response body containing zero or more adjacent application instances",
"headers": {},
"content": {
"application/json": {
"schema": {
"minItems": 0,
"type": "array",
"items": {
"$ref": "#/components/schemas/AdjacentAppInstanceInfo"
},
"description": "",
"contentMediaType": "application/json"
}
}
}
},
"400": {
"description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"403": {
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"406": {
"description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"429": {
"description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
},
"deprecated": false
},
"parameters": []
},
"/app_mobility_services": { "/app_mobility_services": {
"get": { "get": {
"tags": [ "tags": [
"app-mob-ser" "app-mob-ser"
], ],
"summary": " Retrieve information about the registered application mobility service.", "summary": "Retrieve information about the registered application mobility service.",
"description": " Retrieve information about the registered application mobility service.", "description": " Retrieve information about the registered application mobility service.",
"operationId": "app_mobility_serviceGET", "operationId": "app_mobility_serviceGET",
"parameters": [ "parameters": [
{ {
"in": "query",
"name": "filter", "name": "filter",
"in": "query",
"description": "Attribute-based filtering parameters according to ETSI GS MEC 011",
"style": "form",
"explode": true,
"schema": { "schema": {
"type": "string" "type": "string"
}, }
"required": false,
"description": "Attribute-based filtering parameters according to ETSI GS MEC 011"
}, },
{ {
"in": "query",
"name": "all_fields", "name": "all_fields",
"in": "query",
"description": "Include all complex attributes in the response.",
"style": "form",
"explode": true,
"schema": { "schema": {
"type": "string" "type": "string"
}, }
"required": false,
"description": "Include all complex attributes in the response."
}, },
{ {
"in": "query",
"name": "fields", "name": "fields",
"in": "query",
"description": "Complex attributes to be included into the response. See clause 6.18 in ETSI GS MEC 011",
"style": "form",
"explode": true,
"schema": { "schema": {
"type": "string" "type": "string"
}, }
"required": false,
"description": "Complex attributes to be included into the response. See clause 6.18 in ETSI GS MEC 011"
}, },
{ {
"in": "query",
"name": "exclude_fields", "name": "exclude_fields",
"in": "query",
"description": "Complex attributes to be excluded from the response.See clause 6.18 in ETSI GS MEC 011",
"style": "form",
"explode": true,
"schema": { "schema": {
"type": "string" "type": "string"
}, }
"required": false,
"description": "Complex attributes to be excluded from the response.See clause 6.18 in ETSI GS MEC 011"
}, },
{ {
"in": "query",
"name": "exclude_default", "name": "exclude_default",
"in": "query",
"description": "Indicates to exclude the following complex attributes from the response See clause 6.18 in ETSI GS MEC 011 for details.",
"style": "form",
"explode": true,
"schema": { "schema": {
"type": "string" "type": "string"
}, }
"required": false,
"description": "Indicates to exclude the following complex attributes from the response See clause 6.18 in ETSI GS MEC 011 for details."
} }
], ],
"responses": { "responses": {
"200": { "200": {
"description": "Contains in an array the representations of zero or more application mobility services.", "description": "Contains in an array the representations of zero or more application mobility services.",
"headers": {},
"content": { "content": {
"application/json": { "application/json": {
"schema": { "schema": {
"type": "array", "type": "array",
"items": { "items": {
"$ref": "#/components/schemas/RegistrationInfo" "$ref": "#/components/schemas/RegistrationInfo"
} },
"description": "",
"contentMediaType": "application/json"
} }
} }
} }
}, },
"400": { "400": {
"$ref": "#/components/responses/400" "description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}, },
"401": { "401": {
"$ref": "#/components/responses/401" "description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}, },
"403": { "403": {
"$ref": "#/components/responses/403" "description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}, },
"404": { "404": {
"$ref": "#/components/responses/404" "description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}, },
"406": { "406": {
"$ref": "#/components/responses/406" "description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}, },
"429": { "429": {
"$ref": "#/components/responses/429" "description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
} }
} },
"deprecated": false
}, },
"post": { "post": {
"tags": [ "tags": [
...@@ -138,20 +346,22 @@ ...@@ -138,20 +346,22 @@
"summary": "Create a new application mobility service for the service requester.", "summary": "Create a new application mobility service for the service requester.",
"description": "Create a new application mobility service for the service requester.", "description": "Create a new application mobility service for the service requester.",
"operationId": "app_mobility_servicePOST", "operationId": "app_mobility_servicePOST",
"parameters": [],
"requestBody": { "requestBody": {
"description": "Application mobility service to be created", "description": "Application mobility service to be created",
"required": true,
"content": { "content": {
"application/json": { "application/json": {
"schema": { "schema": {
"$ref": "#/components/schemas/RegistrationInfo" "$ref": "#/components/schemas/RegistrationInfo"
} }
} }
} },
"required": true
}, },
"responses": { "responses": {
"201": { "201": {
"description": "Successful response for application mobility service creation", "description": "Successful response for application mobility service creation",
"headers": {},
"content": { "content": {
"application/json": { "application/json": {
"schema": { "schema": {
...@@ -161,38 +371,77 @@ ...@@ -161,38 +371,77 @@
} }
}, },
"400": { "400": {
"$ref": "#/components/responses/400" "description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}, },
"401": { "401": {
"$ref": "#/components/responses/401" "description": "Unauthorized : used when the client did not submit credentials.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}, },
"403": { "403": {
"$ref": "#/components/responses/403" "description": "Forbidden : operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}, },
"404": { "404": {
"$ref": "#/components/responses/404" "description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}, },
"406": { "406": {
"$ref": "#/components/responses/406" "description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}, },
"429": { "429": {
"$ref": "#/components/responses/429" "description": "Too Many Requests : used when a rate limiter has triggered.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
} }
} },
} "deprecated": false
},
"parameters": []
}, },
"/app_mobility_services/{appMobilityServiceId}": { "/app_mobility_services/{appMobilityServiceId}": {
"parameters": [
{
"in": "path",
"name": "appMobilityServiceId",
"schema": {
"type": "string"
},
"required": true,
"description": "It uniquely identifies the created individual application mobility service"
}
],
"get": { "get": {
"tags": [ "tags": [
"app-mob-ser" "app-mob-ser"
...@@ -200,9 +449,22 @@ ...@@ -200,9 +449,22 @@
"summary": "Retrieve information about this individual application mobility service", "summary": "Retrieve information about this individual application mobility service",
"description": "Retrieve information about this individual application mobility service", "description": "Retrieve information about this individual application mobility service",
"operationId": "app_mobility_service_by_idGET", "operationId": "app_mobility_service_by_idGET",
"parameters": [
{
"name": "appMobilityServiceId",
"in": "path",
"description": "It uniquely identifies the created individual application mobility service",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"responses": { "responses": {
"200": { "200": {
"description": "Contains a representation of the application mobility service.", "description": "Contains a representation of the application mobility service.",
"headers": {},
"content": { "content": {
"application/json": { "application/json": {
"schema": { "schema": {
...@@ -212,24 +474,73 @@ ...@@ -212,24 +474,73 @@
} }
}, },
"400": { "400": {
"$ref": "#/components/responses/400" "description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {