Commit df50bcb6 authored by Elian Kraja's avatar Elian Kraja
Browse files

Merge branch 'stf593' into 'develop'

STF593 - Final draft merged to develop

See merge request !1
parents 1e353498 70ca800f
Pipeline #5364 passed with stage
in 0 seconds
#!/bin/bash
specfiles=$(ls | egrep "^[^.]*.(json|yaml)")
fres=0
for i in $specfiles ; do
echo "-- Validating and linting OpenAPI file $i..."
swagger-cli validate $i
res=$?
speccy lint "$i"
res2=$?
fres=$(($fres||$res||$res2))
echo "--- Validator returned $res, linter returned $res2."
done
echo "-- Final validator returns $fres."
exit $fres
This diff is collapsed.
This diff is collapsed.
...@@ -2,7 +2,15 @@ ...@@ -2,7 +2,15 @@
This repository contains OpenAPIs descriptions for the interfaces specified in ETSI GS MEC 021. This repository contains OpenAPIs descriptions for the interfaces specified in ETSI GS MEC 021.
## Online resources
* [Specification document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/021/02.01.01_60/gs_mec021v020101p.pdf)
* [Navigate the Application Mobility Service API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/rep/mec/gs021-amsi-api/raw/stf593/MEC021_AppMobilityService.yaml).
* [Edit the Application Mobility Service API online](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/rep/mec/gs021-amsi-api/raw/stf593/MEC021_AppMobilityService.yaml).
## License ## License
Unless specified otherwise, the content of this repository and the files contained are released under the BSD-3-Clause license. Unless specified otherwise, the content of this repository and the files contained are released under the BSD-3-Clause license.
See the attached LICENSE file or visit https://forge.etsi.org/legal-matters. See the attached LICENSE file or visit https://forge.etsi.org/legal-matters.
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
import public "models/adjacent_app_info_subscription_filter_criteria.proto";
import public "models/adjacent_app_info_subscription_links.proto";
import public "models/time_stamp.proto";
message AdjacentAppInfoSubscription {
AdjacentAppInfoSubscriptionLinks underscorelinks = 1;
// URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service. This shall be included both in the request and in response.
string callback_reference = 2;
TimeStamp expiry_deadline = 3;
AdjacentAppInfoSubscriptionFilterCriteria filter_criteria = 4;
// Shall be set to \"AdjacentAppInfoSubscription\".
enum SUBSCRIPTION_TYPE {
ADJACENTAPPINFOSUBSCRIPTION = 0;
}
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
message AdjacentAppInfoSubscriptionFilterCriteria {
string app_instance_id = 1;
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
import public "models/link_type.proto";
message AdjacentAppInfoSubscriptionLinks {
LinkType self = 1;
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
import public "models/communication_interface.proto";
import public "models/mec_host_information.proto";
message AdjacentAppInstanceInfo {
// Identifier of the application descriptor.
string appd_id = 1;
// It specifies the communication interface of application instance.
repeated CommunicationInterface app_instance_comm_link = 2;
// Identifier of the application instance.
string app_instance_id = 3;
MECHostInformation mec_host_information = 4;
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
//This attribute provides an option for the application instance (server) to communicate with the application client before relocating this application instance to another MEC host. The applicable values of this attribute are: 1 = APP_MOBILITY_NOT_ALLOWED 2 = APP_MOBILITY_WITH_CONFIRMATION 3 = APP_MOBILITY_WITHOUT_CONFIRMATION.
message AppMobilityServiceLevel {
enum TypeEnum {
APP_MOBILITY_SERVICE_LEVEL_TYPE_ENUM_1 = 0;
APP_MOBILITY_SERVICE_LEVEL_TYPE_ENUM_2 = 1;
APP_MOBILITY_SERVICE_LEVEL_TYPE_ENUM_3 = 2;
}
TypeEnum type = 1;
// Value for the identifier.
string value = 2;
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
message AssociateId {
// Numeric value (0-255) corresponding to specified type of identifier as following: <p>0 = reserved. <p>1 = UE_IPv4_ADDRESS. <p>2 = UE_IPV6_ADDRESS. <p>3 = NATED_IP_ADDRESS. <p>4 = GTP_TEID.
enum TypeEnum {
ASSOCIATE_ID_TYPE_ENUM_0 = 0;
ASSOCIATE_ID_TYPE_ENUM_1 = 1;
ASSOCIATE_ID_TYPE_ENUM_2 = 2;
ASSOCIATE_ID_TYPE_ENUM_3 = 3;
ASSOCIATE_ID_TYPE_ENUM_4 = 4;
}
TypeEnum type = 1;
// Value for the identifier.
string value = 2;
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
import public "models/communication_interface_ip_addresses.proto";
message CommunicationInterface {
repeated CommunicationInterfaceIpAddresses ip_addresses = 1;
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
message CommunicationInterfaceIpAddresses {
string host = 1;
int32 port = 2;
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
//If present, it represents the state of transferring the user context to another application instance. The applicable values of this attribute are: 0 = NOT_TRANSFERRED (default value) 1 = USER_CONTEXT_TRANSFER_COMPLETED In the initial application mobility registration, this attribute shall be set to the default value.
message ContextTransferState{
enum TypeEnum {
CONTEXT_TRANSFER_STATE_TYPE_ENUM_0 = 0;
CONTEXT_TRANSFER_STATE_TYPE_ENUM_1 = 1;
}
TypeEnum type = 1;
// Value for the identifier.
string value = 2;
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
message LinkType {
// The URI referring to the subscription.
string href = 1;
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
import "google/protobuf/any.proto";
message MECHostInformation {
// Human-readable name of MEC host.
string host_name = 1;
// 'This data type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key-value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259'
map <string, google.protobuf.Any> host_id = 2;
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
import public "models/mobility_procedure_subscription_filter_criteria.proto";
import public "models/mobility_procedure_subscription_links.proto";
import public "models/time_stamp.proto";
message MobilityProcedureSubscription {
MobilityProcedureSubscriptionLinks underscorelinks = 1;
// URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service. This shall be included both in the request and in response.
string callback_reference = 2;
TimeStamp expiry_deadline = 3;
MobilityProcedureSubscriptionFilterCriteria filter_criteria = 4;
// Shall be set to \"MobilityProcedureSubscription\".
enum subscriptionType {
MOBILITYPROCEDURESUBSCRIPTION = 0;
}
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
import public "models/associate_id.proto";
import public "models/mobility_status.proto";
message MobilityProcedureSubscriptionFilterCriteria {
// Identifier of the application instance that registers the application mobility service.
string app_instance_id = 1;
// 0 to N identifiers to associate the information for specific UE(s) and flow(s).
repeated AssociateId associate_id = 2;
// In case mobility_status is not included in the subscription request, the default value 1 = INTER_HOST_MOBILITY_TRIGGERED shall be used and included in the response.
repeated MobilityStatus mobility_status = 3;
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
import public "models/link_type.proto";
message MobilityProcedureSubscriptionLinks {
LinkType self = 1;
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
//In case mobilityStatus is not included in the subscription request, the default value 1 = INTER_HOST_MOBILITY_TRIGGERED shall be used and included in the response. 1 = INTERHOST_MOVEOUT_TRIGGERED. 2 = INTERHOST_MOVEOUT_COMPLETED. 3 = INTERHOST_MOVEOUT_FAILED.
message MobilityStatus{
enum TypeEnum {
MOBILITY_STATUS_TYPE_ENUM_1 = 0;
MOBILITY_STATUS_TYPE_ENUM_2 = 1;
MOBILITY_STATUS_TYPE_ENUM_3 = 2;
}
TypeEnum type = 1;
// Value for the identifier.
string value = 2;
}
/*
ETSI GS MEC 021 Application Mobility Service API
ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
The version of the OpenAPI document: 2.1.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec021;
message ProblemDetails {
// A human-readable explanation specific to this occurrence of the problem
string detail = 1;
// A URI reference that identifies the specific occurrence of the problem
string instance = 2;
// The HTTP status code for this occurrence of the problem
int32 status = 3;
// A short, human-readable summary of the problem type
string title = 4;
// A URI reference according to IETF RFC 3986 that identifies the problem type
string type = 5;
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment