From 1821b5f10964cb464f07bf61f4d1377b6972c55f Mon Sep 17 00:00:00 2001 From: featherstone Date: Tue, 15 Jan 2019 17:07:41 +0000 Subject: [PATCH 01/14] Converted Mp1 API description to OpenAPI 3, without the split directory structure --- Mp1.json | 4196 ++++++++--------- Mp1.split.yaml | 44 - Mp1.yaml | 3307 +++++++------ README.md | 2 +- ...nationNotification.MaxGracefulTimeout.yaml | 4 - ...minationNotification.NotificationType.yaml | 3 - definitions/AppTerminationNotification.yaml | 13 - ...otificationSubscription.AppInstanceId.yaml | 3 - ...icationSubscription.CallbackReference.yaml | 3 - ...ficationSubscription.SubscriptionType.yaml | 3 - ...ppTerminationNotificationSubscription.yaml | 16 - definitions/CategoryRef.Href.yaml | 3 - definitions/CategoryRef.Id.yaml | 3 - definitions/CategoryRef.Name.yaml | 3 - definitions/CategoryRef.Version.yaml | 3 - definitions/CategoryRef.yaml | 16 - definitions/CurrentTime.yaml | 28 - .../DestinationInterface.InterfaceType.yaml | 7 - .../DestinationInterface.IpAddress.yaml | 3 - .../DestinationInterface.MacAddress.yaml | 3 - definitions/DestinationInterface.yaml | 15 - definitions/DnsRule.DomainName.yaml | 3 - definitions/DnsRule.Id.yaml | 3 - definitions/DnsRule.IpAddress.yaml | 3 - definitions/DnsRule.IpAddressType.yaml | 6 - definitions/DnsRule.State.yaml | 6 - definitions/DnsRule.Ttl.yaml | 4 - definitions/DnsRule.yaml | 21 - definitions/EndPointInfo.Address.Host.yaml | 3 - definitions/EndPointInfo.Address.Port.yaml | 4 - definitions/EndPointInfo.Address.yaml | 7 - definitions/EndPointInfo.Addresses.yaml | 4 - definitions/EndPointInfo.Alternative.yaml | 2 - definitions/EndPointInfo.Uri.yaml | 4 - definitions/EndPointInfo.Uris.yaml | 4 - definitions/EndPointInfo.yaml | 9 - definitions/LinkType.yaml | 5 - .../Mp1SubscriptionLinkList.Links.yaml | 12 - .../Mp1SubscriptionLinkList.Subscription.yaml | 14 - definitions/Mp1SubscriptionLinkList.yaml | 7 - definitions/Problem.detail.yaml | 3 - definitions/Problem.instance.yaml | 4 - definitions/Problem.status.yaml | 4 - definitions/Problem.title.yaml | 3 - definitions/Problem.type.yaml | 4 - definitions/ProblemDetails.yaml | 12 - .../SecurityInfo.OAuth2Info.GrantTypes.yaml | 8 - ...SecurityInfo.OAuth2Info.TokenEndpoint.yaml | 4 - definitions/SecurityInfo.OAuth2Info.yaml | 9 - definitions/SecurityInfo.yaml | 7 - definitions/Self.yaml | 8 - ...icationSubscription.CallbackReference.yaml | 3 - ...ficationSubscription.SubscriptionType.yaml | 3 - ...rAvailabilityNotificationSubscription.yaml | 16 - definitions/SerializerTypes.yaml | 7 - ...labilityNotification.NotificationType.yaml | 3 - .../ServiceAvailabilityNotification.yaml | 16 - definitions/ServiceInfo.SerInstanceId.yaml | 3 - definitions/ServiceInfo.SerName.yaml | 3 - definitions/ServiceInfo.State.yaml | 6 - definitions/ServiceInfo.TransportId.yaml | 3 - definitions/ServiceInfo.Version.yaml | 3 - definitions/ServiceInfo.yaml | 24 - definitions/Subscription.yaml | 7 - ...gCaps.NtpServers.AuthenticationKeyNum.yaml | 4 - ...gCaps.NtpServers.AuthenticationOption.yaml | 7 - ...TimingCaps.NtpServers.DelayReqMaxRate.yaml | 4 - .../TimingCaps.NtpServers.LocalPriority.yaml | 4 - ...ingCaps.NtpServers.MaxPollingInterval.yaml | 4 - ...ingCaps.NtpServers.MinPollingInterval.yaml | 4 - .../TimingCaps.NtpServers.NtpServerAddr.yaml | 3 - ...mingCaps.NtpServers.NtpServerAddrType.yaml | 6 - ...ingCaps.NtpServers.PtpMasterIpAddress.yaml | 3 - ...aps.NtpServers.PtpMasterLocalPriority.yaml | 4 - definitions/TimingCaps.NtpServers.yaml | 25 - definitions/TimingCaps.PtpMasters.yaml | 13 - definitions/TimingCaps.TimeStamp.yaml | 20 - definitions/TimingCaps.yaml | 15 - definitions/TrafficFilter.Address.yaml | 3 - definitions/TrafficFilter.DSCP.yaml | 4 - definitions/TrafficFilter.Port.yaml | 3 - definitions/TrafficFilter.Protocol.yaml | 3 - definitions/TrafficFilter.QCI.yaml | 4 - definitions/TrafficFilter.TC.yaml | 4 - definitions/TrafficFilter.Token.yaml | 3 - definitions/TrafficFilter.TunnelAddress.yaml | 3 - definitions/TrafficFilter.TunnelPort.yaml | 3 - definitions/TrafficFilter.yaml | 59 - definitions/TrafficRule.Action.yaml | 10 - definitions/TrafficRule.FilterType.yaml | 6 - definitions/TrafficRule.Id.yaml | 3 - definitions/TrafficRule.Priority.yaml | 4 - definitions/TrafficRule.State.yaml | 6 - definitions/TrafficRule.yaml | 24 - definitions/TransportInfo.Description.yaml | 3 - definitions/TransportInfo.Id.yaml | 3 - .../TransportInfo.ImplSpecificInfo.yaml | 2 - definitions/TransportInfo.Name.yaml | 3 - definitions/TransportInfo.Protocol.yaml | 3 - definitions/TransportInfo.Version.yaml | 3 - definitions/TransportInfo.yaml | 29 - definitions/TransportTypes.yaml | 11 - definitions/TunnelInfo.TunnelDstAddress.yaml | 3 - definitions/TunnelInfo.TunnelSrcAddress.yaml | 3 - definitions/TunnelInfo.TunnelType.yaml | 6 - definitions/TunnelInfo.yaml | 11 - definitions/index.yaml | 200 - examples/DnsRule.json | 10 - examples/DnsRule.yaml | 7 - examples/ServiceInfo.json | 41 - examples/ServiceInfo.yaml | 29 - examples/TrafficRule.json | 26 - examples/TrafficRule.yaml | 15 - externalDocs/index.yaml | 2 - info/index.yaml | 6 - ...ppTerminationNotificationSubscription.yaml | 6 - parameters/Body.DnsRule.yaml | 6 - ...rAvailabilityNotificationSubscription.yaml | 6 - parameters/Body.ServiceInfo.yaml | 6 - parameters/Body.TrafficRule.yaml | 6 - parameters/Path.AppInstanceId.yaml | 6 - parameters/Path.DnsRuleId.yaml | 6 - parameters/Path.ServiceId.yaml | 6 - parameters/Path.SubscriptionId.yaml | 6 - parameters/Path.SubscriptionType.yaml | 6 - parameters/Path.TrafficRuleId.yaml | 6 - parameters/Query.Ser_category_id.yaml | 5 - parameters/Query.Ser_instance_id.yaml | 7 - parameters/Query.Ser_name.yaml | 7 - parameters/index.yaml | 41 - paths/ApplicationsDnsRule.GET.yaml | 45 - paths/ApplicationsDnsRule.PUT.yaml | 54 - paths/ApplicationsDnsRule.yaml | 9 - paths/ApplicationsDnsRules.GET.yaml | 47 - paths/ApplicationsDnsRules.yaml | 5 - paths/ApplicationsSubscription.DELETE.yaml | 24 - paths/ApplicationsSubscription.GET.yaml | 39 - paths/ApplicationsSubscription.yaml | 10 - paths/ApplicationsSubscriptions.GET.yaml | 36 - paths/ApplicationsSubscriptions.POST.yaml | 48 - paths/ApplicationsSubscriptions.yaml | 8 - paths/ApplicationsTrafficRule.GET.yaml | 52 - paths/ApplicationsTrafficRule.PUT.yaml | 61 - paths/ApplicationsTrafficRule.yaml | 9 - paths/ApplicationsTrafficRules.GET.yaml | 54 - paths/ApplicationsTrafficRules.yaml | 5 - paths/Services.GET.yaml | 73 - paths/Services.POST.yaml | 74 - paths/Services.yaml | 5 - paths/ServicesServiceId.GET.yaml | 67 - paths/ServicesServiceId.PUT.yaml | 76 - paths/ServicesServiceId.yaml | 8 - paths/TimingCaps.GET.yaml | 36 - paths/TimingCaps.yaml | 2 - paths/TimingCurrentTime.GET.yaml | 36 - paths/TimingCurrentTime.yaml | 2 - paths/Transports.GET.yaml | 38 - paths/Transports.yaml | 2 - paths/index.yaml | 32 - 159 files changed, 3586 insertions(+), 6133 deletions(-) delete mode 100644 Mp1.split.yaml delete mode 100644 definitions/AppTerminationNotification.MaxGracefulTimeout.yaml delete mode 100644 definitions/AppTerminationNotification.NotificationType.yaml delete mode 100644 definitions/AppTerminationNotification.yaml delete mode 100644 definitions/AppTerminationNotificationSubscription.AppInstanceId.yaml delete mode 100644 definitions/AppTerminationNotificationSubscription.CallbackReference.yaml delete mode 100644 definitions/AppTerminationNotificationSubscription.SubscriptionType.yaml delete mode 100644 definitions/AppTerminationNotificationSubscription.yaml delete mode 100644 definitions/CategoryRef.Href.yaml delete mode 100644 definitions/CategoryRef.Id.yaml delete mode 100644 definitions/CategoryRef.Name.yaml delete mode 100644 definitions/CategoryRef.Version.yaml delete mode 100644 definitions/CategoryRef.yaml delete mode 100644 definitions/CurrentTime.yaml delete mode 100644 definitions/DestinationInterface.InterfaceType.yaml delete mode 100644 definitions/DestinationInterface.IpAddress.yaml delete mode 100644 definitions/DestinationInterface.MacAddress.yaml delete mode 100644 definitions/DestinationInterface.yaml delete mode 100644 definitions/DnsRule.DomainName.yaml delete mode 100644 definitions/DnsRule.Id.yaml delete mode 100644 definitions/DnsRule.IpAddress.yaml delete mode 100644 definitions/DnsRule.IpAddressType.yaml delete mode 100644 definitions/DnsRule.State.yaml delete mode 100644 definitions/DnsRule.Ttl.yaml delete mode 100644 definitions/DnsRule.yaml delete mode 100644 definitions/EndPointInfo.Address.Host.yaml delete mode 100644 definitions/EndPointInfo.Address.Port.yaml delete mode 100644 definitions/EndPointInfo.Address.yaml delete mode 100644 definitions/EndPointInfo.Addresses.yaml delete mode 100644 definitions/EndPointInfo.Alternative.yaml delete mode 100644 definitions/EndPointInfo.Uri.yaml delete mode 100644 definitions/EndPointInfo.Uris.yaml delete mode 100644 definitions/EndPointInfo.yaml delete mode 100644 definitions/LinkType.yaml delete mode 100644 definitions/Mp1SubscriptionLinkList.Links.yaml delete mode 100644 definitions/Mp1SubscriptionLinkList.Subscription.yaml delete mode 100644 definitions/Mp1SubscriptionLinkList.yaml delete mode 100644 definitions/Problem.detail.yaml delete mode 100644 definitions/Problem.instance.yaml delete mode 100644 definitions/Problem.status.yaml delete mode 100644 definitions/Problem.title.yaml delete mode 100644 definitions/Problem.type.yaml delete mode 100644 definitions/ProblemDetails.yaml delete mode 100644 definitions/SecurityInfo.OAuth2Info.GrantTypes.yaml delete mode 100644 definitions/SecurityInfo.OAuth2Info.TokenEndpoint.yaml delete mode 100644 definitions/SecurityInfo.OAuth2Info.yaml delete mode 100644 definitions/SecurityInfo.yaml delete mode 100644 definitions/Self.yaml delete mode 100644 definitions/SerAvailabilityNotificationSubscription.CallbackReference.yaml delete mode 100644 definitions/SerAvailabilityNotificationSubscription.SubscriptionType.yaml delete mode 100644 definitions/SerAvailabilityNotificationSubscription.yaml delete mode 100644 definitions/SerializerTypes.yaml delete mode 100644 definitions/ServiceAvailabilityNotification.NotificationType.yaml delete mode 100644 definitions/ServiceAvailabilityNotification.yaml delete mode 100644 definitions/ServiceInfo.SerInstanceId.yaml delete mode 100644 definitions/ServiceInfo.SerName.yaml delete mode 100644 definitions/ServiceInfo.State.yaml delete mode 100644 definitions/ServiceInfo.TransportId.yaml delete mode 100644 definitions/ServiceInfo.Version.yaml delete mode 100644 definitions/ServiceInfo.yaml delete mode 100644 definitions/Subscription.yaml delete mode 100644 definitions/TimingCaps.NtpServers.AuthenticationKeyNum.yaml delete mode 100644 definitions/TimingCaps.NtpServers.AuthenticationOption.yaml delete mode 100644 definitions/TimingCaps.NtpServers.DelayReqMaxRate.yaml delete mode 100644 definitions/TimingCaps.NtpServers.LocalPriority.yaml delete mode 100644 definitions/TimingCaps.NtpServers.MaxPollingInterval.yaml delete mode 100644 definitions/TimingCaps.NtpServers.MinPollingInterval.yaml delete mode 100644 definitions/TimingCaps.NtpServers.NtpServerAddr.yaml delete mode 100644 definitions/TimingCaps.NtpServers.NtpServerAddrType.yaml delete mode 100644 definitions/TimingCaps.NtpServers.PtpMasterIpAddress.yaml delete mode 100644 definitions/TimingCaps.NtpServers.PtpMasterLocalPriority.yaml delete mode 100644 definitions/TimingCaps.NtpServers.yaml delete mode 100644 definitions/TimingCaps.PtpMasters.yaml delete mode 100644 definitions/TimingCaps.TimeStamp.yaml delete mode 100644 definitions/TimingCaps.yaml delete mode 100644 definitions/TrafficFilter.Address.yaml delete mode 100644 definitions/TrafficFilter.DSCP.yaml delete mode 100644 definitions/TrafficFilter.Port.yaml delete mode 100644 definitions/TrafficFilter.Protocol.yaml delete mode 100644 definitions/TrafficFilter.QCI.yaml delete mode 100644 definitions/TrafficFilter.TC.yaml delete mode 100644 definitions/TrafficFilter.Token.yaml delete mode 100644 definitions/TrafficFilter.TunnelAddress.yaml delete mode 100644 definitions/TrafficFilter.TunnelPort.yaml delete mode 100644 definitions/TrafficFilter.yaml delete mode 100644 definitions/TrafficRule.Action.yaml delete mode 100644 definitions/TrafficRule.FilterType.yaml delete mode 100644 definitions/TrafficRule.Id.yaml delete mode 100644 definitions/TrafficRule.Priority.yaml delete mode 100644 definitions/TrafficRule.State.yaml delete mode 100644 definitions/TrafficRule.yaml delete mode 100644 definitions/TransportInfo.Description.yaml delete mode 100644 definitions/TransportInfo.Id.yaml delete mode 100644 definitions/TransportInfo.ImplSpecificInfo.yaml delete mode 100644 definitions/TransportInfo.Name.yaml delete mode 100644 definitions/TransportInfo.Protocol.yaml delete mode 100644 definitions/TransportInfo.Version.yaml delete mode 100644 definitions/TransportInfo.yaml delete mode 100644 definitions/TransportTypes.yaml delete mode 100644 definitions/TunnelInfo.TunnelDstAddress.yaml delete mode 100644 definitions/TunnelInfo.TunnelSrcAddress.yaml delete mode 100644 definitions/TunnelInfo.TunnelType.yaml delete mode 100644 definitions/TunnelInfo.yaml delete mode 100644 definitions/index.yaml delete mode 100644 examples/DnsRule.json delete mode 100644 examples/DnsRule.yaml delete mode 100644 examples/ServiceInfo.json delete mode 100644 examples/ServiceInfo.yaml delete mode 100644 examples/TrafficRule.json delete mode 100644 examples/TrafficRule.yaml delete mode 100644 externalDocs/index.yaml delete mode 100644 info/index.yaml delete mode 100644 parameters/Body.AppTerminationNotificationSubscription.yaml delete mode 100644 parameters/Body.DnsRule.yaml delete mode 100644 parameters/Body.SerAvailabilityNotificationSubscription.yaml delete mode 100644 parameters/Body.ServiceInfo.yaml delete mode 100644 parameters/Body.TrafficRule.yaml delete mode 100644 parameters/Path.AppInstanceId.yaml delete mode 100644 parameters/Path.DnsRuleId.yaml delete mode 100644 parameters/Path.ServiceId.yaml delete mode 100644 parameters/Path.SubscriptionId.yaml delete mode 100644 parameters/Path.SubscriptionType.yaml delete mode 100644 parameters/Path.TrafficRuleId.yaml delete mode 100644 parameters/Query.Ser_category_id.yaml delete mode 100644 parameters/Query.Ser_instance_id.yaml delete mode 100644 parameters/Query.Ser_name.yaml delete mode 100644 parameters/index.yaml delete mode 100644 paths/ApplicationsDnsRule.GET.yaml delete mode 100644 paths/ApplicationsDnsRule.PUT.yaml delete mode 100644 paths/ApplicationsDnsRule.yaml delete mode 100644 paths/ApplicationsDnsRules.GET.yaml delete mode 100644 paths/ApplicationsDnsRules.yaml delete mode 100644 paths/ApplicationsSubscription.DELETE.yaml delete mode 100644 paths/ApplicationsSubscription.GET.yaml delete mode 100644 paths/ApplicationsSubscription.yaml delete mode 100644 paths/ApplicationsSubscriptions.GET.yaml delete mode 100644 paths/ApplicationsSubscriptions.POST.yaml delete mode 100644 paths/ApplicationsSubscriptions.yaml delete mode 100644 paths/ApplicationsTrafficRule.GET.yaml delete mode 100644 paths/ApplicationsTrafficRule.PUT.yaml delete mode 100644 paths/ApplicationsTrafficRule.yaml delete mode 100644 paths/ApplicationsTrafficRules.GET.yaml delete mode 100644 paths/ApplicationsTrafficRules.yaml delete mode 100644 paths/Services.GET.yaml delete mode 100644 paths/Services.POST.yaml delete mode 100644 paths/Services.yaml delete mode 100644 paths/ServicesServiceId.GET.yaml delete mode 100644 paths/ServicesServiceId.PUT.yaml delete mode 100644 paths/ServicesServiceId.yaml delete mode 100644 paths/TimingCaps.GET.yaml delete mode 100644 paths/TimingCaps.yaml delete mode 100644 paths/TimingCurrentTime.GET.yaml delete mode 100644 paths/TimingCurrentTime.yaml delete mode 100644 paths/Transports.GET.yaml delete mode 100644 paths/Transports.yaml delete mode 100644 paths/index.yaml diff --git a/Mp1.json b/Mp1.json index 338aa12..1d449fa 100644 --- a/Mp1.json +++ b/Mp1.json @@ -1,5 +1,13 @@ { - "swagger": "2.0", + "openapi": "3.0.0", + "servers": [ + { + "url": "http://127.0.0.1:8081/exampleAPI/mp1/v1/" + }, + { + "url": "https://127.0.0.1:8081/exampleAPI/mp1/v1/" + } + ], "info": { "title": "Mp1 API", "version": "1.1.1", @@ -13,215 +21,28 @@ "description": "ETSI GS MEC011 Application Enablement API, V1.1.1", "url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/01.01.01_60/gs_mec011v010101p.pdf" }, - "host": "127.0.0.1:8081", - "basePath": "/exampleAPI/mp1/v1/", - "schemes": [ - "http", - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": { - "Body.AppTerminationNotificationSubscription": { - "name": "AppTerminationNotificationSubscription", - "description": "Entity body in the request contains a subscription to the mobile edge application termination notifications that is to be created.", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/AppTerminationNotificationSubscription" - } - }, - "Body.DnsRule": { - "name": "DnsRule", - "description": "The updated state is included in the entity body of the request.", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/DnsRule" - } - }, - "Body.SerAvailabilityNotificationSubscription": { - "name": "SerAvailabilityNotificationSubscription", - "description": "Entity body in the request contains a subscription to the mobile edge service availability notifications that is to be created.", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SerAvailabilityNotificationSubscription" - } - }, - "Body.ServiceInfo": { - "name": "ServiceInfo", - "description": "New ServiceInfo with updated \"state\" is included as entity body of the request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ServiceInfo" - } - }, - "Body.TrafficRule": { - "name": "TrafficRule", - "description": "One or more updated attributes that are allowed to be changed", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/TrafficRule" - } - }, - "Path.AppInstanceId": { - "name": "appInstanceId", - "description": "Represents a mobile edge application instance. Note that the appInstanceId is allocated by the mobile edge platform manager.", - "in": "path", - "required": true, - "type": "string", - "format": "uri" - }, - "Path.DnsRuleId": { - "name": "dnsRuleId", - "description": "Represents a DNS rule.", - "in": "path", - "required": true, - "type": "string", - "format": "uri" - }, - "Path.SubscriptionId": { - "name": "subscriptionId", - "description": "Represents a subscription to the notifications from the mobile edge platform.", - "in": "path", - "required": true, - "type": "string", - "format": "uri" - }, - "Path.SubscriptionType": { - "name": "subscriptionType", - "description": "Represents a subscription type to the notifications from the mobile edge platform.", - "in": "path", - "required": true, - "type": "string", - "format": "uri" - }, - "Path.ServiceId": { - "name": "serviceId", - "description": "Represents a mobile edge service instance.", - "in": "path", - "required": true, - "type": "string", - "format": "uri" - }, - "Path.TrafficRuleId": { - "name": "trafficRuleId", - "description": "Represents a traffic rule.", - "in": "path", - "required": true, - "type": "string", - "format": "uri" - }, - "Query.Ser_category_id": { - "name": "ser_category_id", - "description": "A mobile edge application instance may use ser_category_id as an input parameter to query the availability of a list of mobile edge service instances in a serCategory. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.", - "in": "query", - "required": false, - "type": "string" - }, - "Query.Ser_instance_id": { - "name": "ser_instance_id", - "description": "A mobile edge application instance may use multiple ser_instance_ids as an input parameter to query the availability of a list of mobile edge service instances. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - } - }, - "Query.Ser_name": { - "name": "ser_name", - "description": "A mobile edge application instance may use multiple ser_names as an input parameter to query the availability of a list of mobile edge service instances. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - } - } - }, "paths": { "/applications/{appInstanceId}/dns_rules": { "parameters": [ { - "$ref": "#/parameters/Path.AppInstanceId" + "$ref": "#/components/parameters/Path.AppInstanceId" } ], "get": { "description": "This method retrieves information about all the DNS rules associated with a mobile edge application instance.", "operationId": "ApplicationsDnsRules.GET", - "produces": [ - "application/json" - ], "responses": { "200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "DnsRule": { - "$ref": "#/definitions/DnsRule" - } - } - } - }, - "examples": { - "application/json": [{ - "DnsRule": { - "dnsRuleId": "DnsRule1", - "domainName": "www.example.com", - "ipAddressType": "IP_V4", - "ipAddress": "146.241.7.3", - "ttl": 300, - "state": "ACTIVE" - } - }] - } + "$ref": "#/components/responses/ApplicationsDnsRules.200" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" } } } @@ -229,292 +50,105 @@ "/applications/{appInstanceId}/dns_rules/{dnsRuleId}": { "parameters": [ { - "$ref": "#/parameters/Path.AppInstanceId" + "$ref": "#/components/parameters/Path.AppInstanceId" }, { - "$ref": "#/parameters/Path.DnsRuleId" + "$ref": "#/components/parameters/Path.DnsRuleId" } ], "get": { "description": "This method retrieves information about a DNS rule associated with a mobile edge application instance.", "operationId": "ApplicationsDnsRule.GET", - "produces": [ - "application/json" - ], "responses": { "200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "schema": { - "type": "object", - "properties": { - "DnsRule": { - "$ref": "#/definitions/DnsRule" - } - } - }, - "examples": { - "application/json": { - "DnsRule": { - "dnsRuleId": "DnsRule1", - "domainName": "www.example.com", - "ipAddressType": "IP_V4", - "ipAddress": "146.241.7.3", - "ttl": 300, - "state": "ACTIVE" - } - } - } + "$ref": "#/components/responses/ApplicationsDnsRule.200" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" } } }, "put": { "description": "This method activates, de-activates or updates a traffic rule.", "operationId": "ApplicationsDnsRule.PUT", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/Body.DnsRule" - } - ], "responses": { "200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "schema": { - "type": "object", - "properties": { - "DnsRule": { - "$ref": "#/definitions/DnsRule" - } - } - }, - "examples": { - "application/json": { - "DnsRule": { - "dnsRuleId": "DnsRule1", - "domainName": "www.example.com", - "ipAddressType": "IP_V4", - "ipAddress": "146.241.7.3", - "ttl": 300, - "state": "ACTIVE" - } - } - } + "$ref": "#/components/responses/ApplicationsDnsRule.200" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" }, "412": { - "description": "Precondition Failed", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.412" } + }, + "requestBody": { + "$ref": "#/components/requestBodies/ApplicationsDnsRule" } } }, "/applications/{appInstanceId}/subscriptions": { "parameters": [ { - "$ref": "#/parameters/Path.AppInstanceId" + "$ref": "#/components/parameters/Path.AppInstanceId" } ], "get": { "description": "The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor.", "operationId": "ApplicationsSubscriptions.GET", - "produces": [ - "application/json" - ], "responses": { "200": { - "description": "Upon success, a response body containing the list of links to the requested subscriptions is returned.", - "schema": { - "type": "object", - "properties": { - "Mp1SubscriptionLinkList": { - "$ref": "#/definitions/Mp1SubscriptionLinkList" - } - } - } + "$ref": "#/components/responses/ApplicationsSubscriptions.200" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" } } }, "post": { "description": "The POST method may be used to create a new subscription. One example use case is to create a new subscription to the mobile edge service availability notifications. Upon success, the response contains entity body describing the created subscription.", "operationId": "ApplicationsSubscriptions.POST", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/Body.AppTerminationNotificationSubscription" - } - ], "responses": { "201": { - "description": "Entity body in the request contains a subscription to the mobile edge service availability notifications that is to be created.", - "headers": { - "location": { - "description": "The resource URI of the created resource", - "type": "string", - "format": "uri" - } - }, - "schema": { - "type": "object", - "properties": { - "AppTerminationNotificationSubscription": { - "$ref": "#/definitions/AppTerminationNotificationSubscription" - } - } - } + "$ref": "#/components/responses/ApplicationsSubscriptions.201" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" + } + }, + "requestBody": { + "$ref": "#/components/requestBodies/ApplicationsSubscriptions" + }, + "callbacks": { + "appTerminationNotification": { + "$ref": "#/components/callbacks/AppTerminationNotification" + }, + "serviceAvailabilityNotification": { + "$ref": "#/components/callbacks/ServiceAvailabilityNotification" } } } @@ -522,105 +156,45 @@ "/applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}": { "parameters": [ { - "$ref": "#/parameters/Path.AppInstanceId" + "$ref": "#/components/parameters/Path.AppInstanceId" }, { - "$ref": "#/parameters/Path.SubscriptionType" + "$ref": "#/components/parameters/Path.SubscriptionType" }, { - "$ref": "#/parameters/Path.SubscriptionId" + "$ref": "#/components/parameters/Path.SubscriptionId" } ], "get": { "description": "The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor.", "operationId": "ApplicationsSubscription.GET", - "produces": [ - "application/json" - ], "responses": { "200": { - "description": "Upon success, a response body containing the requested subscription is returned.", - "schema": { - "type": "object", - "properties": { - "SerAvailabilityNotificationSubscription": { - "$ref": "#/definitions/SerAvailabilityNotificationSubscription" - } - } - } + "$ref": "#/components/responses/ApplicationsSubscription.200" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" } } }, "delete": { "description": "This method deletes a meMp1Subscription. This method is typically used in \"Unsubscribing from service availability event notifications\" procedure.", "operationId": "ApplicationsSubscription.DELETE", - "produces": [ - "application/json" - ], "responses": { "204": { "description": "No Content" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" } } } @@ -628,93 +202,24 @@ "/applications/{appInstanceId}/traffic_rules": { "parameters": [ { - "$ref": "#/parameters/Path.AppInstanceId" + "$ref": "#/components/parameters/Path.AppInstanceId" } ], "get": { "description": "This method retrieves information about all the traffic rules associated with a mobile edge application instance.", "operationId": "ApplicationsTrafficRules.GET", - "produces": [ - "application/json" - ], "responses": { "200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "TrafficRule": { - "$ref": "#/definitions/TrafficRule" - } - } - } - }, - "examples": { - "application/json": [{ - "TrafficRule": { - "trafficRuleId": "TrafficRule123", - "serName": "ExampleService", - "filterType": "FLOW", - "priority": 1, - "trafficFilter": { - "srcAddress": [ - "192.168.2.0/24", - "192.168.3.0/24" - ], - "dstAddress": [ - "192.127.4.100/32" - ], - "dstPort": [ - 80 - ] - }, - "action": "FORWARD_DECAPSULATED", - "dstInterface": { - "interfaceType": "IP", - "dstIpAddress": "20.1.1.1" - }, - "state": "ACTIVE" - } - }] - } + "$ref": "#/components/responses/ApplicationsTrafficRules.200" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" } } } @@ -722,194 +227,52 @@ "/applications/{appInstanceId}/traffic_rules/{trafficRuleId}": { "parameters": [ { - "$ref": "#/parameters/Path.AppInstanceId" + "$ref": "#/components/parameters/Path.AppInstanceId" }, { - "$ref": "#/parameters/Path.TrafficRuleId" + "$ref": "#/components/parameters/Path.TrafficRuleId" } ], "get": { "description": "This method retrieves information about all the traffic rules associated with a mobile edge application instance.", "operationId": "ApplicationsTrafficRule.GET", - "produces": [ - "application/json" - ], "responses": { "200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "schema": { - "type": "object", - "properties": { - "TrafficRule": { - "$ref": "#/definitions/TrafficRule" - } - } - }, - "examples": { - "application/json": { - "TrafficRule": { - "trafficRuleId": "TrafficRule123", - "serName": "ExampleService", - "filterType": "FLOW", - "priority": 1, - "trafficFilter": { - "srcAddress": [ - "192.168.2.0/24", - "192.168.3.0/24" - ], - "dstAddress": [ - "192.127.4.100/32" - ], - "dstPort": [ - 80 - ] - }, - "action": "FORWARD_DECAPSULATED", - "dstInterface": { - "interfaceType": "IP", - "dstIpAddress": "20.1.1.1" - }, - "state": "ACTIVE" - } - } - } + "$ref": "#/components/responses/ApplicationsTrafficRule.200" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" } } }, "put": { "description": "This method retrieves information about all the traffic rules associated with a mobile edge application instance.", - "operationId": "ApplicationsTrafficRules.PUT", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/Body.TrafficRule" - } - ], + "operationId": "ApplicationsTrafficRule.PUT", "responses": { "200": { - "description": "Upon success, a response body containing data type describing the updated TrafficRule is returned.", - "schema": { - "type": "object", - "properties": { - "TrafficRule": { - "$ref": "#/definitions/TrafficRule" - } - } - }, - "examples": { - "application/json": { - "TrafficRule": { - "trafficRuleId": "TrafficRule123", - "serName": "ExampleService", - "filterType": "FLOW", - "priority": 1, - "trafficFilter": { - "srcAddress": [ - "192.168.2.0/24", - "192.168.3.0/24" - ], - "dstAddress": [ - "192.127.4.100/32" - ], - "dstPort": [ - 80 - ] - }, - "action": "FORWARD_DECAPSULATED", - "dstInterface": { - "interfaceType": "IP", - "dstIpAddress": "20.1.1.1" - }, - "state": "ACTIVE" - } - } - } + "$ref": "#/components/responses/ApplicationsTrafficRule.200" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" }, "412": { - "description": "Precondition Failed", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.412" } + }, + "requestBody": { + "$ref": "#/components/requestBodies/ApplicationsTrafficRule" } } }, @@ -917,446 +280,100 @@ "get": { "description": "This method retrieves information about a list of meService resources. This method is typically used in \"service availability query\" procedure", "operationId": "Services.GET", - "produces": [ - "application/json" - ], "parameters": [ { - "$ref": "#/parameters/Query.Ser_instance_id" + "$ref": "#/components/parameters/Query.Ser_instance_id" }, { - "$ref": "#/parameters/Query.Ser_name" + "$ref": "#/components/parameters/Query.Ser_name" }, { - "$ref": "#/parameters/Query.Ser_category_id" + "$ref": "#/components/parameters/Query.Ser_category_id" } ], "responses": { "200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ServiceInfo": { - "$ref": "#/definitions/ServiceInfo" - } - } - } - }, - "examples": { - "application/json": [{ - "ServiceInfo": { - "serInstanceId": "ServiceInstance123", - "serName": "ExampleService", - "serCategory": { - "href": "catItem1", - "id": "id12345", - "name": "RNI", - "version": "version1" - }, - "version": "ServiceVersion1", - "state": "ACTIVE", - "transportId": "Rest1", - "transportInfo": { - "id": "TransId12345", - "name": "REST", - "description": "REST API", - "type": "JSON", - "protocol": "HTTP", - "version": "2.0", - "endpoint": { - "uris": [ - "/meMp1/service/EntryPoint" - ], - "addresses": [ - { - "host": "192.0.2.0", - "port": "8080" - } - ] - }, - "security": { - "oAuth2Info": { - "grantTypes": "OAUTH2_CLIENT_CREDENTIALS", - "tokenEndpoint": "/meMp1/security/TokenEndPoint" - } - } - }, - "serializer": "JSON" - } - }] - } + "$ref": "#/components/responses/Services.200" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" } } }, "post": { "description": "This method is used to create a meService resource. This method is typically used in \"service availability update and new service registration\" procedure", "operationId": "Services.POST", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/Body.ServiceInfo" - } - ], "responses": { "201": { - "description": "Upon success, the HTTP response shall include a Location HTTP header that contains the resource URI of the created resource.", - "headers": { - "location": { - "description": "The resource URI of the created resource", - "type": "string", - "format": "uri" - } - }, - "schema": { - "type": "object", - "properties": { - "ServiceInfo": { - "$ref": "#/definitions/ServiceInfo" - } - } - }, - "examples": { - "application/json": { - "ServiceInfo": { - "serInstanceId": "ServiceInstance123", - "serName": "ExampleService", - "serCategory": { - "href": "catItem1", - "id": "id12345", - "name": "RNI", - "version": "version1" - }, - "version": "ServiceVersion1", - "state": "ACTIVE", - "transportId": "Rest1", - "transportInfo": { - "id": "TransId12345", - "name": "REST", - "description": "REST API", - "type": "JSON", - "protocol": "HTTP", - "version": "2.0", - "endpoint": { - "uris": [ - "/meMp1/service/EntryPoint" - ], - "addresses": [ - { - "host": "192.0.2.0", - "port": "8080" - } - ] - }, - "security": { - "oAuth2Info": { - "grantTypes": "OAUTH2_CLIENT_CREDENTIALS", - "tokenEndpoint": "/meMp1/security/TokenEndPoint" - } - } - }, - "serializer": "JSON" - } - } - } + "$ref": "#/components/responses/Services.201" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" } + }, + "requestBody": { + "$ref": "#/components/requestBodies/Services" } } }, "/services/{serviceId}": { "parameters": [ { - "$ref": "#/parameters/Path.ServiceId" + "$ref": "#/components/parameters/Path.ServiceId" } ], "get": { "description": "This method retrieves information about a meService resource. This method is typically used in \"service availability query\" procedure", "operationId": "ServicesServiceId.GET", - "produces": [ - "application/json" - ], "responses": { "200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "schema": { - "type": "object", - "properties": { - "ServiceInfo": { - "$ref": "#/definitions/ServiceInfo" - } - } - }, - "examples": { - "application/json": { - "ServiceInfo": { - "serInstanceId": "ServiceInstance123", - "serName": "ExampleService", - "serCategory": { - "href": "catItem1", - "id": "id12345", - "name": "RNI", - "version": "version1" - }, - "version": "ServiceVersion1", - "state": "ACTIVE", - "transportId": "Rest1", - "transportInfo": { - "id": "TransId12345", - "name": "REST", - "description": "REST API", - "type": "JSON", - "protocol": "HTTP", - "version": "2.0", - "endpoint": { - "uris": [ - "/meMp1/service/EntryPoint" - ], - "addresses": [ - { - "host": "192.0.2.0", - "port": "8080" - } - ] - }, - "security": { - "oAuth2Info": { - "grantTypes": "OAUTH2_CLIENT_CREDENTIALS", - "tokenEndpoint": "/meMp1/security/TokenEndPoint" - } - } - }, - "serializer": "JSON" - } - } - } + "$ref": "#/components/responses/ServicesServiceId.200" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" } } }, "put": { "description": "This method updates the information about a meService resource", "operationId": "ServicesServiceId.PUT", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/Body.ServiceInfo" - } - ], "responses": { "200": { - "description": "Upon success, a response body containing data type describing the updated ServiceInfo is returned", - "schema": { - "type": "object", - "properties": { - "ServiceInfo": { - "$ref": "#/definitions/ServiceInfo" - } - } - }, - "examples": { - "application/json": { - "ServiceInfo": { - "serInstanceId": "ServiceInstance123", - "serName": "ExampleService", - "serCategory": { - "href": "catItem1", - "id": "id12345", - "name": "RNI", - "version": "version1" - }, - "version": "ServiceVersion1", - "state": "ACTIVE", - "transportId": "Rest1", - "transportInfo": { - "id": "TransId12345", - "name": "REST", - "description": "REST API", - "type": "JSON", - "protocol": "HTTP", - "version": "2.0", - "endpoint": { - "uris": [ - "/meMp1/service/EntryPoint" - ], - "addresses": [ - { - "host": "192.0.2.0", - "port": "8080" - } - ] - }, - "security": { - "oAuth2Info": { - "grantTypes": "OAUTH2_CLIENT_CREDENTIALS", - "tokenEndpoint": "/meMp1/security/TokenEndPoint" - } - } - }, - "serializer": "JSON" - } - } - } + "$ref": "#/components/responses/ServicesServiceId.200" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" }, "412": { - "description": "Precondition Failed", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.412" } + }, + "requestBody": { + "$ref": "#/components/requestBodies/ServicesServiceId" } } }, @@ -1364,56 +381,18 @@ "get": { "description": "This method retrieves the information of the platform's current time which corresponds to the get platform time procedure", "operationId": "TimingCurrentTime.GET", - "produces": [ - "application/json" - ], "responses": { "200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "schema": { - "type": "object", - "properties": { - "CurrentTime": { - "$ref": "#/definitions/CurrentTime" - } - } - } + "$ref": "#/components/responses/TimingCurrentTime.200" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" } } } @@ -1422,56 +401,18 @@ "get": { "description": "This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query", "operationId": "TimingCaps.GET", - "produces": [ - "application/json" - ], "responses": { "200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "schema": { - "type": "object", - "properties": { - "TimingCaps": { - "$ref": "#/definitions/TimingCaps" - } - } - } + "$ref": "#/components/responses/TimingCaps.200" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" } } } @@ -1480,1161 +421,1926 @@ "get": { "description": "This method retrieves information about a list of available transports. This method is typically used by a service-producing application to discover transports provided by the mobile edge platform in the \"transport information query\" procedure", "operationId": "Transports.GET", - "produces": [ - "application/json" - ], "responses": { "200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "TransportInfo": { - "$ref": "#/definitions/TransportInfo" - } - } - } - } + "$ref": "#/components/responses/Transports.200" }, "400": { - "description": "Bad Request", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.400" }, "403": { - "description": "Forbidden", - "schema": { - "type": "object", - "required": [ - "ProblemDetails" - ], - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.403" }, "404": { - "description": "Not Found", - "schema": { - "type": "object", - "properties": { - "ProblemDetails": { - "$ref": "#/definitions/ProblemDetails" - } - } - } + "$ref": "#/components/responses/Error.404" } } } } }, - "definitions": { - "AppTerminationNotification.MaxGracefulTimeout": { - "description": "Maximum timeout value in seconds for graceful termination or graceful stop of an application instance.", - "type": "string", - "format": "uint32", - "example": 10 - }, - "AppTerminationNotification.NotificationType": { - "description": "Shall be set to AppTerminationNotification.", - "type": "string", - "example": "AppTerminationNotification" - }, - "AppTerminationNotification": { - "description": "This type represents the information that the mobile edge platform notifies the subscribed application instance about the corresponding application instance termination/stop.", - "type": "object", - "required": [ - "notificationType", - "maxGracefulTimeout", - "_links" - ], - "properties": { - "notificationType": { - "$ref": "#/definitions/AppTerminationNotification.NotificationType" - }, - "maxGracefulTimeout": { - "$ref": "#/definitions/AppTerminationNotification.MaxGracefulTimeout" - }, - "_links": { - "$ref": "#/definitions/Subscription" + "components": { + "schemas": { + "Empty": { + "description": "Empty schema" + }, + "AppTerminationNotification.MaxGracefulTimeout": { + "description": "Maximum timeout value in seconds for graceful termination or graceful stop of an application instance.", + "type": "string", + "format": "uint32", + "example": 10 + }, + "AppTerminationNotification.NotificationType": { + "description": "Shall be set to AppTerminationNotification.", + "type": "string", + "example": "AppTerminationNotification" + }, + "AppTerminationNotification": { + "description": "This type represents the information that the mobile edge platform notifies the subscribed application instance about the corresponding application instance termination/stop.", + "type": "object", + "required": [ + "notificationType", + "maxGracefulTimeout", + "_links" + ], + "properties": { + "notificationType": { + "$ref": "#/components/schemas/AppTerminationNotification.NotificationType" + }, + "maxGracefulTimeout": { + "$ref": "#/components/schemas/AppTerminationNotification.MaxGracefulTimeout" + }, + "_links": { + "$ref": "#/components/schemas/Subscription" + } } - } - }, - "AppTerminationNotificationSubscription.AppInstanceId": { - "description": "It is used as the filtering criterion for the subscribed events.", - "type": "string", - "example": "ID1" - }, - "AppTerminationNotificationSubscription.CallbackReference": { - "description": "URI selected by the mobile edge application instance to receive notifications on the subscribed mobile edge application instance management information. This shall be included in both the request and the response.", - "type": "string", - "format": "uri" - }, - "AppTerminationNotificationSubscription": { - "description": "This type represents the information that the mobile edge platform notifies the subscribed application instance about the corresponding application instance termination/stop.", - "type": "object", - "required": [ - "subscriptionType", - "callbackReference", - "_links", - "appInstanceId" - ], - "properties": { - "subscriptionType": { - "$ref": "#/definitions/AppTerminationNotificationSubscription.SubscriptionType" - }, - "callbackReference": { - "$ref": "#/definitions/AppTerminationNotificationSubscription.CallbackReference" - }, - "_links": { - "$ref": "#/definitions/Self" - }, - "appInstanceId": { - "$ref": "#/definitions/AppTerminationNotificationSubscription.AppInstanceId" + }, + "AppTerminationNotificationSubscription.AppInstanceId": { + "description": "It is used as the filtering criterion for the subscribed events.", + "type": "string", + "example": "ID1" + }, + "AppTerminationNotificationSubscription.CallbackReference": { + "description": "URI selected by the mobile edge application instance to receive notifications on the subscribed mobile edge application instance management information. This shall be included in both the request and the response.", + "type": "string", + "format": "uri" + }, + "AppTerminationNotificationSubscription": { + "description": "This type represents the information that the mobile edge platform notifies the subscribed application instance about the corresponding application instance termination/stop.", + "type": "object", + "required": [ + "subscriptionType", + "callbackReference", + "_links", + "appInstanceId" + ], + "properties": { + "subscriptionType": { + "$ref": "#/components/schemas/AppTerminationNotificationSubscription.SubscriptionType" + }, + "callbackReference": { + "$ref": "#/components/schemas/AppTerminationNotificationSubscription.CallbackReference" + }, + "_links": { + "$ref": "#/components/schemas/Self" + }, + "appInstanceId": { + "$ref": "#/components/schemas/AppTerminationNotificationSubscription.AppInstanceId" + } } - } - }, - "AppTerminationNotificationSubscription.SubscriptionType": { - "description": "Shall be set to AppTerminationNotificationSubscription.", - "type": "string", - "example": "AppTerminationNotificationSubscription" - }, - "CategoryRef.Href": { - "description": "Reference of the catalogue", - "type": "string", - "example": "catItem1" - }, - "CategoryRef.Id": { - "description": "Unique identifier of the category", - "type": "string", - "example": "id12345" - }, - "CategoryRef.Name": { - "description": "Name of the category", - "type": "string", - "example": "RNI" - }, - "CategoryRef.Version": { - "description": "Category version", - "type": "string", - "example": "version1" - }, - "CategoryRef": { - "description": "This type represents the category reference", - "type": "object", - "required": [ - "href", - "id", - "name", - "version" - ], - "properties": { - "href": { - "$ref": "#/definitions/CategoryRef.Href" - }, - "id": { - "$ref": "#/definitions/CategoryRef.Id" - }, - "name": { - "$ref": "#/definitions/CategoryRef.Name" - }, - "version": { - "$ref": "#/definitions/CategoryRef.Version" + }, + "AppTerminationNotificationSubscription.SubscriptionType": { + "description": "Shall be set to AppTerminationNotificationSubscription.", + "type": "string", + "example": "AppTerminationNotificationSubscription" + }, + "CategoryRef.Href": { + "description": "Reference of the catalogue", + "type": "string", + "example": "catItem1" + }, + "CategoryRef.Id": { + "description": "Unique identifier of the category", + "type": "string", + "example": "id12345" + }, + "CategoryRef.Name": { + "description": "Name of the category", + "type": "string", + "example": "RNI" + }, + "CategoryRef.Version": { + "description": "Category version", + "type": "string", + "example": "version1" + }, + "CategoryRef": { + "description": "This type represents the category reference", + "type": "object", + "required": [ + "href", + "id", + "name", + "version" + ], + "properties": { + "href": { + "$ref": "#/components/schemas/CategoryRef.Href" + }, + "id": { + "$ref": "#/components/schemas/CategoryRef.Id" + }, + "name": { + "$ref": "#/components/schemas/CategoryRef.Name" + }, + "version": { + "$ref": "#/components/schemas/CategoryRef.Version" + } } - } - }, - "CurrentTime": { - "description": "This type represents the information provided by the mobile edge platform in response to the Get Platform Time Request message.", - "type": "object", - "required": [ - "nanoSeconds", - "seconds", - "timeSourceStatus" - ], - "properties": { - "seconds": { - "type": "integer", - "format": "uint32", - "description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC", - "example": 1577836800 - }, - "nanoSeconds": { - "type": "integer", - "format": "uint32", - "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC", - "example": 0 - }, - "timeSourceStatus": { - "type": "string", - "enum": [ - "TRACEABLE", - "NONTRACEABLE" - ], - "description": "Platform Time Source status. 1 = TRACEABLE - time source is locked to the UTC time source. 2 = NONTRACEABLE - time source is not locked to the UTC time source", - "example": "TRACEABLE" + }, + "CurrentTime": { + "description": "This type represents the information provided by the mobile edge platform in response to the Get Platform Time Request message.", + "type": "object", + "required": [ + "nanoSeconds", + "seconds", + "timeSourceStatus" + ], + "properties": { + "seconds": { + "type": "integer", + "format": "uint32", + "description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC", + "example": 1577836800 + }, + "nanoSeconds": { + "type": "integer", + "format": "uint32", + "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC", + "example": 0 + }, + "timeSourceStatus": { + "type": "string", + "enum": [ + "TRACEABLE", + "NONTRACEABLE" + ], + "description": "Platform Time Source status. 1 = TRACEABLE - time source is locked to the UTC time source. 2 = NONTRACEABLE - time source is not locked to the UTC time source", + "example": "TRACEABLE" + } } - } - }, - "DestinationInterface.InterfaceType": { - "description": "Type of the interface", - "type": "string", - "enum": [ - "TUNNEL", - "MAC", - "IP" - ], - "example": "TUNNEL" - }, - "DestinationInterface.IpAddress": { - "description": "IP address of the remote destination", - "type": "string", - "example": "192.0.2.0" - }, - "DestinationInterface.MacAddress": { - "description": "Source address identifies the MAC address of the interface", - "type": "string", - "example": "02-00-00-00-00-00" - }, - "DestinationInterface": { - "description": "This type represents the destination interface.", - "type": "object", - "required": [ - "interfaceType" - ], - "properties": { - "interfaceType": { - "$ref": "#/definitions/DestinationInterface.InterfaceType" - }, - "tunnelInfo": { - "$ref": "#/definitions/TunnelInfo" - }, - "srcMacAddress": { - "$ref": "#/definitions/DestinationInterface.MacAddress" - }, - "dstMacAddress": { - "$ref": "#/definitions/DestinationInterface.MacAddress" - }, - "dstIpAddress": { - "$ref": "#/definitions/DestinationInterface.IpAddress" + }, + "DestinationInterface.InterfaceType": { + "description": "Type of the interface", + "type": "string", + "enum": [ + "TUNNEL", + "MAC", + "IP" + ], + "example": "TUNNEL" + }, + "DestinationInterface.IpAddress": { + "description": "IP address of the remote destination", + "type": "string", + "example": "192.0.2.0" + }, + "DestinationInterface.MacAddress": { + "description": "Source address identifies the MAC address of the interface", + "type": "string", + "example": "02-00-00-00-00-00" + }, + "DestinationInterface": { + "description": "This type represents the destination interface.", + "type": "object", + "required": [ + "interfaceType" + ], + "properties": { + "interfaceType": { + "$ref": "#/components/schemas/DestinationInterface.InterfaceType" + }, + "tunnelInfo": { + "$ref": "#/components/schemas/TunnelInfo" + }, + "srcMacAddress": { + "$ref": "#/components/schemas/DestinationInterface.MacAddress" + }, + "dstMacAddress": { + "$ref": "#/components/schemas/DestinationInterface.MacAddress" + }, + "dstIpAddress": { + "$ref": "#/components/schemas/DestinationInterface.IpAddress" + } } - } - }, - "DnsRule.DomainName": { - "description": "FQDN resolved by the DNS rule", - "type": "string", - "example": "www.example.com" - }, - "DnsRule.Id": { - "description": "Identifies the DNS Rule", - "type": "string", - "example": "dnsRule1" - }, - "DnsRule.IpAddress": { - "description": "IP address associated with the FQDN resolved by the DNS rule", - "type": "string", - "example": "192.0.2.0" - }, - "DnsRule.IpAddressType": { - "description": "IP address type", - "type": "string", - "enum": [ - "IP_V6", - "IP_V4" - ], - "example": "IP_V6" - }, - "DnsRule.State": { - "description": "DNS rule state", - "type": "string", - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "example": "ACTIVE" - }, - "DnsRule.Ttl": { - "description": "Time to live value", - "type": "integer", - "format": "uint32", - "example": "?" - }, - "DnsRule": { - "description": "This type represents the general information of a DNS rule.", - "type": "object", - "required": [ - "dnsRuleId", - "domainName", - "ipAddressType", - "ipAddress", - "state" - ], - "properties": { - "dnsRuleId": { - "$ref": "#/definitions/DnsRule.Id" - }, - "domainName": { - "$ref": "#/definitions/DnsRule.DomainName" - }, - "ipAddressType": { - "$ref": "#/definitions/DnsRule.IpAddressType" - }, - "ipAddress": { - "$ref": "#/definitions/DnsRule.IpAddress" - }, - "ttl": { - "$ref": "#/definitions/DnsRule.Ttl" - }, - "state": { - "$ref": "#/definitions/DnsRule.State" + }, + "DnsRule.DomainName": { + "description": "FQDN resolved by the DNS rule", + "type": "string", + "example": "www.example.com" + }, + "DnsRule.Id": { + "description": "Identifies the DNS Rule", + "type": "string", + "example": "dnsRule1" + }, + "DnsRule.IpAddress": { + "description": "IP address associated with the FQDN resolved by the DNS rule", + "type": "string", + "example": "192.0.2.0" + }, + "DnsRule.IpAddressType": { + "description": "IP address type", + "type": "string", + "enum": [ + "IP_V6", + "IP_V4" + ], + "example": "IP_V6" + }, + "DnsRule.State": { + "description": "DNS rule state", + "type": "string", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "example": "ACTIVE" + }, + "DnsRule.Ttl": { + "description": "Time to live value", + "type": "integer", + "format": "uint32", + "example": "?" + }, + "DnsRule": { + "description": "This type represents the general information of a DNS rule.", + "type": "object", + "required": [ + "dnsRuleId", + "domainName", + "ipAddressType", + "ipAddress", + "state" + ], + "properties": { + "dnsRuleId": { + "$ref": "#/components/schemas/DnsRule.Id" + }, + "domainName": { + "$ref": "#/components/schemas/DnsRule.DomainName" + }, + "ipAddressType": { + "$ref": "#/components/schemas/DnsRule.IpAddressType" + }, + "ipAddress": { + "$ref": "#/components/schemas/DnsRule.IpAddress" + }, + "ttl": { + "$ref": "#/components/schemas/DnsRule.Ttl" + }, + "state": { + "$ref": "#/components/schemas/DnsRule.State" + } } - } - }, - "EndPointInfo.Address.Host": { - "description": "Host portion of the address", - "type": "string", - "example": "192.0.2.0" - }, - "EndPointInfo.Address.Port": { - "description": "Port portion of the address", - "type": "integer", - "format": "uint32", - "example": "8080" - }, - "EndPointInfo.Address": { - "description": "A IP address and port pair", - "type": "object", - "properties": { - "host": { - "$ref": "#/definitions/EndPointInfo.Address.Host" - }, - "port": { - "$ref": "#/definitions/EndPointInfo.Address.Port" + }, + "EndPointInfo.Address.Host": { + "description": "Host portion of the address", + "type": "string", + "example": "192.0.2.0" + }, + "EndPointInfo.Address.Port": { + "description": "Port portion of the address", + "type": "integer", + "format": "uint32", + "example": "8080" + }, + "EndPointInfo.Address": { + "description": "A IP address and port pair", + "type": "object", + "properties": { + "host": { + "$ref": "#/components/schemas/EndPointInfo.Address.Host" + }, + "port": { + "$ref": "#/components/schemas/EndPointInfo.Address.Port" + } } - } - }, - "EndPointInfo.Addresses": { - "description": "Entry point information of the service as one or more pairs of IP address and port", - "type": "array", - "items": { - "$ref": "#/definitions/EndPointInfo.Address" - } - }, - "EndPointInfo.Alternative": { - "description": "Entry point information of the service in a format defined by an implementation, or in an external specification.", - "type": "object" - }, - "EndPointInfo.Uri": { - "description": "Entry point information of the service", - "type": "string", - "format": "uri", - "example": "/meMp1/service/EntryPoint" - }, - "EndPointInfo.Uris": { - "description": "Entry point information of the service as string, formatted according to URI syntax", - "type": "array", - "items": { - "$ref": "#/definitions/EndPointInfo.Uri" - } - }, - "EndPointInfo": { - "description": "This type represents information about a transport endpoint", - "type": "object", - "properties": { - "uris": { - "$ref": "#/definitions/EndPointInfo.Uris" - }, - "addresses": { - "$ref": "#/definitions/EndPointInfo.Addresses" + }, + "EndPointInfo.Addresses": { + "description": "Entry point information of the service as one or more pairs of IP address and port", + "type": "array", + "items": { + "$ref": "#/components/schemas/EndPointInfo.Address" + } + }, + "EndPointInfo.Alternative": { + "description": "Entry point information of the service in a format defined by an implementation, or in an external specification.", + "type": "object" + }, + "EndPointInfo.Uri": { + "description": "Entry point information of the service", + "type": "string", + "format": "uri", + "example": "/meMp1/service/EntryPoint" + }, + "EndPointInfo.Uris": { + "description": "Entry point information of the service as string, formatted according to URI syntax", + "type": "array", + "items": { + "$ref": "#/components/schemas/EndPointInfo.Uri" + } + }, + "EndPointInfo": { + "description": "This type represents information about a transport endpoint", + "type": "object", + "properties": { + "uris": { + "$ref": "#/components/schemas/EndPointInfo.Uris" + }, + "addresses": { + "$ref": "#/components/schemas/EndPointInfo.Addresses" + }, + "alternative": { + "$ref": "#/components/schemas/EndPointInfo.Alternative" + } + } + }, + "LinkType": { + "description": "This type represents a type of link and may be referenced from data structures", + "type": "object", + "properties": { + "href": { + "$ref": "#/components/schemas/Href" + } + } + }, + "Href": { + "description": "URI referring to a resource", + "type": "string", + "format": "uri", + "readOnly": true, + "example": "/meMp1/example" + }, + "Mp1SubscriptionLinkList.Links": { + "description": "Self-referring URI.", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "$ref": "#/components/schemas/LinkType" + }, + "subscription": { + "description": "Subscription list", + "type": "array", + "items": { + "$ref": "#/components/schemas/Mp1SubscriptionLinkList.Subscription" + } + } + } + }, + "Mp1SubscriptionLinkList.Subscription": { + "description": "A link to a subscription.", + "type": "object", + "required": [ + "href", + "rel" + ], + "properties": { + "href": { + "$ref": "#/components/schemas/Href" + }, + "rel": { + "description": "The values are as defined in the \"subscriptionType\" attribute for each different Mp1 event subscription data type.", + "type": "string", + "enum": [ + "AppTerminationNotificationSubscription", + "SerAvailabilityNotificationSubscription" + ] + } + } + }, + "Mp1SubscriptionLinkList": { + "description": "This type represents a list of links related to currently existing subscriptions for a mobile edge application instance. This information is returned when sending a request to receive current subscriptions.", + "type": "object", + "required": [ + "_links" + ], + "properties": { + "_links": { + "$ref": "#/components/schemas/Mp1SubscriptionLinkList.Links" + } + } + }, + "ProblemDetails": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/Problem.type" + }, + "title": { + "$ref": "#/components/schemas/Problem.title" + }, + "status": { + "$ref": "#/components/schemas/Problem.status" + }, + "detail": { + "$ref": "#/components/schemas/Problem.detail" + }, + "instance": { + "$ref": "#/components/schemas/Problem.instance" + } + } + }, + "Problem.detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem" + }, + "Problem.instance": { + "type": "string", + "format": "uri", + "description": "A URI reference that identifies the specific occurrence of the problem" + }, + "Problem.status": { + "type": "integer", + "format": "uint32", + "description": "The HTTP status code for this occurrence of the problem" + }, + "Problem.title": { + "type": "string", + "description": "A short, human-readable summary of the problem type" + }, + "Problem.type": { + "type": "string", + "format": "uri", + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type" + }, + "SecurityInfo.OAuth2Info.GrantTypes": { + "description": "List of supported OAuth 2.0 grant types", + "type": "string", + "enum": [ + "OAUTH2_AUTHORIZATION_CODE", + "OAUTH2_IMPLICIT_GRANT", + "OAUTH2_RESOURCE_OWNER", + "OAUTH2_CLIENT_CREDENTIALS" + ], + "example": "OAUTH2_CLIENT_CREDENTIALS" + }, + "SecurityInfo.OAuth2Info.TokenEndpoint": { + "description": "The token endpoint", + "type": "string", + "format": "uri", + "example": "/meMp1/security/TokenEndPoint" + }, + "SecurityInfo.OAuth2Info": { + "description": "Parameters related to use of OAuth 2.0", + "required": [ + "grantTypes", + "tokenEndpoint" + ], + "properties": { + "grantTypes": { + "$ref": "#/components/schemas/SecurityInfo.OAuth2Info.GrantTypes" + }, + "tokenEndpoint": { + "$ref": "#/components/schemas/SecurityInfo.OAuth2Info.TokenEndpoint" + } }, - "alternative": { - "$ref": "#/definitions/EndPointInfo.Alternative" + "type": "object" + }, + "SecurityInfo": { + "description": "This type represents security information related to a transport", + "type": "object", + "required": [ + "oAuth2Info" + ], + "properties": { + "oAuth2Info": { + "$ref": "#/components/schemas/SecurityInfo.OAuth2Info" + } } - } - }, - "LinkType": { - "description": "URI referring to a resource", - "type": "string", - "format": "uri", - "readOnly": true, - "example": "/meMp1/example" - }, - "Mp1SubscriptionLinkList.Links": { - "description": "Self-referring URI.", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "$ref": "#/definitions/LinkType" + }, + "Self": { + "description": "Self-referring URI.", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "$ref": "#/components/schemas/LinkType" + } }, - "subscription": { - "description": "Subscription list", - "type": "array", - "items": { - "$ref": "#/definitions/Mp1SubscriptionLinkList.Subscription" + "readOnly": true + }, + "SerAvailabilityNotificationSubscription.CallbackReference": { + "description": "URI selected by the mobile edge application instance to receive notifications on the subscribed mobile edge service availability information. This shall be included in both the request and the response.", + "type": "string", + "format": "uri" + }, + "SerAvailabilityNotificationSubscription": { + "description": "This type represents a subscription to the notifications from the mobile edge platform regarding the availability of a mobile edge service or a list of mobile edge services.", + "type": "object", + "required": [ + "subscriptionType", + "callbackReference", + "_links", + "filteringCriteria" + ], + "properties": { + "subscriptionType": { + "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription.SubscriptionType" + }, + "callbackReference": { + "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription.CallbackReference" + }, + "_links": { + "$ref": "#/components/schemas/Self" + }, + "filteringCriteria": { + "$ref": "#/components/schemas/ServiceInfo" + } + } + }, + "SerAvailabilityNotificationSubscription.SubscriptionType": { + "description": "Shall be set to SerAvailabilityNotificationSubscription.", + "type": "string", + "example": "SerAvailabilityNotificationSubscription" + }, + "ServiceAvailabilityNotification": { + "description": "This type represents the service availability information.", + "type": "object", + "required": [ + "notificationType", + "services", + "_links" + ], + "properties": { + "notificationType": { + "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription.SubscriptionType" + }, + "services": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceInfo" + } + }, + "_links": { + "$ref": "#/components/schemas/Subscription" + } + } + }, + "SerializerTypes": { + "description": "The enumeration SerializerTypes represents types of serializers", + "type": "string", + "enum": [ + "JSON", + "XML", + "PROTOBUF3" + ], + "example": "JSON" + }, + "ServiceInfo.SerInstanceId": { + "description": "Identifier of the service instance assigned by the MEPM / mobile edge platform.", + "type": "string", + "readOnly": true, + "example": "ServiceInstance123" + }, + "ServiceInfo.SerName": { + "description": "The name of the service. This is how the service producing mobile edge application identifies the service instance it produces.", + "type": "string", + "example": "ExampleService" + }, + "ServiceInfo.State": { + "description": "Contains the state", + "type": "string", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "example": "ACTIVE" + }, + "ServiceInfo.TransportId": { + "description": "Identifier of the platform-provided transport to be used by the service. Valid identifiers may be obtained using the \"Transport information query\" procedure. May be present in POST requests to signal the use of a platform-provided transport for the service, and shall be absent otherwise.", + "type": "string", + "example": "Rest1" + }, + "ServiceInfo.Version": { + "description": "Service version", + "type": "string", + "example": "ServiceVersion1" + }, + "ServiceInfo": { + "description": "This type represents the general information of a mobile edge service.", + "type": "object", + "required": [ + "serName", + "version", + "state", + "serializer" + ], + "properties": { + "serInstanceId": { + "$ref": "#/components/schemas/ServiceInfo.SerInstanceId" + }, + "serName": { + "$ref": "#/components/schemas/ServiceInfo.SerName" + }, + "serCategory": { + "$ref": "#/components/schemas/CategoryRef" + }, + "version": { + "$ref": "#/components/schemas/ServiceInfo.Version" + }, + "state": { + "$ref": "#/components/schemas/ServiceInfo.State" + }, + "transportId": { + "$ref": "#/components/schemas/ServiceInfo.TransportId" + }, + "transportInfo": { + "$ref": "#/components/schemas/TransportInfo" + }, + "serializer": { + "$ref": "#/components/schemas/SerializerTypes" + } + } + }, + "Subscription": { + "description": "A link to the related subscription", + "type": "object", + "required": [ + "subscription" + ], + "properties": { + "subscription": { + "$ref": "#/components/schemas/LinkType" + } + } + }, + "TimingCaps.NtpServers.AuthenticationKeyNum": { + "description": "Authentication key number", + "type": "integer", + "format": "uint32", + "example": 1 + }, + "TimingCaps.NtpServers.AuthenticationOption": { + "description": "NTP authentication option", + "type": "string", + "enum": [ + "NONE", + "SYMMETRIC_KEY", + "AUTO_KEY" + ], + "example": "NONE" + }, + "TimingCaps.NtpServers.DelayReqMaxRate": { + "description": "Acceptable maximum rate of the Delay_Req messages in packets per second", + "type": "integer", + "format": "uint32", + "example": 10 + }, + "TimingCaps.NtpServers.LocalPriority": { + "description": "NTP server local priority", + "type": "integer", + "format": "uint32", + "example": 1 + }, + "TimingCaps.NtpServers.MaxPollingInterval": { + "description": "Maximum poll interval for NTP messages, in seconds as a power of two. Range 3...17", + "type": "integer", + "format": "uint32", + "example": 17 + }, + "TimingCaps.NtpServers.MinPollingInterval": { + "description": "Minimum poll interval for NTP messages, in seconds as a power of two. Range 3...17", + "type": "integer", + "format": "uint32", + "example": 3 + }, + "TimingCaps.NtpServers.NtpServerAddr": { + "description": "NTP server address", + "type": "string", + "example": "192.0.2.0" + }, + "TimingCaps.NtpServers.NtpServerAddrType": { + "description": "Address type of NTP server", + "type": "string", + "enum": [ + "IP_ADDRESS", + "DNS_NAME" + ], + "example": "IP_ADDRESS" + }, + "TimingCaps.NtpServers.PtpMasterIpAddress": { + "description": "PTP Master IP Address", + "type": "string", + "example": "192.0.2.0" + }, + "TimingCaps.NtpServers.PtpMasterLocalPriority": { + "description": "PTP Master local priority", + "type": "integer", + "format": "uint32", + "example": 1 + }, + "TimingCaps.NtpServers": { + "description": "NTP server detail.", + "type": "object", + "required": [ + "ntpServerAddrType", + "ntpServerAddr", + "minPollingInterval", + "maxPollingInterval", + "localPriority", + "authenticationOption", + "authenticationKeyNum" + ], + "properties": { + "ntpServerAddrType": { + "$ref": "#/components/schemas/TimingCaps.NtpServers.NtpServerAddrType" + }, + "ntpServerAddr": { + "$ref": "#/components/schemas/TimingCaps.NtpServers.NtpServerAddr" + }, + "minPollingInterval": { + "$ref": "#/components/schemas/TimingCaps.NtpServers.MinPollingInterval" + }, + "maxPollingInterval": { + "$ref": "#/components/schemas/TimingCaps.NtpServers.MaxPollingInterval" + }, + "localPriority": { + "$ref": "#/components/schemas/TimingCaps.NtpServers.LocalPriority" + }, + "authenticationOption": { + "$ref": "#/components/schemas/TimingCaps.NtpServers.AuthenticationOption" + }, + "authenticationKeyNum": { + "$ref": "#/components/schemas/TimingCaps.NtpServers.AuthenticationKeyNum" + } + } + }, + "TimingCaps.PtpMasters": { + "description": "NTP server detail.", + "type": "object", + "required": [ + "ptpMasterIpAddress", + "ptpMasterLocalPriority", + "delayReqMaxRate" + ], + "properties": { + "ptpMasterIpAddress": { + "$ref": "#/components/schemas/TimingCaps.NtpServers.PtpMasterIpAddress" + }, + "ptpMasterLocalPriority": { + "$ref": "#/components/schemas/TimingCaps.NtpServers.PtpMasterLocalPriority" + }, + "delayReqMaxRate": { + "$ref": "#/components/schemas/TimingCaps.NtpServers.DelayReqMaxRate" + } + } + }, + "TimingCaps.TimeStamp": { + "description": "time", + "type": "object", + "required": [ + "nanoSeconds", + "seconds" + ], + "properties": { + "seconds": { + "type": "integer", + "format": "uint32", + "description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC", + "example": 1577836800 + }, + "nanoSeconds": { + "type": "integer", + "format": "uint32", + "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC", + "example": 0 + } + } + }, + "TimingCaps": { + "description": "This type represents the information provided by the mobile edge platform in response to the Timing capabilities Query message.", + "type": "object", + "properties": { + "timeStamp": { + "$ref": "#/components/schemas/TimingCaps.TimeStamp" + }, + "ntpServers": { + "description": "Available NTP servers", + "type": "array", + "items": { + "$ref": "#/components/schemas/TimingCaps.NtpServers" + } + }, + "ptpMasters": { + "description": "Available PTP Masters", + "type": "array", + "items": { + "$ref": "#/components/schemas/TimingCaps.PtpMasters" + } + } + } + }, + "TrafficFilter.Address": { + "description": "Identify the traffic ip address.", + "type": "string", + "example": "192.168.1.1" + }, + "TrafficFilter.DSCP": { + "description": "Used to match all IPv4 packets that have the same Differentiated Services Code Point (DSCP)", + "type": "integer", + "format": "uint32", + "example": 0 + }, + "TrafficFilter.Port": { + "description": "A port", + "type": "string", + "example": "8080" + }, + "TrafficFilter.Protocol": { + "description": "Protocol of the traffic filter", + "type": "string", + "example": "?" + }, + "TrafficFilter.QCI": { + "description": "Used to match all packets that have the same Quality Class Indicator (QCI).", + "type": "integer", + "format": "uint32", + "example": 1 + }, + "TrafficFilter.TC": { + "description": "Used to match all IPv6 packets that have the same Traffic Class.", + "type": "integer", + "format": "uint32", + "example": 1 + }, + "TrafficFilter.Token": { + "description": "Used for token based traffic rule", + "type": "string", + "example": "?" + }, + "TrafficFilter.TunnelAddress": { + "description": "Used for GTP tunnel based traffic rule", + "type": "string", + "example": "?" + }, + "TrafficFilter.TunnelPort": { + "description": "Used for GTP tunnel based traffic rule", + "type": "string", + "example": "?" + }, + "TrafficFilter": { + "description": "This type represents the traffic filter.", + "type": "object", + "properties": { + "srcAddress": { + "description": "An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes.", + "type": "array", + "items": { + "$ref": "#/components/schemas/TrafficFilter.Address" + } + }, + "dstAddress": { + "description": "An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes.", + "type": "array", + "items": { + "$ref": "#/components/schemas/TrafficFilter.Address" + } + }, + "srcPort": { + "description": "A port or a range of ports", + "type": "array", + "items": { + "$ref": "#/components/schemas/TrafficFilter.Port" + } + }, + "dstPort": { + "description": "A port or a range of ports", + "type": "array", + "items": { + "$ref": "#/components/schemas/TrafficFilter.Port" + } + }, + "protocol": { + "description": "Specify the protocol of the traffic filter", + "type": "array", + "items": { + "$ref": "#/components/schemas/TrafficFilter.Protocol" + } + }, + "token": { + "description": "Used for token based traffic rule", + "type": "array", + "items": { + "$ref": "#/components/schemas/TrafficFilter.Token" + } + }, + "srcTunnelAddress": { + "description": "Used for GTP tunnel based traffic rule", + "type": "array", + "items": { + "$ref": "#/components/schemas/TrafficFilter.TunnelAddress" + } + }, + "tgtTunnelAddress": { + "description": "Used for GTP tunnel based traffic rule", + "type": "array", + "items": { + "$ref": "#/components/schemas/TrafficFilter.TunnelAddress" + } + }, + "srcTunnelPort": { + "description": "Used for GTP tunnel based traffic rule", + "type": "array", + "items": { + "$ref": "#/components/schemas/TrafficFilter.TunnelPort" + } + }, + "dstTunnelPort": { + "description": "Used for GTP tunnel based traffic rule", + "type": "array", + "items": { + "$ref": "#/components/schemas/TrafficFilter.TunnelPort" + } + }, + "qCI": { + "$ref": "#/components/schemas/TrafficFilter.QCI" + }, + "dSCP": { + "$ref": "#/components/schemas/TrafficFilter.DSCP" + }, + "tC": { + "$ref": "#/components/schemas/TrafficFilter.TC" + } + } + }, + "TrafficRule.Action": { + "description": "The action of the ME host data plane when a packet matches the trafficFilter", + "type": "string", + "enum": [ + "DROP", + "FORWARD_DECAPSULATED", + "FORWARD_AS_IS", + "PASSTHROUGH", + "DUPLICATE_DECAPSULATED", + "DUPLICATE_AS_IS" + ], + "example": "DROP" + }, + "TrafficRule.FilterType": { + "description": "Definition of filter per FLOW or PACKET. If flow the filter match UE->EPC packet and the reverse packet is handled in the same context", + "type": "string", + "enum": [ + "FLOW", + "PACKET" + ], + "example": "FLOW" + }, + "TrafficRule.Id": { + "description": "Identify the traffic rule.", + "type": "string", + "example": "TrafficRule1" + }, + "TrafficRule.Priority": { + "description": "Priority of this traffic rule. If traffic rule conflicts, the one with higher priority take precedence", + "type": "integer", + "format": "uint32", + "example": 1 + }, + "TrafficRule.State": { + "description": "Contains the traffic rule state", + "type": "string", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "example": "ACTIVE" + }, + "TrafficRule": { + "description": "This type represents the general information of a traffic rule.", + "type": "object", + "required": [ + "trafficRuleId", + "filterType", + "priority", + "trafficFilter", + "action", + "state" + ], + "properties": { + "trafficRuleId": { + "$ref": "#/components/schemas/TrafficRule.Id" + }, + "filterType": { + "$ref": "#/components/schemas/TrafficRule.FilterType" + }, + "priority": { + "$ref": "#/components/schemas/TrafficRule.Priority" + }, + "trafficFilter": { + "$ref": "#/components/schemas/TrafficFilter" + }, + "action": { + "$ref": "#/components/schemas/TrafficRule.Action" + }, + "dstInterface": { + "$ref": "#/components/schemas/DestinationInterface" + }, + "state": { + "$ref": "#/components/schemas/TrafficRule.State" + } + } + }, + "TransportInfo.Description": { + "description": "Human-readable description of this transport", + "type": "string", + "example": "REST API" + }, + "TransportInfo.Id": { + "description": "The identifier of this transport", + "type": "string", + "example": "TransId12345" + }, + "TransportInfo.ImplSpecificInfo": { + "description": "Additional implementation specific details of the transport", + "type": "object" + }, + "TransportInfo.Name": { + "description": "The name of this transport", + "type": "string", + "example": "REST" + }, + "TransportInfo.Protocol": { + "description": "The name of the protocol used. Shall be set to HTTP for a REST API.", + "type": "string", + "example": "HTTP" + }, + "TransportInfo.Version": { + "description": "The version of the protocol used", + "type": "string", + "example": "2.0" + }, + "TransportInfo": { + "description": "This type represents the general information of a mobile edge service.", + "type": "object", + "required": [ + "id", + "name", + "type", + "protocol", + "version", + "endpoint", + "security" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/TransportInfo.Id" + }, + "name": { + "$ref": "#/components/schemas/TransportInfo.Name" + }, + "description": { + "$ref": "#/components/schemas/TransportInfo.Description" + }, + "type": { + "$ref": "#/components/schemas/TransportTypes" + }, + "protocol": { + "$ref": "#/components/schemas/TransportInfo.Protocol" + }, + "version": { + "$ref": "#/components/schemas/TransportInfo.Version" + }, + "endpoint": { + "$ref": "#/components/schemas/EndPointInfo" + }, + "security": { + "$ref": "#/components/schemas/SecurityInfo" + }, + "implSpecificInfo": { + "$ref": "#/components/schemas/TransportInfo.ImplSpecificInfo" + } + } + }, + "TransportTypes": { + "description": "The enumeration TransportTypes represents types of transports", + "type": "string", + "enum": [ + "REST_HTTP", + "MB_TOPIC_BASED", + "MB_ROUTING", + "MB_PUBSUB", + "RPC", + "RPC_STREAMING", + "WEBSOCKET" + ], + "example": "JSON" + }, + "TunnelInfo.TunnelDstAddress": { + "description": "Destination address of the tunnel", + "type": "string", + "example": "?" + }, + "TunnelInfo.TunnelSrcAddress": { + "description": "Source address of the tunnel", + "type": "string", + "example": "?" + }, + "TunnelInfo.TunnelType": { + "description": "This type represents the tunnel information.", + "type": "string", + "enum": [ + "GTP_U", + "GRE" + ], + "example": "GTP_U" + }, + "TunnelInfo": { + "description": "This type represents the tunnel information.", + "type": "object", + "required": [ + "tunnelType" + ], + "properties": { + "tunnelType": { + "$ref": "#/components/schemas/TunnelInfo.TunnelType" + }, + "tunnelDstAddress": { + "$ref": "#/components/schemas/TunnelInfo.TunnelDstAddress" + }, + "tunnelSrcAddress": { + "$ref": "#/components/schemas/TunnelInfo.TunnelSrcAddress" } } } }, - "Mp1SubscriptionLinkList.Subscription": { - "description": "A link to a subscription.", - "type": "object", - "required": [ - "href", - "rel" - ], - "properties": { - "href": { - "description": "The URI referring to the subscription", + "parameters": { + "Path.AppInstanceId": { + "name": "appInstanceId", + "description": "Represents a mobile edge application instance. Note that the appInstanceId is allocated by the mobile edge platform manager.", + "in": "path", + "required": true, + "schema": { "type": "string", "format": "uri" - }, - "rel": { - "description": "The values are as defined in the \"subscriptionType\" attribute for each different Mp1 event subscription data type.", - "type": "string" } - } - }, - "Mp1SubscriptionLinkList": { - "description": "This type represents a list of links related to currently existing subscriptions for a mobile edge application instance. This information is returned when sending a request to receive current subscriptions.", - "type": "object", - "required": [ - "_links" - ], - "properties": { - "_links": { - "$ref": "#/definitions/Mp1SubscriptionLinkList.Links" + }, + "Path.DnsRuleId": { + "name": "dnsRuleId", + "description": "Represents a DNS rule.", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uri" } - } - }, - "ProblemDetails": { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/Problem.type" - }, - "title": { - "$ref": "#/definitions/Problem.title" - }, - "status": { - "$ref": "#/definitions/Problem.status" - }, - "detail": { - "$ref": "#/definitions/Problem.detail" - }, - "instance": { - "$ref": "#/definitions/Problem.instance" + }, + "Path.SubscriptionId": { + "name": "subscriptionId", + "description": "Represents a subscription to the notifications from the mobile edge platform.", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uri" } - } - }, - "Problem.detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem" - }, - "Problem.instance": { - "type": "string", - "format": "uri", - "description": "A URI reference that identifies the specific occurrence of the problem" - }, - "Problem.status": { - "type": "integer", - "format": "uint32", - "description": "The HTTP status code for this occurrence of the problem" - }, - "Problem.title": { - "type": "string", - "description": "A short, human-readable summary of the problem type" - }, - "Problem.type": { - "type": "string", - "format": "uri", - "description": "A URI reference according to IETF RFC 3986 that identifies the problem type" - }, - "SecurityInfo.OAuth2Info.GrantTypes": { - "description": "List of supported OAuth 2.0 grant types", - "type": "string", - "enum": [ - "OAUTH2_AUTHORIZATION_CODE", - "OAUTH2_IMPLICIT_GRANT", - "OAUTH2_RESOURCE_OWNER", - "OAUTH2_CLIENT_CREDENTIALS" - ], - "example": "OAUTH2_CLIENT_CREDENTIALS" - }, - "SecurityInfo.OAuth2Info.TokenEndpoint": { - "description": "The token endpoint", - "type": "string", - "format": "uri", - "example": "/meMp1/security/TokenEndPoint" - }, - "SecurityInfo.OAuth2Info": { - "description": "Parameters related to use of OAuth 2.0", - "required": [ - "grantTypes", - "tokenEndpoint" - ], - "properties": { - "grantTypes": { - "$ref": "#/definitions/SecurityInfo.OAuth2Info.GrantTypes" - }, - "tokenEndpoint": { - "$ref": "#/definitions/SecurityInfo.OAuth2Info.TokenEndpoint" + }, + "Path.SubscriptionType": { + "name": "subscriptionType", + "description": "Represents a subscription type to the notifications from the mobile edge platform.", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uri" } - } - }, - "SecurityInfo": { - "description": "This type represents security information related to a transport", - "type": "object", - "required": [ - "oAuth2Info" - ], - "properties": { - "oAuth2Info": { - "$ref": "#/definitions/SecurityInfo.OAuth2Info" + }, + "Path.ServiceId": { + "name": "serviceId", + "description": "Represents a mobile edge service instance.", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uri" } - } - }, - "Self": { - "description": "Self-referring URI.", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "$ref": "#/definitions/LinkType" + }, + "Path.TrafficRuleId": { + "name": "trafficRuleId", + "description": "Represents a traffic rule.", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uri" } }, - "readOnly": true - }, - "SerAvailabilityNotificationSubscription.CallbackReference": { - "description": "URI selected by the mobile edge application instance to receive notifications on the subscribed mobile edge service availability information. This shall be included in both the request and the response.", - "type": "string", - "format": "uri" - }, - "SerAvailabilityNotificationSubscription": { - "description": "This type represents a subscription to the notifications from the mobile edge platform regarding the availability of a mobile edge service or a list of mobile edge services.", - "type": "object", - "required": [ - "subscriptionType", - "callbackReference", - "_links", - "filteringCriteria" - ], - "properties": { - "subscriptionType": { - "$ref": "#/definitions/SerAvailabilityNotificationSubscription.SubscriptionType" - }, - "callbackReference": { - "$ref": "#/definitions/SerAvailabilityNotificationSubscription.CallbackReference" - }, - "_links": { - "$ref": "#/definitions/Self" - }, - "filteringCriteria": { - "$ref": "#/definitions/ServiceInfo" + "Query.Ser_category_id": { + "name": "ser_category_id", + "description": "A mobile edge application instance may use ser_category_id as an input parameter to query the availability of a list of mobile edge service instances in a serCategory. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.", + "in": "query", + "required": false, + "schema": { + "type": "string" } - } - }, - "SerAvailabilityNotificationSubscription.SubscriptionType": { - "description": "Shall be set to SerAvailabilityNotificationSubscription.", - "type": "string", - "example": "SerAvailabilityNotificationSubscription" - }, - "SerializerTypes": { - "description": "The enumeration SerializerTypes represents types of serializers", - "type": "string", - "enum": [ - "JSON", - "XML", - "PROTOBUF3" - ], - "example": "JSON" - }, - "ServiceInfo.SerInstanceId": { - "description": "Identifier of the service instance assigned by the MEPM / mobile edge platform.", - "type": "string", - "example": "ServiceInstance123" - }, - "ServiceInfo.SerName": { - "description": "The name of the service. This is how the service producing mobile edge application identifies the service instance it produces.", - "type": "string", - "example": "ExampleService" - }, - "ServiceInfo.State": { - "description": "Contains the state", - "type": "string", - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "example": "ACTIVE" - }, - "ServiceInfo.TransportId": { - "description": "Identifier of the platform-provided transport to be used by the service. Valid identifiers may be obtained using the \"Transport information query\" procedure. May be present in POST requests to signal the use of a platform-provided transport for the service, and shall be absent otherwise.", - "type": "string", - "example": "Rest1" - }, - "ServiceInfo.Version": { - "description": "Service version", - "type": "string", - "example": "ServiceVersion1" - }, - "ServiceInfo": { - "description": "This type represents the general information of a mobile edge service.", - "type": "object", - "required": [ - "serName", - "version", - "state", - "serializer" - ], - "properties": { - "serInstanceId": { - "$ref": "#/definitions/ServiceInfo.SerInstanceId" - }, - "serName": { - "$ref": "#/definitions/ServiceInfo.SerName" - }, - "serCategory": { - "$ref": "#/definitions/CategoryRef" - }, - "version": { - "$ref": "#/definitions/ServiceInfo.Version" - }, - "state": { - "$ref": "#/definitions/ServiceInfo.State" - }, - "transportId": { - "$ref": "#/definitions/ServiceInfo.TransportId" - }, - "transportInfo": { - "$ref": "#/definitions/TransportInfo" - }, - "serializer": { - "$ref": "#/definitions/SerializerTypes" + }, + "Query.Ser_instance_id": { + "name": "ser_instance_id", + "description": "A mobile edge application instance may use multiple ser_instance_ids as an input parameter to query the availability of a list of mobile edge service instances. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } } - } - }, - "Subscription": { - "description": "A link to the related subscription", - "type": "object", - "required": [ - "subscription" - ], - "properties": { - "subscription": { - "$ref": "#/definitions/LinkType" + }, + "Query.Ser_name": { + "name": "ser_name", + "description": "A mobile edge application instance may use multiple ser_names as an input parameter to query the availability of a list of mobile edge service instances. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } } } }, - "TimingCaps.NtpServers.AuthenticationKeyNum": { - "description": "Authentication key number", - "type": "integer", - "format": "uint32", - "example": 1 - }, - "TimingCaps.NtpServers.AuthenticationOption": { - "description": "NTP authentication option", - "type": "string", - "enum": [ - "NONE", - "SYMMETRIC_KEY", - "AUTO_KEY" - ], - "example": "NONE" - }, - "TimingCaps.NtpServers.DelayReqMaxRate": { - "description": "Acceptable maximum rate of the Delay_Req messages in packets per second", - "type": "integer", - "format": "uint32", - "example": 10 - }, - "TimingCaps.NtpServers.LocalPriority": { - "description": "NTP server local priority", - "type": "integer", - "format": "uint32", - "example": 1 - }, - "TimingCaps.NtpServers.MaxPollingInterval": { - "description": "Maximum poll interval for NTP messages, in seconds as a power of two. Range 3...17", - "type": "integer", - "format": "uint32", - "example": 17 - }, - "TimingCaps.NtpServers.MinPollingInterval": { - "description": "Minimum poll interval for NTP messages, in seconds as a power of two. Range 3...17", - "type": "integer", - "format": "uint32", - "example": 3 - }, - "TimingCaps.NtpServers.NtpServerAddr": { - "description": "NTP server address", - "type": "string", - "example": "192.0.2.0" - }, - "TimingCaps.NtpServers.NtpServerAddrType": { - "description": "Address type of NTP server", - "type": "string", - "enum": [ - "IP_ADDRESS", - "DNS_NAME" - ], - "example": "IP_ADDRESS" - }, - "TimingCaps.NtpServers.PtpMasterIpAddress": { - "description": "PTP Master IP Address", - "type": "string", - "example": "192.0.2.0" - }, - "TimingCaps.NtpServers.PtpMasterLocalPriority": { - "description": "PTP Master local priority", - "type": "integer", - "format": "uint32", - "example": 1 - }, - "TimingCaps.NtpServers": { - "description": "NTP server detail.", - "type": "object", - "required": [ - "ntpServerAddrType", - "ntpServerAddr", - "minPollingInterval", - "maxPollingInterval", - "localPriority", - "authenticationOption", - "authenticationKeyNum" - ], - "properties": { - "ntpServerAddrType": { - "$ref": "#/definitions/TimingCaps.NtpServers.NtpServerAddrType" + "responses": { + "ApplicationsDnsRules.200": { + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "content": { + "application/json": { + "schema": { + "type": "array", + "minItems": 0, + "items": { + "$ref": "#/components/schemas/DnsRule" + } + }, + "examples": { + "DnsRules": { + "$ref": "#/components/examples/DnsRules" + } + } + } }, - "ntpServerAddr": { - "$ref": "#/definitions/TimingCaps.NtpServers.NtpServerAddr" + "links": { + "getIndividualMeDNSRule": { + "$ref": "#/components/links/GetIndividualMeDNSRule" + }, + "putIndividualMeDNSRule": { + "$ref": "#/components/links/PutIndividualMeDNSRule" + } + } + }, + "ApplicationsDnsRule.200": { + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DnsRule" + }, + "examples": { + "DnsRule": { + "$ref": "#/components/examples/DnsRule" + } + } + } + } + }, + "ApplicationsSubscriptions.200": { + "description": "Upon success, a response body containing the list of links to the requested subscriptions is returned.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Mp1SubscriptionLinkList" + } + } }, - "minPollingInterval": { - "$ref": "#/definitions/TimingCaps.NtpServers.MinPollingInterval" + "links": { + "getIndividualMeMp1SubscriptionLinkList": { + "$ref": "#/components/links/GetIndividualMeMp1SubscriptionLinkList" + }, + "delIndividualMeMp1SubscriptionLinkList": { + "$ref": "#/components/links/DelIndividualMeMp1SubscriptionLinkList" + } + } + }, + "ApplicationsSubscriptions.201": { + "description": "Entity body in the request contains a subscription to the mobile edge service availability notifications that is to be created.", + "headers": { + "location": { + "description": "The resource URI of the created resource", + "schema": { + "type": "string", + "format": "uri" + } + } }, - "maxPollingInterval": { - "$ref": "#/definitions/TimingCaps.NtpServers.MaxPollingInterval" + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/AppTerminationNotificationSubscription" + }, + { + "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription" + } + ] + } + } }, - "localPriority": { - "$ref": "#/definitions/TimingCaps.NtpServers.LocalPriority" + "links": { + "getIndividualMeMp1Subscription": { + "$ref": "#/components/links/GetIndividualMeMp1Subscription" + }, + "delIndividualMeMp1Subscription": { + "$ref": "#/components/links/DelIndividualMeMp1Subscription" + } + } + }, + "ApplicationsSubscription.200": { + "description": "Upon success, a response body containing the requested subscription is returned.", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/AppTerminationNotificationSubscription" + }, + { + "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription" + } + ] + } + } + } + }, + "ApplicationsTrafficRules.200": { + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "content": { + "application/json": { + "schema": { + "type": "array", + "minItems": 0, + "items": { + "$ref": "#/components/schemas/TrafficRule" + } + }, + "examples": { + "TrafficRules": { + "$ref": "#/components/examples/TrafficRules" + } + } + } }, - "authenticationOption": { - "$ref": "#/definitions/TimingCaps.NtpServers.AuthenticationOption" + "links": { + "getIndividualMeTrafficRule": { + "$ref": "#/components/links/GetIndividualMeTrafficRule" + }, + "putIndividualMeTrafficRule": { + "$ref": "#/components/links/PutIndividualMeTrafficRule" + } + } + }, + "ApplicationsTrafficRule.200": { + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TrafficRule" + }, + "examples": { + "TrafficRule": { + "$ref": "#/components/examples/TrafficRule" + } + } + } + } + }, + "Services.200": { + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "content": { + "application/json": { + "schema": { + "type": "array", + "minItems": 0, + "items": { + "$ref": "#/components/schemas/ServiceInfo" + } + }, + "examples": { + "ServiceInfoList": { + "$ref": "#/components/examples/ServiceInfoList" + } + } + } }, - "authenticationKeyNum": { - "$ref": "#/definitions/TimingCaps.NtpServers.AuthenticationKeyNum" + "links": { + "getIndividualMeService": { + "$ref": "#/components/links/GetIndividualMeService" + }, + "putIndividualMeService": { + "$ref": "#/components/links/PutIndividualMeService" + } } - } - }, - "TimingCaps.PtpMasters": { - "description": "NTP server detail.", - "type": "object", - "required": [ - "ptpMasterIpAddress", - "ptpMasterLocalPriority", - "delayReqMaxRate" - ], - "properties": { - "ptpMasterIpAddress": { - "$ref": "#/definitions/TimingCaps.NtpServers.PtpMasterIpAddress" + }, + "Services.201": { + "description": "Upon success, the HTTP response shall include a Location HTTP header that contains the resource URI of the created resource.", + "headers": { + "location": { + "description": "The resource URI of the created resource", + "schema": { + "type": "string", + "format": "uri" + } + } }, - "ptpMasterLocalPriority": { - "$ref": "#/definitions/TimingCaps.NtpServers.PtpMasterLocalPriority" + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceInfo" + }, + "examples": { + "ServiceInfo": { + "$ref": "#/components/examples/ServiceInfo" + } + } + } }, - "delayReqMaxRate": { - "$ref": "#/definitions/TimingCaps.NtpServers.DelayReqMaxRate" + "links": { + "getIndividualMeService": { + "$ref": "#/components/links/GetIndividualMeService" + }, + "putIndividualMeService": { + "$ref": "#/components/links/PutIndividualMeService" + } } - } - }, - "TimingCaps.TimeStamp": { - "description": "time", - "type": "object", - "required": [ - "nanoSeconds", - "seconds" - ], - "properties": { - "seconds": { - "type": "integer", - "format": "uint32", - "description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC", - "example": 1577836800 - }, - "nanoSeconds": { - "type": "integer", - "format": "uint32", - "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC", - "example": 0 + }, + "ServicesServiceId.200": { + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceInfo" + }, + "examples": { + "ServiceInfo": { + "$ref": "#/components/examples/ServiceInfo" + } + } + } } - } - }, - "TimingCaps": { - "description": "This type represents the information provided by the mobile edge platform in response to the Timing capabilities Query message.", - "type": "object", - "properties": { - "timeStamp": { - "$ref": "#/definitions/TimingCaps.TimeStamp" - }, - "ntpServers": { - "description": "Available NTP servers", - "type": "array", - "items": { - "$ref": "#/definitions/TimingCaps.NtpServers" + }, + "TimingCurrentTime.200": { + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CurrentTime" + } } - }, - "ptpMasters": { - "description": "Available PTP Masters", - "type": "array", - "items": { - "$ref": "#/definitions/TimingCaps.PtpMasters" + } + }, + "TimingCaps.200": { + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TimingCaps" + } } } - } - }, - "TrafficFilter.Address": { - "description": "Identify the traffic ip address.", - "type": "string", - "example": "192.168.1.1" - }, - "TrafficFilter.DSCP": { - "description": "Used to match all IPv4 packets that have the same Differentiated Services Code Point (DSCP)", - "type": "integer", - "format": "uint32", - "example": 0 - }, - "TrafficFilter.Port": { - "description": "A port", - "type": "string", - "example": "8080" - }, - "TrafficFilter.Protocol": { - "description": "Protocol of the traffic filter", - "type": "string", - "example": "?" - }, - "TrafficFilter.QCI": { - "description": "Used to match all packets that have the same Quality Class Indicator (QCI).", - "type": "integer", - "format": "uint32", - "example": 1 - }, - "TrafficFilter.TC": { - "description": "Used to match all IPv6 packets that have the same Traffic Class.", - "type": "integer", - "format": "uint32", - "example": 1 - }, - "TrafficFilter.Token": { - "description": "Used for token based traffic rule", - "type": "string", - "example": "?" - }, - "TrafficFilter.TunnelAddress": { - "description": "Used for GTP tunnel based traffic rule", - "type": "string", - "example": "?" - }, - "TrafficFilter.TunnelPort": { - "description": "Used for GTP tunnel based traffic rule", - "type": "string", - "example": "?" - }, - "TrafficFilter": { - "description": "This type represents the traffic filter.", - "type": "object", - "properties": { - "srcAddress": { - "description": "An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes.", - "type": "array", - "items": { - "$ref": "#/definitions/TrafficFilter.Address" + }, + "Transports.200": { + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "content": { + "application/json": { + "schema": { + "type": "array", + "minItems": 0, + "items": { + "$ref": "#/components/schemas/TransportInfo" + } + } } - }, - "dstAddress": { - "description": "An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes.", - "type": "array", - "items": { - "$ref": "#/definitions/TrafficFilter.Address" + } + }, + "Error.400": { + "description": "Bad Request", + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Empty" + } } - }, - "srcPort": { - "description": "A port or a range of ports", - "type": "array", - "items": { - "$ref": "#/definitions/TrafficFilter.Port" + } + }, + "Error.403": { + "description": "Forbidden", + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } } - }, - "dstPort": { - "description": "A port or a range of ports", - "type": "array", - "items": { - "$ref": "#/definitions/TrafficFilter.Port" + } + }, + "Error.404": { + "description": "Not Found", + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Empty" + } } - }, - "protocol": { - "description": "Specify the protocol of the traffic filter", - "type": "array", - "items": { - "$ref": "#/definitions/TrafficFilter.Protocol" + } + }, + "Error.412": { + "description": "Precondition Failed", + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Empty" + } } - }, - "token": { - "description": "Used for token based traffic rule", - "type": "array", - "items": { - "$ref": "#/definitions/TrafficFilter.Token" + } + } + }, + "requestBodies": { + "ApplicationsDnsRule": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DnsRule" + } } }, - "srcTunnelAddress": { - "description": "Used for GTP tunnel based traffic rule", - "type": "array", - "items": { - "$ref": "#/definitions/TrafficFilter.TunnelAddress" + "description": "The updated state is included in the entity body of the request.", + "required": true + }, + "ApplicationsSubscriptions": { + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/AppTerminationNotificationSubscription" + }, + { + "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription" + } + ] + } } }, - "tgtTunnelAddress": { - "description": "Used for GTP tunnel based traffic rule", - "type": "array", - "items": { - "$ref": "#/definitions/TrafficFilter.TunnelAddress" + "description": "Entity body in the request contains a subscription to the mobile edge application termination notifications that is to be created.", + "required": true + }, + "ApplicationsTrafficRule": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TrafficRule" + } } }, - "srcTunnelPort": { - "description": "Used for GTP tunnel based traffic rule", - "type": "array", - "items": { - "$ref": "#/definitions/TrafficFilter.TunnelPort" + "description": "One or more updated attributes that are allowed to be changed", + "required": true + }, + "Services": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceInfo" + } } }, - "dstTunnelPort": { - "description": "Used for GTP tunnel based traffic rule", - "type": "array", - "items": { - "$ref": "#/definitions/TrafficFilter.TunnelPort" + "description": "New ServiceInfo with updated \"state\" is included as entity body of the request", + "required": true + }, + "ServicesServiceId": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceInfo" + } } }, - "qCI": { - "$ref": "#/definitions/TrafficFilter.QCI" + "description": "New ServiceInfo with updated \"state\" is included as entity body of the request", + "required": true + }, + "AppTerminationNotification": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppTerminationNotification" + } + } }, - "dSCP": { - "$ref": "#/definitions/TrafficFilter.DSCP" + "required": true + }, + "ServiceAvailabilityNotification": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceAvailabilityNotification" + } + } }, - "tC": { - "$ref": "#/definitions/TrafficFilter.TC" - } + "required": true } }, - "TrafficRule.Action": { - "description": "The action of the ME host data plane when a packet matches the trafficFilter", - "type": "string", - "enum": [ - "DROP", - "FORWARD_DECAPSULATED", - "FORWARD_AS_IS", - "PASSTHROUGH", - "DUPLICATE_DECAPSULATED", - "DUPLICATE_AS_IS" - ], - "example": "DROP" - }, - "TrafficRule.FilterType": { - "description": "Definition of filter per FLOW or PACKET. If flow the filter match UE->EPC packet and the reverse packet is handled in the same context", - "type": "string", - "enum": [ - "FLOW", - "PACKET" - ], - "example": "FLOW" - }, - "TrafficRule.Id": { - "description": "Identify the traffic rule.", - "type": "string", - "example": "TrafficRule1" - }, - "TrafficRule.Priority": { - "description": "Priority of this traffic rule. If traffic rule conflicts, the one with higher priority take precedence", - "type": "integer", - "format": "uint32", - "example": 1 - }, - "TrafficRule.State": { - "description": "Contains the traffic rule state", - "type": "string", - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "example": "ACTIVE" - }, - "TrafficRule": { - "description": "This type represents the general information of a traffic rule.", - "type": "object", - "required": [ - "trafficRuleId", - "filterType", - "priority", - "trafficFilter", - "action", - "state" - ], - "properties": { - "trafficRuleId": { - "$ref": "#/definitions/TrafficRule.Id" - }, - "filterType": { - "$ref": "#/definitions/TrafficRule.FilterType" - }, - "priority": { - "$ref": "#/definitions/TrafficRule.Priority" - }, - "trafficFilter": { - "$ref": "#/definitions/TrafficFilter" - }, - "action": { - "$ref": "#/definitions/TrafficRule.Action" - }, - "dstInterface": { - "$ref": "#/definitions/DestinationInterface" - }, - "state": { - "$ref": "#/definitions/TrafficRule.State" + "callbacks": { + "AppTerminationNotification": { + "$request.body#/callbackReference": { + "post": { + "requestBody": { + "$ref": "#/components/requestBodies/AppTerminationNotification" + }, + "responses": { + "200": { + "description": "Expected responses from callback consumer, if it accepts the callback" + } + } + } + } + }, + "ServiceAvailabilityNotification": { + "$request.body#/callbackReference": { + "post": { + "requestBody": { + "$ref": "#/components/requestBodies/ServiceAvailabilityNotification" + }, + "responses": { + "200": { + "description": "Expected responses from callback consumer, if it accepts the callback" + } + } + } } } }, - "TransportInfo.Description": { - "description": "Human-readable description of this transport", - "type": "string", - "example": "REST API" - }, - "TransportInfo.Id": { - "description": "The identifier of this transport", - "type": "string", - "example": "TransId12345" - }, - "TransportInfo.ImplSpecificInfo": { - "description": "Additional implementation specific details of the transport", - "type": "object" - }, - "TransportInfo.Name": { - "description": "The name of this transport", - "type": "string", - "example": "REST" - }, - "TransportInfo.Protocol": { - "description": "The name of the protocol used. Shall be set to HTTP for a REST API.", - "type": "string", - "example": "HTTP" - }, - "TransportInfo.Version": { - "description": "The version of the protocol used", - "type": "string", - "example": "2.0" - }, - "TransportInfo": { - "description": "This type represents the general information of a mobile edge service.", - "type": "object", - "required": [ - "id", - "name", - "type", - "protocol", - "version", - "endpoint", - "security" - ], - "properties": { - "id": { - "$ref": "#/definitions/TransportInfo.Id" - }, - "name": { - "$ref": "#/definitions/TransportInfo.Name" - }, - "description": { - "$ref": "#/definitions/TransportInfo.Description" - }, - "type": { - "$ref": "#/definitions/TransportTypes" - }, - "protocol": { - "$ref": "#/definitions/TransportInfo.Protocol" - }, - "version": { - "$ref": "#/definitions/TransportInfo.Version" - }, - "endpoint": { - "$ref": "#/definitions/EndPointInfo" - }, - "security": { - "$ref": "#/definitions/SecurityInfo" - }, - "implSpecificInfo": { - "$ref": "#/definitions/TransportInfo.ImplSpecificInfo" + "links": { + "GetIndividualMeService": { + "operationId": "ServicesServiceId.GET", + "description": "The `serviceId` value returned in the response can be used as the `serviceId` parameter in `GET /services/{serviceId}`", + "parameters": { + "serviceId": "$response.body#/serviceId" + } + }, + "PutIndividualMeService": { + "operationId": "ServicesServiceId.PUT", + "description": "The `serviceId` value returned in the response can be used as the `serviceId` parameter in `PUT /services/{serviceId}`", + "parameters": { + "serviceId": "$response.body#/serviceId" + } + }, + "GetIndividualMeDNSRule": { + "operationId": "ApplicationsDnsRule.GET", + "description": "The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `GET /applications/{appInstanceId}/dns_rules/{dnsRuleId}`", + "parameters": { + "dnsRuleId": "$response.body#/dnsRuleId" + } + }, + "PutIndividualMeDNSRule": { + "operationId": "ApplicationsDnsRule.PUT", + "description": "The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `PUT /applications/{appInstanceId}/dns_rules/{dnsRuleId}`", + "parameters": { + "dnsRuleId": "$response.body#/dnsRuleId" + } + }, + "GetIndividualMeTrafficRule": { + "operationId": "ApplicationsTrafficRule.GET", + "description": "The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `GET /applications/{appInstanceId}/traffic_rules/{trafficRuleId}`", + "parameters": { + "trafficRuleId": "$response.body#/trafficRuleId" + } + }, + "PutIndividualMeTrafficRule": { + "operationId": "ApplicationsTrafficRule.PUT", + "description": "The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `PUT /applications/{appInstanceId}/traffic_rules/{trafficRuleId}`", + "parameters": { + "trafficRuleId": "$response.body#/trafficRuleId" + } + }, + "GetIndividualMeMp1Subscription": { + "operationId": "ApplicationsSubscription.GET", + "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`", + "parameters": { + "description": "regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", + "subscriptionId": "TBC" + } + }, + "DelIndividualMeMp1Subscription": { + "operationId": "ApplicationsSubscription.DELETE", + "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`", + "parameters": { + "description": "regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", + "subscriptionId": "TBC" + } + }, + "GetIndividualMeMp1SubscriptionLinkList": { + "operationId": "ApplicationsSubscription.GET", + "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`", + "parameters": { + "description": "regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", + "subscriptionId": "TBC" + } + }, + "DelIndividualMeMp1SubscriptionLinkList": { + "operationId": "ApplicationsSubscription.DELETE", + "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`", + "parameters": { + "description": "regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", + "subscriptionId": "TBC" } } }, - "TransportTypes": { - "description": "The enumeration TransportTypes represents types of transports", - "type": "string", - "enum": [ - "REST_HTTP", - "MB_TOPIC_BASED", - "MB_ROUTING", - "MB_PUBSUB", - "RPC", - "RPC_STREAMING", - "WEBSOCKET" - ], - "example": "JSON" - }, - "TunnelInfo.TunnelDstAddress": { - "description": "Destination address of the tunnel", - "type": "string", - "example": "?" - }, - "TunnelInfo.TunnelSrcAddress": { - "description": "Source address of the tunnel", - "type": "string", - "example": "?" - }, - "TunnelInfo.TunnelType": { - "description": "This type represents the tunnel information.", - "type": "string", - "enum": [ - "GTP_U", - "GRE" - ], - "example": "GTP_U" - }, - "TunnelInfo": { - "description": "This type represents the tunnel information.", - "type": "object", - "required": [ - "tunnelType" - ], - "properties": { - "tunnelType": { - "$ref": "#/definitions/TunnelInfo.TunnelType" - }, - "tunnelDstAddress": { - "$ref": "#/definitions/TunnelInfo.TunnelDstAddress" - }, - "tunnelSrcAddress": { - "$ref": "#/definitions/TunnelInfo.TunnelSrcAddress" + "examples": { + "DnsRule": { + "value": { + "dnsRuleId": "DnsRule1", + "domainName": "www.example.com", + "ipAddressType": "IP_V4", + "ipAddress": "146.241.7.3", + "ttl": 300, + "state": "ACTIVE" + } + }, + "DnsRules": { + "value": [ + { + "dnsRuleId": "DnsRule1", + "domainName": "www.example.com", + "ipAddressType": "IP_V4", + "ipAddress": "146.241.7.3", + "ttl": 300, + "state": "ACTIVE" + } + ] + }, + "ServiceInfo": { + "value": { + "serInstanceId": "ServiceInstance123", + "serName": "ExampleService", + "serCategory": { + "href": "catItem1", + "id": "id12345", + "name": "RNI", + "version": "version1" + }, + "version": "ServiceVersion1", + "state": "ACTIVE", + "transportId": "Rest1", + "transportInfo": { + "id": "TransId12345", + "name": "REST", + "description": "REST API", + "type": "JSON", + "protocol": "HTTP", + "version": "2.0", + "endpoint": { + "uris": [ + "/meMp1/service/EntryPoint" + ], + "addresses": [ + { + "host": "192.0.2.0", + "port": "8080" + } + ] + }, + "security": { + "oAuth2Info": { + "grantTypes": "OAUTH2_CLIENT_CREDENTIALS", + "tokenEndpoint": "/meMp1/security/TokenEndPoint" + } + } + }, + "serializer": "JSON" + } + }, + "ServiceInfoList": { + "value": [ + { + "serInstanceId": "ServiceInstance123", + "serName": "ExampleService", + "serCategory": { + "href": "catItem1", + "id": "id12345", + "name": "RNI", + "version": "version1" + }, + "version": "ServiceVersion1", + "state": "ACTIVE", + "transportId": "Rest1", + "transportInfo": { + "id": "TransId12345", + "name": "REST", + "description": "REST API", + "type": "JSON", + "protocol": "HTTP", + "version": "2.0", + "endpoint": { + "uris": [ + "/meMp1/service/EntryPoint" + ], + "addresses": [ + { + "host": "192.0.2.0", + "port": "8080" + } + ] + }, + "security": { + "oAuth2Info": { + "grantTypes": "OAUTH2_CLIENT_CREDENTIALS", + "tokenEndpoint": "/meMp1/security/TokenEndPoint" + } + } + }, + "serializer": "JSON" + } + ] + }, + "TrafficRule": { + "value": { + "trafficRuleId": "TrafficRule123", + "serName": "ExampleService", + "filterType": "FLOW", + "priority": 1, + "trafficFilter": { + "srcAddress": [ + "192.168.2.0/24", + "192.168.3.0/24" + ], + "dstAddress": [ + "192.127.4.100/32" + ], + "dstPort": [ + 80 + ] + }, + "action": "FORWARD_DECAPSULATED", + "dstInterface": { + "interfaceType": "IP", + "dstIpAddress": "20.1.1.1" + }, + "state": "ACTIVE" } + }, + "TrafficRules": { + "value": [ + { + "trafficRuleId": "TrafficRule123", + "serName": "ExampleService", + "filterType": "FLOW", + "priority": 1, + "trafficFilter": { + "srcAddress": [ + "192.168.2.0/24", + "192.168.3.0/24" + ], + "dstAddress": [ + "192.127.4.100/32" + ], + "dstPort": [ + 80 + ] + }, + "action": "FORWARD_DECAPSULATED", + "dstInterface": { + "interfaceType": "IP", + "dstIpAddress": "20.1.1.1" + }, + "state": "ACTIVE" + } + ] } } } diff --git a/Mp1.split.yaml b/Mp1.split.yaml deleted file mode 100644 index d965e36..0000000 --- a/Mp1.split.yaml +++ /dev/null @@ -1,44 +0,0 @@ -################################################################################ -# Open API specification version # -################################################################################ -swagger: '2.0' - -################################################################################ -# Document Information # -################################################################################ -info: - $ref: './info/index.yaml' - -################################################################################ -# External Documents # -################################################################################ -externalDocs: - $ref: './externalDocs/index.yaml' - -host: 127.0.0.1:8081 -basePath: /exampleAPI/mp1/v1/ -schemes: -- http -- https -consumes: -- application/json -produces: -- application/json - -################################################################################ -# Parameters # -################################################################################ -parameters: - $ref: ./parameters/index.yaml - -################################################################################ -# paths # -################################################################################ -paths: - $ref: './paths/index.yaml' - -################################################################################ -# Definitions # -################################################################################ -definitions: - $ref: './definitions/index.yaml' \ No newline at end of file diff --git a/Mp1.yaml b/Mp1.yaml index a2dc71a..9260613 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -1,4 +1,7 @@ -swagger: '2.0' +openapi: 3.0.0 +servers: + - url: 'http://127.0.0.1:8081/exampleAPI/mp1/v1/' + - url: 'https://127.0.0.1:8081/exampleAPI/mp1/v1/' info: title: Mp1 API version: 1.1.1 @@ -8,1826 +11,1784 @@ info: url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' externalDocs: description: 'ETSI GS MEC011 Application Enablement API, V1.1.1' - url: 'http://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/01.01.01_60/gs_mec011v010101p.pdf' -host: '127.0.0.1:8081' -basePath: /exampleAPI/mp1/v1/ -schemes: - - http - - https -consumes: - - application/json -produces: - - application/json -parameters: - Body.AppTerminationNotificationSubscription: - name: AppTerminationNotificationSubscription - description: Entity body in the request contains a subscription to the mobile edge application termination notifications that is to be created. - in: body - required: true - schema: - $ref: '#/definitions/AppTerminationNotificationSubscription' - Body.DnsRule: - name: DnsRule - description: The updated state is included in the entity body of the request. - in: body - required: true - schema: - $ref: '#/definitions/DnsRule' - Body.SerAvailabilityNotificationSubscription: - name: SerAvailabilityNotificationSubscription - description: Entity body in the request contains a subscription to the mobile edge service availability notifications that is to be created. - in: body - required: true - schema: - $ref: '#/definitions/SerAvailabilityNotificationSubscription' - Body.ServiceInfo: - name: ServiceInfo - description: New ServiceInfo with updated "state" is included as entity body of the request - in: body - required: true - schema: - $ref: '#/definitions/ServiceInfo' - Body.TrafficRule: - name: TrafficRule - description: One or more updated attributes that are allowed to be changed - in: body - required: true - schema: - $ref: '#/definitions/TrafficRule' - Path.AppInstanceId: - name: appInstanceId - description: Represents a mobile edge application instance. Note that the appInstanceId is allocated by the mobile edge platform manager. - in: path - required: true - type: string - format: uri - Path.DnsRuleId: - name: dnsRuleId - description: Represents a DNS rule. - in: path - required: true - type: string - format: uri - Path.SubscriptionId: - name: subscriptionId - description: Represents a subscription to the notifications from the mobile edge platform. - in: path - required: true - type: string - format: uri - Path.SubscriptionType: - name: subscriptionType - description: Represents a subscription type to the notifications from the mobile edge platform. - in: path - required: true - type: string - format: uri - Path.ServiceId: - name: serviceId - description: Represents a mobile edge service instance. - in: path - required: true - type: string - format: uri - Path.TrafficRuleId: - name: trafficRuleId - description: Represents a traffic rule. - in: path - required: true - type: string - format: uri - Query.Ser_category_id: - name: ser_category_id - description: A mobile edge application instance may use ser_category_id as an input parameter to query the availability of a list of mobile edge service instances in a serCategory. Either "ser_instance_id" or "ser_name" or "ser_category_id" or none of them shall be present. - in: query - required: false - type: string - Query.Ser_instance_id: - name: ser_instance_id - description: A mobile edge application instance may use multiple ser_instance_ids as an input parameter to query the availability of a list of mobile edge service instances. Either "ser_instance_id" or "ser_name" or "ser_category_id" or none of them shall be present. - in: query - required: false - type: array - items: - type: string - Query.Ser_name: - name: ser_name - description: A mobile edge application instance may use multiple ser_names as an input parameter to query the availability of a list of mobile edge service instances. Either "ser_instance_id" or "ser_name" or "ser_category_id" or none of them shall be present. - in: query - required: false - type: array - items: - type: string + url: >- + http://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/01.01.01_60/gs_mec011v010101p.pdf paths: '/applications/{appInstanceId}/dns_rules': parameters: - - $ref: '#/parameters/Path.AppInstanceId' + - $ref: '#/components/parameters/Path.AppInstanceId' get: - description: This method retrieves information about all the DNS rules associated with a mobile edge application instance. + description: >- + This method retrieves information about all the DNS rules associated + with a mobile edge application instance. operationId: ApplicationsDnsRules.GET - produces: - - application/json responses: '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: array - items: - type: object - properties: - DnsRule: - $ref: '#/definitions/DnsRule' - examples: - application/json: - - DnsRule: - dnsRuleId: DnsRule1 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.3 - ttl: 300 - state: ACTIVE + $ref: '#/components/responses/ApplicationsDnsRules.200' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' '/applications/{appInstanceId}/dns_rules/{dnsRuleId}': parameters: - - $ref: '#/parameters/Path.AppInstanceId' - - $ref: '#/parameters/Path.DnsRuleId' + - $ref: '#/components/parameters/Path.AppInstanceId' + - $ref: '#/components/parameters/Path.DnsRuleId' get: - description: This method retrieves information about a DNS rule associated with a mobile edge application instance. + description: >- + This method retrieves information about a DNS rule associated with a + mobile edge application instance. operationId: ApplicationsDnsRule.GET - produces: - - application/json responses: '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: object - properties: - DnsRule: - $ref: '#/definitions/DnsRule' - examples: - application/json: - DnsRule: - dnsRuleId: DnsRule1 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.3 - ttl: 300 - state: ACTIVE + $ref: '#/components/responses/ApplicationsDnsRule.200' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' put: description: 'This method activates, de-activates or updates a traffic rule.' operationId: ApplicationsDnsRule.PUT - produces: - - application/json - parameters: - - $ref: '#/parameters/Body.DnsRule' responses: '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: object - properties: - DnsRule: - $ref: '#/definitions/DnsRule' - examples: - application/json: - DnsRule: - dnsRuleId: DnsRule1 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.3 - ttl: 300 - state: ACTIVE + $ref: '#/components/responses/ApplicationsDnsRule.200' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' '412': - description: Precondition Failed - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.412' + requestBody: + $ref: '#/components/requestBodies/ApplicationsDnsRule' '/applications/{appInstanceId}/subscriptions': parameters: - - $ref: '#/parameters/Path.AppInstanceId' + - $ref: '#/components/parameters/Path.AppInstanceId' get: - description: 'The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor.' + description: >- + The GET method may be used to request information about all + subscriptions for this requestor. Upon success, the response contains + entity body with all the subscriptions for the requestor. operationId: ApplicationsSubscriptions.GET - produces: - - application/json responses: '200': - description: 'Upon success, a response body containing the list of links to the requested subscriptions is returned.' - schema: - type: object - properties: - Mp1SubscriptionLinkList: - $ref: '#/definitions/Mp1SubscriptionLinkList' + $ref: '#/components/responses/ApplicationsSubscriptions.200' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' post: - description: 'The POST method may be used to create a new subscription. One example use case is to create a new subscription to the mobile edge service availability notifications. Upon success, the response contains entity body describing the created subscription.' + description: >- + The POST method may be used to create a new subscription. One example + use case is to create a new subscription to the mobile edge service + availability notifications. Upon success, the response contains entity + body describing the created subscription. operationId: ApplicationsSubscriptions.POST - produces: - - application/json - parameters: - - $ref: '#/parameters/Body.AppTerminationNotificationSubscription' responses: '201': - description: Entity body in the request contains a subscription to the mobile edge service availability notifications that is to be created. - headers: - location: - description: The resource URI of the created resource - type: string - format: uri - schema: - type: object - properties: - AppTerminationNotificationSubscription: - $ref: '#/definitions/AppTerminationNotificationSubscription' + $ref: '#/components/responses/ApplicationsSubscriptions.201' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' + requestBody: + $ref: '#/components/requestBodies/ApplicationsSubscriptions' + callbacks: + appTerminationNotification: + $ref: '#/components/callbacks/AppTerminationNotification' + serviceAvailabilityNotification: + $ref: '#/components/callbacks/ServiceAvailabilityNotification' '/applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}': parameters: - - $ref: '#/parameters/Path.AppInstanceId' - - $ref: '#/parameters/Path.SubscriptionType' - - $ref: '#/parameters/Path.SubscriptionId' + - $ref: '#/components/parameters/Path.AppInstanceId' + - $ref: '#/components/parameters/Path.SubscriptionType' + - $ref: '#/components/parameters/Path.SubscriptionId' get: - description: 'The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor.' + description: >- + The GET method requests information about a subscription for this + requestor. Upon success, the response contains entity body with the + subscription for the requestor. operationId: ApplicationsSubscription.GET - produces: - - application/json responses: '200': - description: 'Upon success, a response body containing the requested subscription is returned.' - schema: - type: object - properties: - SerAvailabilityNotificationSubscription: - $ref: '#/definitions/SerAvailabilityNotificationSubscription' + $ref: '#/components/responses/ApplicationsSubscription.200' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' delete: - description: This method deletes a meMp1Subscription. This method is typically used in "Unsubscribing from service availability event notifications" procedure. + description: >- + This method deletes a meMp1Subscription. This method is typically used + in "Unsubscribing from service availability event notifications" + procedure. operationId: ApplicationsSubscription.DELETE - produces: - - application/json responses: '204': description: No Content '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' '/applications/{appInstanceId}/traffic_rules': parameters: - - $ref: '#/parameters/Path.AppInstanceId' + - $ref: '#/components/parameters/Path.AppInstanceId' get: - description: This method retrieves information about all the traffic rules associated with a mobile edge application instance. + description: >- + This method retrieves information about all the traffic rules associated + with a mobile edge application instance. operationId: ApplicationsTrafficRules.GET - produces: - - application/json responses: '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: array - items: - type: object - properties: - TrafficRule: - $ref: '#/definitions/TrafficRule' - examples: - application/json: - - TrafficRule: - trafficRuleId: TrafficRule123 - serName: ExampleService - filterType: FLOW - priority: 1 - trafficFilter: - srcAddress: - - 192.168.2.0/24 - - 192.168.3.0/24 - dstAddress: - - 192.127.4.100/32 - dstPort: - - 80 - action: FORWARD_DECAPSULATED - dstInterface: - interfaceType: IP - dstIpAddress: 20.1.1.1 - state: ACTIVE + $ref: '#/components/responses/ApplicationsTrafficRules.200' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' '/applications/{appInstanceId}/traffic_rules/{trafficRuleId}': parameters: - - $ref: '#/parameters/Path.AppInstanceId' - - $ref: '#/parameters/Path.TrafficRuleId' + - $ref: '#/components/parameters/Path.AppInstanceId' + - $ref: '#/components/parameters/Path.TrafficRuleId' get: - description: This method retrieves information about all the traffic rules associated with a mobile edge application instance. + description: >- + This method retrieves information about all the traffic rules associated + with a mobile edge application instance. operationId: ApplicationsTrafficRule.GET - produces: - - application/json responses: '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: object - properties: - TrafficRule: - $ref: '#/definitions/TrafficRule' - examples: - application/json: - TrafficRule: - trafficRuleId: TrafficRule123 - serName: ExampleService - filterType: FLOW - priority: 1 - trafficFilter: - srcAddress: - - 192.168.2.0/24 - - 192.168.3.0/24 - dstAddress: - - 192.127.4.100/32 - dstPort: - - 80 - action: FORWARD_DECAPSULATED - dstInterface: - interfaceType: IP - dstIpAddress: 20.1.1.1 - state: ACTIVE + $ref: '#/components/responses/ApplicationsTrafficRule.200' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' put: - description: This method retrieves information about all the traffic rules associated with a mobile edge application instance. - operationId: ApplicationsTrafficRules.PUT - produces: - - application/json - parameters: - - $ref: '#/parameters/Body.TrafficRule' + description: >- + This method retrieves information about all the traffic rules associated + with a mobile edge application instance. + operationId: ApplicationsTrafficRule.PUT responses: '200': - description: 'Upon success, a response body containing data type describing the updated TrafficRule is returned.' - schema: - type: object - properties: - TrafficRule: - $ref: '#/definitions/TrafficRule' - examples: - application/json: - TrafficRule: - trafficRuleId: TrafficRule123 - serName: ExampleService - filterType: FLOW - priority: 1 - trafficFilter: - srcAddress: - - 192.168.2.0/24 - - 192.168.3.0/24 - dstAddress: - - 192.127.4.100/32 - dstPort: - - 80 - action: FORWARD_DECAPSULATED - dstInterface: - interfaceType: IP - dstIpAddress: 20.1.1.1 - state: ACTIVE + $ref: '#/components/responses/ApplicationsTrafficRule.200' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' '412': - description: Precondition Failed - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.412' + requestBody: + $ref: '#/components/requestBodies/ApplicationsTrafficRule' /services: get: - description: This method retrieves information about a list of meService resources. This method is typically used in "service availability query" procedure + description: >- + This method retrieves information about a list of meService resources. + This method is typically used in "service availability query" procedure operationId: Services.GET - produces: - - application/json parameters: - - $ref: '#/parameters/Query.Ser_instance_id' - - $ref: '#/parameters/Query.Ser_name' - - $ref: '#/parameters/Query.Ser_category_id' + - $ref: '#/components/parameters/Query.Ser_instance_id' + - $ref: '#/components/parameters/Query.Ser_name' + - $ref: '#/components/parameters/Query.Ser_category_id' responses: '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: array - items: - type: object - properties: - ServiceInfo: - $ref: '#/definitions/ServiceInfo' - examples: - application/json: - - ServiceInfo: - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportId: Rest1 - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: JSON - protocol: HTTP - version: '2.0' - endpoint: - uris: - - /meMp1/service/EntryPoint - addresses: - - host: 192.0.2.0 - port: '8080' - security: - oAuth2Info: - grantTypes: OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /meMp1/security/TokenEndPoint - serializer: JSON + $ref: '#/components/responses/Services.200' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' post: - description: This method is used to create a meService resource. This method is typically used in "service availability update and new service registration" procedure + description: >- + This method is used to create a meService resource. This method is + typically used in "service availability update and new service + registration" procedure operationId: Services.POST - produces: - - application/json - parameters: - - $ref: '#/parameters/Body.ServiceInfo' responses: '201': - description: 'Upon success, the HTTP response shall include a Location HTTP header that contains the resource URI of the created resource.' - headers: - location: - description: The resource URI of the created resource - type: string - format: uri - schema: - type: object - properties: - ServiceInfo: - $ref: '#/definitions/ServiceInfo' - examples: - application/json: - ServiceInfo: - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportId: Rest1 - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: JSON - protocol: HTTP - version: '2.0' - endpoint: - uris: - - /meMp1/service/EntryPoint - addresses: - - host: 192.0.2.0 - port: '8080' - security: - oAuth2Info: - grantTypes: OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /meMp1/security/TokenEndPoint - serializer: JSON + $ref: '#/components/responses/Services.201' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' + requestBody: + $ref: '#/components/requestBodies/Services' '/services/{serviceId}': parameters: - - $ref: '#/parameters/Path.ServiceId' + - $ref: '#/components/parameters/Path.ServiceId' get: - description: This method retrieves information about a meService resource. This method is typically used in "service availability query" procedure + description: >- + This method retrieves information about a meService resource. This + method is typically used in "service availability query" procedure operationId: ServicesServiceId.GET - produces: - - application/json responses: '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: object - properties: - ServiceInfo: - $ref: '#/definitions/ServiceInfo' - examples: - application/json: - ServiceInfo: - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportId: Rest1 - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: JSON - protocol: HTTP - version: '2.0' - endpoint: - uris: - - /meMp1/service/EntryPoint - addresses: - - host: 192.0.2.0 - port: '8080' - security: - oAuth2Info: - grantTypes: OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /meMp1/security/TokenEndPoint - serializer: JSON + $ref: '#/components/responses/ServicesServiceId.200' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' put: description: This method updates the information about a meService resource operationId: ServicesServiceId.PUT - produces: - - application/json - parameters: - - $ref: '#/parameters/Body.ServiceInfo' responses: '200': - description: 'Upon success, a response body containing data type describing the updated ServiceInfo is returned' - schema: - type: object - properties: - ServiceInfo: - $ref: '#/definitions/ServiceInfo' - examples: - application/json: - ServiceInfo: - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportId: Rest1 - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: JSON - protocol: HTTP - version: '2.0' - endpoint: - uris: - - /meMp1/service/EntryPoint - addresses: - - host: 192.0.2.0 - port: '8080' - security: - oAuth2Info: - grantTypes: OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /meMp1/security/TokenEndPoint - serializer: JSON + $ref: '#/components/responses/ServicesServiceId.200' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' '412': - description: Precondition Failed - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.412' + requestBody: + $ref: '#/components/requestBodies/ServicesServiceId' /timing/current_time: get: - description: This method retrieves the information of the platform's current time which corresponds to the get platform time procedure + description: >- + This method retrieves the information of the platform's current time + which corresponds to the get platform time procedure operationId: TimingCurrentTime.GET - produces: - - application/json responses: '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: object - properties: - CurrentTime: - $ref: '#/definitions/CurrentTime' + $ref: '#/components/responses/TimingCurrentTime.200' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' /timing/timing_caps: get: - description: This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query + description: >- + This method retrieves the information of the platform's timing + capabilities which corresponds to the timing capabilities query operationId: TimingCaps.GET - produces: - - application/json responses: '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: object - properties: - TimingCaps: - $ref: '#/definitions/TimingCaps' + $ref: '#/components/responses/TimingCaps.200' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.404' /transports: get: - description: This method retrieves information about a list of available transports. This method is typically used by a service-producing application to discover transports provided by the mobile edge platform in the "transport information query" procedure + description: >- + This method retrieves information about a list of available transports. + This method is typically used by a service-producing application to + discover transports provided by the mobile edge platform in the + "transport information query" procedure operationId: Transports.GET - produces: - - application/json responses: '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: array - items: - type: object - properties: - TransportInfo: - $ref: '#/definitions/TransportInfo' + $ref: '#/components/responses/Transports.200' '400': - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.400' '403': - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' + $ref: '#/components/responses/Error.403' '404': - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' -definitions: - AppTerminationNotification.MaxGracefulTimeout: - description: Maximum timeout value in seconds for graceful termination or graceful stop of an application instance. - type: string - format: uint32 - example: 10 - AppTerminationNotification.NotificationType: - description: Shall be set to AppTerminationNotification. - type: string - example: AppTerminationNotification - AppTerminationNotification: - description: This type represents the information that the mobile edge platform notifies the subscribed application instance about the corresponding application instance termination/stop. - type: object - required: - - notificationType - - maxGracefulTimeout - - _links - properties: - notificationType: - $ref: '#/definitions/AppTerminationNotification.NotificationType' - maxGracefulTimeout: - $ref: '#/definitions/AppTerminationNotification.MaxGracefulTimeout' - _links: - $ref: '#/definitions/Subscription' - AppTerminationNotificationSubscription.AppInstanceId: - description: It is used as the filtering criterion for the subscribed events. - type: string - example: ID1 - AppTerminationNotificationSubscription.CallbackReference: - description: URI selected by the mobile edge application instance to receive notifications on the subscribed mobile edge application instance management information. This shall be included in both the request and the response. - type: string - format: uri - AppTerminationNotificationSubscription: - description: This type represents the information that the mobile edge platform notifies the subscribed application instance about the corresponding application instance termination/stop. - type: object - required: - - subscriptionType - - callbackReference - - _links - - appInstanceId - properties: - subscriptionType: - $ref: '#/definitions/AppTerminationNotificationSubscription.SubscriptionType' - callbackReference: - $ref: '#/definitions/AppTerminationNotificationSubscription.CallbackReference' - _links: - $ref: '#/definitions/Self' - appInstanceId: - $ref: '#/definitions/AppTerminationNotificationSubscription.AppInstanceId' - AppTerminationNotificationSubscription.SubscriptionType: - description: Shall be set to AppTerminationNotificationSubscription. - type: string - example: AppTerminationNotificationSubscription - CategoryRef.Href: - description: Reference of the catalogue - type: string - example: catItem1 - CategoryRef.Id: - description: Unique identifier of the category - type: string - example: id12345 - CategoryRef.Name: - description: Name of the category - type: string - example: RNI - CategoryRef.Version: - description: Category version - type: string - example: version1 - CategoryRef: - description: This type represents the category reference - type: object - required: - - href - - id - - name - - version - properties: - href: - $ref: '#/definitions/CategoryRef.Href' - id: - $ref: '#/definitions/CategoryRef.Id' - name: - $ref: '#/definitions/CategoryRef.Name' - version: - $ref: '#/definitions/CategoryRef.Version' - CurrentTime: - description: This type represents the information provided by the mobile edge platform in response to the Get Platform Time Request message. - type: object - required: - - nanoSeconds - - seconds - - timeSourceStatus - properties: - seconds: - type: integer - format: uint32 - description: 'The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC' - example: 1577836800 - nanoSeconds: - type: integer - format: uint32 - description: 'The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC' - example: 0 - timeSourceStatus: + $ref: '#/components/responses/Error.404' +components: + schemas: + Empty: + description: Empty schema + AppTerminationNotification.MaxGracefulTimeout: + description: >- + Maximum timeout value in seconds for graceful termination or graceful + stop of an application instance. + type: string + format: uint32 + example: 10 + AppTerminationNotification.NotificationType: + description: Shall be set to AppTerminationNotification. + type: string + example: AppTerminationNotification + AppTerminationNotification: + description: >- + This type represents the information that the mobile edge platform + notifies the subscribed application instance about the corresponding + application instance termination/stop. + type: object + required: + - notificationType + - maxGracefulTimeout + - _links + properties: + notificationType: + $ref: '#/components/schemas/AppTerminationNotification.NotificationType' + maxGracefulTimeout: + $ref: '#/components/schemas/AppTerminationNotification.MaxGracefulTimeout' + _links: + $ref: '#/components/schemas/Subscription' + AppTerminationNotificationSubscription.AppInstanceId: + description: It is used as the filtering criterion for the subscribed events. + type: string + example: ID1 + AppTerminationNotificationSubscription.CallbackReference: + description: >- + URI selected by the mobile edge application instance to receive + notifications on the subscribed mobile edge application instance + management information. This shall be included in both the request and + the response. + type: string + format: uri + AppTerminationNotificationSubscription: + description: >- + This type represents the information that the mobile edge platform + notifies the subscribed application instance about the corresponding + application instance termination/stop. + type: object + required: + - subscriptionType + - callbackReference + - _links + - appInstanceId + properties: + subscriptionType: + $ref: >- + #/components/schemas/AppTerminationNotificationSubscription.SubscriptionType + callbackReference: + $ref: >- + #/components/schemas/AppTerminationNotificationSubscription.CallbackReference + _links: + $ref: '#/components/schemas/Self' + appInstanceId: + $ref: >- + #/components/schemas/AppTerminationNotificationSubscription.AppInstanceId + AppTerminationNotificationSubscription.SubscriptionType: + description: Shall be set to AppTerminationNotificationSubscription. + type: string + example: AppTerminationNotificationSubscription + CategoryRef.Href: + description: Reference of the catalogue + type: string + example: catItem1 + CategoryRef.Id: + description: Unique identifier of the category + type: string + example: id12345 + CategoryRef.Name: + description: Name of the category + type: string + example: RNI + CategoryRef.Version: + description: Category version + type: string + example: version1 + CategoryRef: + description: This type represents the category reference + type: object + required: + - href + - id + - name + - version + properties: + href: + $ref: '#/components/schemas/CategoryRef.Href' + id: + $ref: '#/components/schemas/CategoryRef.Id' + name: + $ref: '#/components/schemas/CategoryRef.Name' + version: + $ref: '#/components/schemas/CategoryRef.Version' + CurrentTime: + description: >- + This type represents the information provided by the mobile edge + platform in response to the Get Platform Time Request message. + type: object + required: + - nanoSeconds + - seconds + - timeSourceStatus + properties: + seconds: + type: integer + format: uint32 + description: >- + The seconds part of the time. Time is defined as Unix-time since + January 1, 1970, 00:00:00 UTC + example: 1577836800 + nanoSeconds: + type: integer + format: uint32 + description: >- + The nanoseconds part of the time. Time is defined as Unix-time since + January 1, 1970, 00:00:00 UTC + example: 0 + timeSourceStatus: + type: string + enum: + - TRACEABLE + - NONTRACEABLE + description: >- + Platform Time Source status. 1 = TRACEABLE - time source is locked + to the UTC time source. 2 = NONTRACEABLE - time source is not locked + to the UTC time source + example: TRACEABLE + DestinationInterface.InterfaceType: + description: Type of the interface + type: string + enum: + - TUNNEL + - MAC + - IP + example: TUNNEL + DestinationInterface.IpAddress: + description: IP address of the remote destination + type: string + example: 192.0.2.0 + DestinationInterface.MacAddress: + description: Source address identifies the MAC address of the interface + type: string + example: 02-00-00-00-00-00 + DestinationInterface: + description: This type represents the destination interface. + type: object + required: + - interfaceType + properties: + interfaceType: + $ref: '#/components/schemas/DestinationInterface.InterfaceType' + tunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + srcMacAddress: + $ref: '#/components/schemas/DestinationInterface.MacAddress' + dstMacAddress: + $ref: '#/components/schemas/DestinationInterface.MacAddress' + dstIpAddress: + $ref: '#/components/schemas/DestinationInterface.IpAddress' + DnsRule.DomainName: + description: FQDN resolved by the DNS rule + type: string + example: www.example.com + DnsRule.Id: + description: Identifies the DNS Rule + type: string + example: dnsRule1 + DnsRule.IpAddress: + description: IP address associated with the FQDN resolved by the DNS rule + type: string + example: 192.0.2.0 + DnsRule.IpAddressType: + description: IP address type + type: string + enum: + - IP_V6 + - IP_V4 + example: IP_V6 + DnsRule.State: + description: DNS rule state + type: string + enum: + - ACTIVE + - INACTIVE + example: ACTIVE + DnsRule.Ttl: + description: Time to live value + type: integer + format: uint32 + example: '?' + DnsRule: + description: This type represents the general information of a DNS rule. + type: object + required: + - dnsRuleId + - domainName + - ipAddressType + - ipAddress + - state + properties: + dnsRuleId: + $ref: '#/components/schemas/DnsRule.Id' + domainName: + $ref: '#/components/schemas/DnsRule.DomainName' + ipAddressType: + $ref: '#/components/schemas/DnsRule.IpAddressType' + ipAddress: + $ref: '#/components/schemas/DnsRule.IpAddress' + ttl: + $ref: '#/components/schemas/DnsRule.Ttl' + state: + $ref: '#/components/schemas/DnsRule.State' + EndPointInfo.Address.Host: + description: Host portion of the address + type: string + example: 192.0.2.0 + EndPointInfo.Address.Port: + description: Port portion of the address + type: integer + format: uint32 + example: '8080' + EndPointInfo.Address: + description: A IP address and port pair + type: object + properties: + host: + $ref: '#/components/schemas/EndPointInfo.Address.Host' + port: + $ref: '#/components/schemas/EndPointInfo.Address.Port' + EndPointInfo.Addresses: + description: >- + Entry point information of the service as one or more pairs of IP + address and port + type: array + items: + $ref: '#/components/schemas/EndPointInfo.Address' + EndPointInfo.Alternative: + description: >- + Entry point information of the service in a format defined by an + implementation, or in an external specification. + type: object + EndPointInfo.Uri: + description: Entry point information of the service + type: string + format: uri + example: /meMp1/service/EntryPoint + EndPointInfo.Uris: + description: >- + Entry point information of the service as string, formatted according to + URI syntax + type: array + items: + $ref: '#/components/schemas/EndPointInfo.Uri' + EndPointInfo: + description: This type represents information about a transport endpoint + type: object + properties: + uris: + $ref: '#/components/schemas/EndPointInfo.Uris' + addresses: + $ref: '#/components/schemas/EndPointInfo.Addresses' + alternative: + $ref: '#/components/schemas/EndPointInfo.Alternative' + LinkType: + description: This type represents a type of link and may be referenced from data structures + type: object + properties: + href: + $ref: '#/components/schemas/Href' + Href: + description: URI referring to a resource + type: string + format: uri + readOnly: true + example: /meMp1/example + Mp1SubscriptionLinkList.Links: + description: Self-referring URI. + type: object + required: + - self + properties: + self: + $ref: '#/components/schemas/LinkType' + subscription: + description: Subscription list + type: array + items: + $ref: '#/components/schemas/Mp1SubscriptionLinkList.Subscription' + Mp1SubscriptionLinkList.Subscription: + description: A link to a subscription. + type: object + required: + - href + - rel + properties: + href: + $ref: '#/components/schemas/Href' + rel: + description: >- + The values are as defined in the "subscriptionType" attribute for + each different Mp1 event subscription data type. + type: string + enum: + - AppTerminationNotificationSubscription + - SerAvailabilityNotificationSubscription + Mp1SubscriptionLinkList: + description: >- + This type represents a list of links related to currently existing + subscriptions for a mobile edge application instance. This information + is returned when sending a request to receive current subscriptions. + type: object + required: + - _links + properties: + _links: + $ref: '#/components/schemas/Mp1SubscriptionLinkList.Links' + ProblemDetails: + type: object + properties: + type: + $ref: '#/components/schemas/Problem.type' + title: + $ref: '#/components/schemas/Problem.title' + status: + $ref: '#/components/schemas/Problem.status' + detail: + $ref: '#/components/schemas/Problem.detail' + instance: + $ref: '#/components/schemas/Problem.instance' + Problem.detail: + type: string + description: A human-readable explanation specific to this occurrence of the problem + Problem.instance: + type: string + format: uri + description: A URI reference that identifies the specific occurrence of the problem + Problem.status: + type: integer + format: uint32 + description: The HTTP status code for this occurrence of the problem + Problem.title: + type: string + description: 'A short, human-readable summary of the problem type' + Problem.type: + type: string + format: uri + description: >- + A URI reference according to IETF RFC 3986 that identifies the problem + type + SecurityInfo.OAuth2Info.GrantTypes: + description: List of supported OAuth 2.0 grant types + type: string + enum: + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_IMPLICIT_GRANT + - OAUTH2_RESOURCE_OWNER + - OAUTH2_CLIENT_CREDENTIALS + example: OAUTH2_CLIENT_CREDENTIALS + SecurityInfo.OAuth2Info.TokenEndpoint: + description: The token endpoint + type: string + format: uri + example: /meMp1/security/TokenEndPoint + SecurityInfo.OAuth2Info: + description: Parameters related to use of OAuth 2.0 + required: + - grantTypes + - tokenEndpoint + properties: + grantTypes: + $ref: '#/components/schemas/SecurityInfo.OAuth2Info.GrantTypes' + tokenEndpoint: + $ref: '#/components/schemas/SecurityInfo.OAuth2Info.TokenEndpoint' + type: object + SecurityInfo: + description: This type represents security information related to a transport + type: object + required: + - oAuth2Info + properties: + oAuth2Info: + $ref: '#/components/schemas/SecurityInfo.OAuth2Info' + Self: + description: Self-referring URI. + type: object + required: + - self + properties: + self: + $ref: '#/components/schemas/LinkType' + readOnly: true + SerAvailabilityNotificationSubscription.CallbackReference: + description: >- + URI selected by the mobile edge application instance to receive + notifications on the subscribed mobile edge service availability + information. This shall be included in both the request and the + response. + type: string + format: uri + SerAvailabilityNotificationSubscription: + description: >- + This type represents a subscription to the notifications from the mobile + edge platform regarding the availability of a mobile edge service or a + list of mobile edge services. + type: object + required: + - subscriptionType + - callbackReference + - _links + - filteringCriteria + properties: + subscriptionType: + $ref: >- + #/components/schemas/SerAvailabilityNotificationSubscription.SubscriptionType + callbackReference: + $ref: >- + #/components/schemas/SerAvailabilityNotificationSubscription.CallbackReference + _links: + $ref: '#/components/schemas/Self' + filteringCriteria: + $ref: '#/components/schemas/ServiceInfo' + SerAvailabilityNotificationSubscription.SubscriptionType: + description: Shall be set to SerAvailabilityNotificationSubscription. + type: string + example: SerAvailabilityNotificationSubscription + ServiceAvailabilityNotification: + description: >- + This type represents the service availability information. + type: object + required: + - notificationType + - services + - _links + properties: + notificationType: + $ref: >- + #/components/schemas/SerAvailabilityNotificationSubscription.SubscriptionType + services: + type: array + items: + $ref: '#/components/schemas/ServiceInfo' + _links: + $ref: '#/components/schemas/Subscription' + SerializerTypes: + description: The enumeration SerializerTypes represents types of serializers + type: string + enum: + - JSON + - XML + - PROTOBUF3 + example: JSON + ServiceInfo.SerInstanceId: + description: >- + Identifier of the service instance assigned by the MEPM / mobile edge + platform. + type: string + readOnly: true + example: ServiceInstance123 + ServiceInfo.SerName: + description: >- + The name of the service. This is how the service producing mobile edge + application identifies the service instance it produces. + type: string + example: ExampleService + ServiceInfo.State: + description: Contains the state + type: string + enum: + - ACTIVE + - INACTIVE + example: ACTIVE + ServiceInfo.TransportId: + description: >- + Identifier of the platform-provided transport to be used by the service. + Valid identifiers may be obtained using the "Transport information + query" procedure. May be present in POST requests to signal the use of a + platform-provided transport for the service, and shall be absent + otherwise. + type: string + example: Rest1 + ServiceInfo.Version: + description: Service version + type: string + example: ServiceVersion1 + ServiceInfo: + description: This type represents the general information of a mobile edge service. + type: object + required: + - serName + - version + - state + - serializer + properties: + serInstanceId: + $ref: '#/components/schemas/ServiceInfo.SerInstanceId' + serName: + $ref: '#/components/schemas/ServiceInfo.SerName' + serCategory: + $ref: '#/components/schemas/CategoryRef' + version: + $ref: '#/components/schemas/ServiceInfo.Version' + state: + $ref: '#/components/schemas/ServiceInfo.State' + transportId: + $ref: '#/components/schemas/ServiceInfo.TransportId' + transportInfo: + $ref: '#/components/schemas/TransportInfo' + serializer: + $ref: '#/components/schemas/SerializerTypes' + Subscription: + description: A link to the related subscription + type: object + required: + - subscription + properties: + subscription: + $ref: '#/components/schemas/LinkType' + TimingCaps.NtpServers.AuthenticationKeyNum: + description: Authentication key number + type: integer + format: uint32 + example: 1 + TimingCaps.NtpServers.AuthenticationOption: + description: NTP authentication option + type: string + enum: + - NONE + - SYMMETRIC_KEY + - AUTO_KEY + example: NONE + TimingCaps.NtpServers.DelayReqMaxRate: + description: Acceptable maximum rate of the Delay_Req messages in packets per second + type: integer + format: uint32 + example: 10 + TimingCaps.NtpServers.LocalPriority: + description: NTP server local priority + type: integer + format: uint32 + example: 1 + TimingCaps.NtpServers.MaxPollingInterval: + description: >- + Maximum poll interval for NTP messages, in seconds as a power of two. + Range 3...17 + type: integer + format: uint32 + example: 17 + TimingCaps.NtpServers.MinPollingInterval: + description: >- + Minimum poll interval for NTP messages, in seconds as a power of two. + Range 3...17 + type: integer + format: uint32 + example: 3 + TimingCaps.NtpServers.NtpServerAddr: + description: NTP server address + type: string + example: 192.0.2.0 + TimingCaps.NtpServers.NtpServerAddrType: + description: Address type of NTP server + type: string + enum: + - IP_ADDRESS + - DNS_NAME + example: IP_ADDRESS + TimingCaps.NtpServers.PtpMasterIpAddress: + description: PTP Master IP Address + type: string + example: 192.0.2.0 + TimingCaps.NtpServers.PtpMasterLocalPriority: + description: PTP Master local priority + type: integer + format: uint32 + example: 1 + TimingCaps.NtpServers: + description: NTP server detail. + type: object + required: + - ntpServerAddrType + - ntpServerAddr + - minPollingInterval + - maxPollingInterval + - localPriority + - authenticationOption + - authenticationKeyNum + properties: + ntpServerAddrType: + $ref: '#/components/schemas/TimingCaps.NtpServers.NtpServerAddrType' + ntpServerAddr: + $ref: '#/components/schemas/TimingCaps.NtpServers.NtpServerAddr' + minPollingInterval: + $ref: '#/components/schemas/TimingCaps.NtpServers.MinPollingInterval' + maxPollingInterval: + $ref: '#/components/schemas/TimingCaps.NtpServers.MaxPollingInterval' + localPriority: + $ref: '#/components/schemas/TimingCaps.NtpServers.LocalPriority' + authenticationOption: + $ref: '#/components/schemas/TimingCaps.NtpServers.AuthenticationOption' + authenticationKeyNum: + $ref: '#/components/schemas/TimingCaps.NtpServers.AuthenticationKeyNum' + TimingCaps.PtpMasters: + description: NTP server detail. + type: object + required: + - ptpMasterIpAddress + - ptpMasterLocalPriority + - delayReqMaxRate + properties: + ptpMasterIpAddress: + $ref: '#/components/schemas/TimingCaps.NtpServers.PtpMasterIpAddress' + ptpMasterLocalPriority: + $ref: '#/components/schemas/TimingCaps.NtpServers.PtpMasterLocalPriority' + delayReqMaxRate: + $ref: '#/components/schemas/TimingCaps.NtpServers.DelayReqMaxRate' + TimingCaps.TimeStamp: + description: time + type: object + required: + - nanoSeconds + - seconds + properties: + seconds: + type: integer + format: uint32 + description: >- + The seconds part of the time. Time is defined as Unix-time since + January 1, 1970, 00:00:00 UTC + example: 1577836800 + nanoSeconds: + type: integer + format: uint32 + description: >- + The nanoseconds part of the time. Time is defined as Unix-time since + January 1, 1970, 00:00:00 UTC + example: 0 + TimingCaps: + description: >- + This type represents the information provided by the mobile edge + platform in response to the Timing capabilities Query message. + type: object + properties: + timeStamp: + $ref: '#/components/schemas/TimingCaps.TimeStamp' + ntpServers: + description: Available NTP servers + type: array + items: + $ref: '#/components/schemas/TimingCaps.NtpServers' + ptpMasters: + description: Available PTP Masters + type: array + items: + $ref: '#/components/schemas/TimingCaps.PtpMasters' + TrafficFilter.Address: + description: Identify the traffic ip address. + type: string + example: 192.168.1.1 + TrafficFilter.DSCP: + description: >- + Used to match all IPv4 packets that have the same Differentiated + Services Code Point (DSCP) + type: integer + format: uint32 + example: 0 + TrafficFilter.Port: + description: A port + type: string + example: '8080' + TrafficFilter.Protocol: + description: Protocol of the traffic filter + type: string + example: '?' + TrafficFilter.QCI: + description: >- + Used to match all packets that have the same Quality Class Indicator + (QCI). + type: integer + format: uint32 + example: 1 + TrafficFilter.TC: + description: Used to match all IPv6 packets that have the same Traffic Class. + type: integer + format: uint32 + example: 1 + TrafficFilter.Token: + description: Used for token based traffic rule + type: string + example: '?' + TrafficFilter.TunnelAddress: + description: Used for GTP tunnel based traffic rule + type: string + example: '?' + TrafficFilter.TunnelPort: + description: Used for GTP tunnel based traffic rule + type: string + example: '?' + TrafficFilter: + description: This type represents the traffic filter. + type: object + properties: + srcAddress: + description: >- + An IP address or a range of IP address. For IPv4, the IP address + could be an IP address plus mask, or an individual IP address, or a + range of IP addresses. For IPv6, the IP address could be an IP + prefix, or a range of IP prefixes. + type: array + items: + $ref: '#/components/schemas/TrafficFilter.Address' + dstAddress: + description: >- + An IP address or a range of IP address. For IPv4, the IP address + could be an IP address plus mask, or an individual IP address, or a + range of IP addresses. For IPv6, the IP address could be an IP + prefix, or a range of IP prefixes. + type: array + items: + $ref: '#/components/schemas/TrafficFilter.Address' + srcPort: + description: A port or a range of ports + type: array + items: + $ref: '#/components/schemas/TrafficFilter.Port' + dstPort: + description: A port or a range of ports + type: array + items: + $ref: '#/components/schemas/TrafficFilter.Port' + protocol: + description: Specify the protocol of the traffic filter + type: array + items: + $ref: '#/components/schemas/TrafficFilter.Protocol' + token: + description: Used for token based traffic rule + type: array + items: + $ref: '#/components/schemas/TrafficFilter.Token' + srcTunnelAddress: + description: Used for GTP tunnel based traffic rule + type: array + items: + $ref: '#/components/schemas/TrafficFilter.TunnelAddress' + tgtTunnelAddress: + description: Used for GTP tunnel based traffic rule + type: array + items: + $ref: '#/components/schemas/TrafficFilter.TunnelAddress' + srcTunnelPort: + description: Used for GTP tunnel based traffic rule + type: array + items: + $ref: '#/components/schemas/TrafficFilter.TunnelPort' + dstTunnelPort: + description: Used for GTP tunnel based traffic rule + type: array + items: + $ref: '#/components/schemas/TrafficFilter.TunnelPort' + qCI: + $ref: '#/components/schemas/TrafficFilter.QCI' + dSCP: + $ref: '#/components/schemas/TrafficFilter.DSCP' + tC: + $ref: '#/components/schemas/TrafficFilter.TC' + TrafficRule.Action: + description: >- + The action of the ME host data plane when a packet matches the + trafficFilter + type: string + enum: + - DROP + - FORWARD_DECAPSULATED + - FORWARD_AS_IS + - PASSTHROUGH + - DUPLICATE_DECAPSULATED + - DUPLICATE_AS_IS + example: DROP + TrafficRule.FilterType: + description: >- + Definition of filter per FLOW or PACKET. If flow the filter match + UE->EPC packet and the reverse packet is handled in the same context + type: string + enum: + - FLOW + - PACKET + example: FLOW + TrafficRule.Id: + description: Identify the traffic rule. + type: string + example: TrafficRule1 + TrafficRule.Priority: + description: >- + Priority of this traffic rule. If traffic rule conflicts, the one with + higher priority take precedence + type: integer + format: uint32 + example: 1 + TrafficRule.State: + description: Contains the traffic rule state + type: string + enum: + - ACTIVE + - INACTIVE + example: ACTIVE + TrafficRule: + description: This type represents the general information of a traffic rule. + type: object + required: + - trafficRuleId + - filterType + - priority + - trafficFilter + - action + - state + properties: + trafficRuleId: + $ref: '#/components/schemas/TrafficRule.Id' + filterType: + $ref: '#/components/schemas/TrafficRule.FilterType' + priority: + $ref: '#/components/schemas/TrafficRule.Priority' + trafficFilter: + $ref: '#/components/schemas/TrafficFilter' + action: + $ref: '#/components/schemas/TrafficRule.Action' + dstInterface: + $ref: '#/components/schemas/DestinationInterface' + state: + $ref: '#/components/schemas/TrafficRule.State' + TransportInfo.Description: + description: Human-readable description of this transport + type: string + example: REST API + TransportInfo.Id: + description: The identifier of this transport + type: string + example: TransId12345 + TransportInfo.ImplSpecificInfo: + description: Additional implementation specific details of the transport + type: object + TransportInfo.Name: + description: The name of this transport + type: string + example: REST + TransportInfo.Protocol: + description: The name of the protocol used. Shall be set to HTTP for a REST API. + type: string + example: HTTP + TransportInfo.Version: + description: The version of the protocol used + type: string + example: '2.0' + TransportInfo: + description: This type represents the general information of a mobile edge service. + type: object + required: + - id + - name + - type + - protocol + - version + - endpoint + - security + properties: + id: + $ref: '#/components/schemas/TransportInfo.Id' + name: + $ref: '#/components/schemas/TransportInfo.Name' + description: + $ref: '#/components/schemas/TransportInfo.Description' + type: + $ref: '#/components/schemas/TransportTypes' + protocol: + $ref: '#/components/schemas/TransportInfo.Protocol' + version: + $ref: '#/components/schemas/TransportInfo.Version' + endpoint: + $ref: '#/components/schemas/EndPointInfo' + security: + $ref: '#/components/schemas/SecurityInfo' + implSpecificInfo: + $ref: '#/components/schemas/TransportInfo.ImplSpecificInfo' + TransportTypes: + description: The enumeration TransportTypes represents types of transports + type: string + enum: + - REST_HTTP + - MB_TOPIC_BASED + - MB_ROUTING + - MB_PUBSUB + - RPC + - RPC_STREAMING + - WEBSOCKET + example: JSON + TunnelInfo.TunnelDstAddress: + description: Destination address of the tunnel + type: string + example: '?' + TunnelInfo.TunnelSrcAddress: + description: Source address of the tunnel + type: string + example: '?' + TunnelInfo.TunnelType: + description: This type represents the tunnel information. + type: string + enum: + - GTP_U + - GRE + example: GTP_U + TunnelInfo: + description: This type represents the tunnel information. + type: object + required: + - tunnelType + properties: + tunnelType: + $ref: '#/components/schemas/TunnelInfo.TunnelType' + tunnelDstAddress: + $ref: '#/components/schemas/TunnelInfo.TunnelDstAddress' + tunnelSrcAddress: + $ref: '#/components/schemas/TunnelInfo.TunnelSrcAddress' + parameters: + Path.AppInstanceId: + name: appInstanceId + description: >- + Represents a mobile edge application instance. Note that the + appInstanceId is allocated by the mobile edge platform manager. + in: path + required: true + schema: type: string - enum: - - TRACEABLE - - NONTRACEABLE - description: Platform Time Source status. 1 = TRACEABLE - time source is locked to the UTC time source. 2 = NONTRACEABLE - time source is not locked to the UTC time source - example: TRACEABLE - DestinationInterface.InterfaceType: - description: Type of the interface - type: string - enum: - - TUNNEL - - MAC - - IP - example: TUNNEL - DestinationInterface.IpAddress: - description: IP address of the remote destination - type: string - example: 192.0.2.0 - DestinationInterface.MacAddress: - description: Source address identifies the MAC address of the interface - type: string - example: 02-00-00-00-00-00 - DestinationInterface: - description: This type represents the destination interface. - type: object - required: - - interfaceType - properties: - interfaceType: - $ref: '#/definitions/DestinationInterface.InterfaceType' - tunnelInfo: - $ref: '#/definitions/TunnelInfo' - srcMacAddress: - $ref: '#/definitions/DestinationInterface.MacAddress' - dstMacAddress: - $ref: '#/definitions/DestinationInterface.MacAddress' - dstIpAddress: - $ref: '#/definitions/DestinationInterface.IpAddress' - DnsRule.DomainName: - description: FQDN resolved by the DNS rule - type: string - example: www.example.com - DnsRule.Id: - description: Identifies the DNS Rule - type: string - example: dnsRule1 - DnsRule.IpAddress: - description: IP address associated with the FQDN resolved by the DNS rule - type: string - example: 192.0.2.0 - DnsRule.IpAddressType: - description: IP address type - type: string - enum: - - IP_V6 - - IP_V4 - example: IP_V6 - DnsRule.State: - description: DNS rule state - type: string - enum: - - ACTIVE - - INACTIVE - example: ACTIVE - DnsRule.Ttl: - description: Time to live value - type: integer - format: uint32 - example: '?' - DnsRule: - description: This type represents the general information of a DNS rule. - type: object - required: - - dnsRuleId - - domainName - - ipAddressType - - ipAddress - - state - properties: - dnsRuleId: - $ref: '#/definitions/DnsRule.Id' - domainName: - $ref: '#/definitions/DnsRule.DomainName' - ipAddressType: - $ref: '#/definitions/DnsRule.IpAddressType' - ipAddress: - $ref: '#/definitions/DnsRule.IpAddress' - ttl: - $ref: '#/definitions/DnsRule.Ttl' - state: - $ref: '#/definitions/DnsRule.State' - EndPointInfo.Address.Host: - description: Host portion of the address - type: string - example: 192.0.2.0 - EndPointInfo.Address.Port: - description: Port portion of the address - type: integer - format: uint32 - example: '8080' - EndPointInfo.Address: - description: A IP address and port pair - type: object - properties: - host: - $ref: '#/definitions/EndPointInfo.Address.Host' - port: - $ref: '#/definitions/EndPointInfo.Address.Port' - EndPointInfo.Addresses: - description: Entry point information of the service as one or more pairs of IP address and port - type: array - items: - $ref: '#/definitions/EndPointInfo.Address' - EndPointInfo.Alternative: - description: 'Entry point information of the service in a format defined by an implementation, or in an external specification.' - type: object - EndPointInfo.Uri: - description: Entry point information of the service - type: string - format: uri - example: /meMp1/service/EntryPoint - EndPointInfo.Uris: - description: 'Entry point information of the service as string, formatted according to URI syntax' - type: array - items: - $ref: '#/definitions/EndPointInfo.Uri' - EndPointInfo: - description: This type represents information about a transport endpoint - type: object - properties: - uris: - $ref: '#/definitions/EndPointInfo.Uris' - addresses: - $ref: '#/definitions/EndPointInfo.Addresses' - alternative: - $ref: '#/definitions/EndPointInfo.Alternative' - LinkType: - description: URI referring to a resource - type: string - format: uri - readOnly: true - example: /meMp1/example - Mp1SubscriptionLinkList.Links: - description: Self-referring URI. - type: object - required: - - self - properties: - self: - $ref: '#/definitions/LinkType' - subscription: - description: Subscription list - type: array - items: - $ref: '#/definitions/Mp1SubscriptionLinkList.Subscription' - Mp1SubscriptionLinkList.Subscription: - description: A link to a subscription. - type: object - required: - - href - - rel - properties: - href: - description: The URI referring to the subscription + format: uri + Path.DnsRuleId: + name: dnsRuleId + description: Represents a DNS rule. + in: path + required: true + schema: type: string format: uri - rel: - description: The values are as defined in the "subscriptionType" attribute for each different Mp1 event subscription data type. + Path.SubscriptionId: + name: subscriptionId + description: >- + Represents a subscription to the notifications from the mobile edge + platform. + in: path + required: true + schema: type: string - Mp1SubscriptionLinkList: - description: This type represents a list of links related to currently existing subscriptions for a mobile edge application instance. This information is returned when sending a request to receive current subscriptions. - type: object - required: - - _links - properties: - _links: - $ref: '#/definitions/Mp1SubscriptionLinkList.Links' - ProblemDetails: - type: object - properties: - type: - $ref: '#/definitions/Problem.type' - title: - $ref: '#/definitions/Problem.title' - status: - $ref: '#/definitions/Problem.status' - detail: - $ref: '#/definitions/Problem.detail' - instance: - $ref: '#/definitions/Problem.instance' - Problem.detail: - type: string - description: A human-readable explanation specific to this occurrence of the problem - Problem.instance: - type: string - format: uri - description: A URI reference that identifies the specific occurrence of the problem - Problem.status: - type: integer - format: uint32 - description: The HTTP status code for this occurrence of the problem - Problem.title: - type: string - description: 'A short, human-readable summary of the problem type' - Problem.type: - type: string - format: uri - description: A URI reference according to IETF RFC 3986 that identifies the problem type - SecurityInfo.OAuth2Info.GrantTypes: - description: List of supported OAuth 2.0 grant types - type: string - enum: - - OAUTH2_AUTHORIZATION_CODE - - OAUTH2_IMPLICIT_GRANT - - OAUTH2_RESOURCE_OWNER - - OAUTH2_CLIENT_CREDENTIALS - example: OAUTH2_CLIENT_CREDENTIALS - SecurityInfo.OAuth2Info.TokenEndpoint: - description: The token endpoint - type: string - format: uri - example: /meMp1/security/TokenEndPoint - SecurityInfo.OAuth2Info: - description: Parameters related to use of OAuth 2.0 - required: - - grantTypes - - tokenEndpoint - properties: - grantTypes: - $ref: '#/definitions/SecurityInfo.OAuth2Info.GrantTypes' - tokenEndpoint: - $ref: '#/definitions/SecurityInfo.OAuth2Info.TokenEndpoint' - SecurityInfo: - description: This type represents security information related to a transport - type: object - required: - - oAuth2Info - properties: - oAuth2Info: - $ref: '#/definitions/SecurityInfo.OAuth2Info' - Self: - description: Self-referring URI. - type: object - required: - - self - properties: - self: - $ref: '#/definitions/LinkType' - readOnly: true - SerAvailabilityNotificationSubscription.CallbackReference: - description: URI selected by the mobile edge application instance to receive notifications on the subscribed mobile edge service availability information. This shall be included in both the request and the response. - type: string - format: uri - SerAvailabilityNotificationSubscription: - description: This type represents a subscription to the notifications from the mobile edge platform regarding the availability of a mobile edge service or a list of mobile edge services. - type: object - required: - - subscriptionType - - callbackReference - - _links - - filteringCriteria - properties: - subscriptionType: - $ref: '#/definitions/SerAvailabilityNotificationSubscription.SubscriptionType' - callbackReference: - $ref: '#/definitions/SerAvailabilityNotificationSubscription.CallbackReference' - _links: - $ref: '#/definitions/Self' - filteringCriteria: - $ref: '#/definitions/ServiceInfo' - SerAvailabilityNotificationSubscription.SubscriptionType: - description: Shall be set to SerAvailabilityNotificationSubscription. - type: string - example: SerAvailabilityNotificationSubscription - SerializerTypes: - description: The enumeration SerializerTypes represents types of serializers - type: string - enum: - - JSON - - XML - - PROTOBUF3 - example: JSON - ServiceInfo.SerInstanceId: - description: Identifier of the service instance assigned by the MEPM / mobile edge platform. - type: string - example: ServiceInstance123 - ServiceInfo.SerName: - description: The name of the service. This is how the service producing mobile edge application identifies the service instance it produces. - type: string - example: ExampleService - ServiceInfo.State: - description: Contains the state - type: string - enum: - - ACTIVE - - INACTIVE - example: ACTIVE - ServiceInfo.TransportId: - description: 'Identifier of the platform-provided transport to be used by the service. Valid identifiers may be obtained using the "Transport information query" procedure. May be present in POST requests to signal the use of a platform-provided transport for the service, and shall be absent otherwise.' - type: string - example: Rest1 - ServiceInfo.Version: - description: Service version - type: string - example: ServiceVersion1 - ServiceInfo: - description: This type represents the general information of a mobile edge service. - type: object - required: - - serName - - version - - state - - serializer - properties: - serInstanceId: - $ref: '#/definitions/ServiceInfo.SerInstanceId' - serName: - $ref: '#/definitions/ServiceInfo.SerName' - serCategory: - $ref: '#/definitions/CategoryRef' - version: - $ref: '#/definitions/ServiceInfo.Version' - state: - $ref: '#/definitions/ServiceInfo.State' - transportId: - $ref: '#/definitions/ServiceInfo.TransportId' - transportInfo: - $ref: '#/definitions/TransportInfo' - serializer: - $ref: '#/definitions/SerializerTypes' - Subscription: - description: A link to the related subscription - type: object - required: - - subscription - properties: - subscription: - $ref: '#/definitions/LinkType' - TimingCaps.NtpServers.AuthenticationKeyNum: - description: Authentication key number - type: integer - format: uint32 - example: 1 - TimingCaps.NtpServers.AuthenticationOption: - description: NTP authentication option - type: string - enum: - - NONE - - SYMMETRIC_KEY - - AUTO_KEY - example: NONE - TimingCaps.NtpServers.DelayReqMaxRate: - description: Acceptable maximum rate of the Delay_Req messages in packets per second - type: integer - format: uint32 - example: 10 - TimingCaps.NtpServers.LocalPriority: - description: NTP server local priority - type: integer - format: uint32 - example: 1 - TimingCaps.NtpServers.MaxPollingInterval: - description: 'Maximum poll interval for NTP messages, in seconds as a power of two. Range 3...17' - type: integer - format: uint32 - example: 17 - TimingCaps.NtpServers.MinPollingInterval: - description: 'Minimum poll interval for NTP messages, in seconds as a power of two. Range 3...17' - type: integer - format: uint32 - example: 3 - TimingCaps.NtpServers.NtpServerAddr: - description: NTP server address - type: string - example: 192.0.2.0 - TimingCaps.NtpServers.NtpServerAddrType: - description: Address type of NTP server - type: string - enum: - - IP_ADDRESS - - DNS_NAME - example: IP_ADDRESS - TimingCaps.NtpServers.PtpMasterIpAddress: - description: PTP Master IP Address - type: string - example: 192.0.2.0 - TimingCaps.NtpServers.PtpMasterLocalPriority: - description: PTP Master local priority - type: integer - format: uint32 - example: 1 - TimingCaps.NtpServers: - description: NTP server detail. - type: object - required: - - ntpServerAddrType - - ntpServerAddr - - minPollingInterval - - maxPollingInterval - - localPriority - - authenticationOption - - authenticationKeyNum - properties: - ntpServerAddrType: - $ref: '#/definitions/TimingCaps.NtpServers.NtpServerAddrType' - ntpServerAddr: - $ref: '#/definitions/TimingCaps.NtpServers.NtpServerAddr' - minPollingInterval: - $ref: '#/definitions/TimingCaps.NtpServers.MinPollingInterval' - maxPollingInterval: - $ref: '#/definitions/TimingCaps.NtpServers.MaxPollingInterval' - localPriority: - $ref: '#/definitions/TimingCaps.NtpServers.LocalPriority' - authenticationOption: - $ref: '#/definitions/TimingCaps.NtpServers.AuthenticationOption' - authenticationKeyNum: - $ref: '#/definitions/TimingCaps.NtpServers.AuthenticationKeyNum' - TimingCaps.PtpMasters: - description: NTP server detail. - type: object - required: - - ptpMasterIpAddress - - ptpMasterLocalPriority - - delayReqMaxRate - properties: - ptpMasterIpAddress: - $ref: '#/definitions/TimingCaps.NtpServers.PtpMasterIpAddress' - ptpMasterLocalPriority: - $ref: '#/definitions/TimingCaps.NtpServers.PtpMasterLocalPriority' - delayReqMaxRate: - $ref: '#/definitions/TimingCaps.NtpServers.DelayReqMaxRate' - TimingCaps.TimeStamp: - description: time - type: object - required: - - nanoSeconds - - seconds - properties: - seconds: - type: integer - format: uint32 - description: 'The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC' - example: 1577836800 - nanoSeconds: - type: integer - format: uint32 - description: 'The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC' - example: 0 - TimingCaps: - description: This type represents the information provided by the mobile edge platform in response to the Timing capabilities Query message. - type: object - properties: - timeStamp: - $ref: '#/definitions/TimingCaps.TimeStamp' - ntpServers: - description: Available NTP servers - type: array - items: - $ref: '#/definitions/TimingCaps.NtpServers' - ptpMasters: - description: Available PTP Masters - type: array - items: - $ref: '#/definitions/TimingCaps.PtpMasters' - TrafficFilter.Address: - description: Identify the traffic ip address. - type: string - example: 192.168.1.1 - TrafficFilter.DSCP: - description: Used to match all IPv4 packets that have the same Differentiated Services Code Point (DSCP) - type: integer - format: uint32 - example: 0 - TrafficFilter.Port: - description: A port - type: string - example: '8080' - TrafficFilter.Protocol: - description: Protocol of the traffic filter - type: string - example: '?' - TrafficFilter.QCI: - description: Used to match all packets that have the same Quality Class Indicator (QCI). - type: integer - format: uint32 - example: 1 - TrafficFilter.TC: - description: Used to match all IPv6 packets that have the same Traffic Class. - type: integer - format: uint32 - example: 1 - TrafficFilter.Token: - description: Used for token based traffic rule - type: string - example: '?' - TrafficFilter.TunnelAddress: - description: Used for GTP tunnel based traffic rule - type: string - example: '?' - TrafficFilter.TunnelPort: - description: Used for GTP tunnel based traffic rule - type: string - example: '?' - TrafficFilter: - description: This type represents the traffic filter. - type: object - properties: - srcAddress: - description: 'An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes.' - type: array - items: - $ref: '#/definitions/TrafficFilter.Address' - dstAddress: - description: 'An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes.' - type: array - items: - $ref: '#/definitions/TrafficFilter.Address' - srcPort: - description: A port or a range of ports - type: array - items: - $ref: '#/definitions/TrafficFilter.Port' - dstPort: - description: A port or a range of ports - type: array - items: - $ref: '#/definitions/TrafficFilter.Port' - protocol: - description: Specify the protocol of the traffic filter - type: array - items: - $ref: '#/definitions/TrafficFilter.Protocol' - token: - description: Used for token based traffic rule - type: array - items: - $ref: '#/definitions/TrafficFilter.Token' - srcTunnelAddress: - description: Used for GTP tunnel based traffic rule - type: array - items: - $ref: '#/definitions/TrafficFilter.TunnelAddress' - tgtTunnelAddress: - description: Used for GTP tunnel based traffic rule - type: array - items: - $ref: '#/definitions/TrafficFilter.TunnelAddress' - srcTunnelPort: - description: Used for GTP tunnel based traffic rule + format: uri + Path.SubscriptionType: + name: subscriptionType + description: >- + Represents a subscription type to the notifications from the mobile edge + platform. + in: path + required: true + schema: + type: string + format: uri + Path.ServiceId: + name: serviceId + description: Represents a mobile edge service instance. + in: path + required: true + schema: + type: string + format: uri + Path.TrafficRuleId: + name: trafficRuleId + description: Represents a traffic rule. + in: path + required: true + schema: + type: string + format: uri + Query.Ser_category_id: + name: ser_category_id + description: >- + A mobile edge application instance may use ser_category_id as an input + parameter to query the availability of a list of mobile edge service + instances in a serCategory. Either "ser_instance_id" or "ser_name" or + "ser_category_id" or none of them shall be present. + in: query + required: false + schema: + type: string + Query.Ser_instance_id: + name: ser_instance_id + description: >- + A mobile edge application instance may use multiple ser_instance_ids as + an input parameter to query the availability of a list of mobile edge + service instances. Either "ser_instance_id" or "ser_name" or + "ser_category_id" or none of them shall be present. + in: query + required: false + schema: type: array items: - $ref: '#/definitions/TrafficFilter.TunnelPort' - dstTunnelPort: - description: Used for GTP tunnel based traffic rule + type: string + Query.Ser_name: + name: ser_name + description: >- + A mobile edge application instance may use multiple ser_names as an + input parameter to query the availability of a list of mobile edge + service instances. Either "ser_instance_id" or "ser_name" or + "ser_category_id" or none of them shall be present. + in: query + required: false + schema: type: array items: - $ref: '#/definitions/TrafficFilter.TunnelPort' - qCI: - $ref: '#/definitions/TrafficFilter.QCI' - dSCP: - $ref: '#/definitions/TrafficFilter.DSCP' - tC: - $ref: '#/definitions/TrafficFilter.TC' - TrafficRule.Action: - description: The action of the ME host data plane when a packet matches the trafficFilter - type: string - enum: - - DROP - - FORWARD_DECAPSULATED - - FORWARD_AS_IS - - PASSTHROUGH - - DUPLICATE_DECAPSULATED - - DUPLICATE_AS_IS - example: DROP - TrafficRule.FilterType: - description: Definition of filter per FLOW or PACKET. If flow the filter match UE->EPC packet and the reverse packet is handled in the same context - type: string - enum: - - FLOW - - PACKET - example: FLOW - TrafficRule.Id: - description: Identify the traffic rule. - type: string - example: TrafficRule1 - TrafficRule.Priority: - description: 'Priority of this traffic rule. If traffic rule conflicts, the one with higher priority take precedence' - type: integer - format: uint32 - example: 1 - TrafficRule.State: - description: Contains the traffic rule state - type: string - enum: - - ACTIVE - - INACTIVE - example: ACTIVE - TrafficRule: - description: This type represents the general information of a traffic rule. - type: object - required: - - trafficRuleId - - filterType - - priority - - trafficFilter - - action - - state - properties: - trafficRuleId: - $ref: '#/definitions/TrafficRule.Id' - filterType: - $ref: '#/definitions/TrafficRule.FilterType' - priority: - $ref: '#/definitions/TrafficRule.Priority' - trafficFilter: - $ref: '#/definitions/TrafficFilter' - action: - $ref: '#/definitions/TrafficRule.Action' - dstInterface: - $ref: '#/definitions/DestinationInterface' - state: - $ref: '#/definitions/TrafficRule.State' - TransportInfo.Description: - description: Human-readable description of this transport - type: string - example: REST API - TransportInfo.Id: - description: The identifier of this transport - type: string - example: TransId12345 - TransportInfo.ImplSpecificInfo: - description: Additional implementation specific details of the transport - type: object - TransportInfo.Name: - description: The name of this transport - type: string - example: REST - TransportInfo.Protocol: - description: The name of the protocol used. Shall be set to HTTP for a REST API. - type: string - example: HTTP - TransportInfo.Version: - description: The version of the protocol used - type: string - example: '2.0' - TransportInfo: - description: This type represents the general information of a mobile edge service. - type: object - required: - - id - - name - - type - - protocol - - version - - endpoint - - security - properties: - id: - $ref: '#/definitions/TransportInfo.Id' - name: - $ref: '#/definitions/TransportInfo.Name' - description: - $ref: '#/definitions/TransportInfo.Description' - type: - $ref: '#/definitions/TransportTypes' - protocol: - $ref: '#/definitions/TransportInfo.Protocol' - version: - $ref: '#/definitions/TransportInfo.Version' - endpoint: - $ref: '#/definitions/EndPointInfo' - security: - $ref: '#/definitions/SecurityInfo' - implSpecificInfo: - $ref: '#/definitions/TransportInfo.ImplSpecificInfo' - TransportTypes: - description: The enumeration TransportTypes represents types of transports - type: string - enum: - - REST_HTTP - - MB_TOPIC_BASED - - MB_ROUTING - - MB_PUBSUB - - RPC - - RPC_STREAMING - - WEBSOCKET - example: JSON - TunnelInfo.TunnelDstAddress: - description: Destination address of the tunnel - type: string - example: '?' - TunnelInfo.TunnelSrcAddress: - description: Source address of the tunnel - type: string - example: '?' - TunnelInfo.TunnelType: - description: This type represents the tunnel information. - type: string - enum: - - GTP_U - - GRE - example: GTP_U - TunnelInfo: - description: This type represents the tunnel information. - type: object - required: - - tunnelType - properties: - tunnelType: - $ref: '#/definitions/TunnelInfo.TunnelType' - tunnelDstAddress: - $ref: '#/definitions/TunnelInfo.TunnelDstAddress' - tunnelSrcAddress: - $ref: '#/definitions/TunnelInfo.TunnelSrcAddress' \ No newline at end of file + type: string + responses: + ApplicationsDnsRules.200: + description: >- + It is used to indicate nonspecific success. The response body + contains a representation of the resource. + content: + application/json: + schema: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/DnsRule' + examples: + DnsRules: + $ref: '#/components/examples/DnsRules' + links: + getIndividualMeDNSRule: + $ref: '#/components/links/GetIndividualMeDNSRule' + putIndividualMeDNSRule: + $ref: '#/components/links/PutIndividualMeDNSRule' + ApplicationsDnsRule.200: + description: >- + It is used to indicate nonspecific success. The response body + contains a representation of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/DnsRule' + examples: + DnsRule: + $ref: '#/components/examples/DnsRule' + ApplicationsSubscriptions.200: + description: >- + Upon success, a response body containing the list of links to the + requested subscriptions is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Mp1SubscriptionLinkList' + links: + getIndividualMeMp1SubscriptionLinkList: + $ref: '#/components/links/GetIndividualMeMp1SubscriptionLinkList' + delIndividualMeMp1SubscriptionLinkList: + $ref: '#/components/links/DelIndividualMeMp1SubscriptionLinkList' + ApplicationsSubscriptions.201: + description: >- + Entity body in the request contains a subscription to the mobile + edge service availability notifications that is to be created. + headers: + location: + description: The resource URI of the created resource + schema: + type: string + format: uri + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AppTerminationNotificationSubscription' + - $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' + links: + getIndividualMeMp1Subscription: + $ref: '#/components/links/GetIndividualMeMp1Subscription' + delIndividualMeMp1Subscription: + $ref: '#/components/links/DelIndividualMeMp1Subscription' + ApplicationsSubscription.200: + description: >- + Upon success, a response body containing the requested subscription + is returned. + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AppTerminationNotificationSubscription' + - $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' + ApplicationsTrafficRules.200: + description: >- + It is used to indicate nonspecific success. The response body + contains a representation of the resource. + content: + application/json: + schema: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/TrafficRule' + examples: + TrafficRules: + $ref: '#/components/examples/TrafficRules' + links: + getIndividualMeTrafficRule: + $ref: '#/components/links/GetIndividualMeTrafficRule' + putIndividualMeTrafficRule: + $ref: '#/components/links/PutIndividualMeTrafficRule' + ApplicationsTrafficRule.200: + description: >- + It is used to indicate nonspecific success. The response body + contains a representation of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficRule' + examples: + TrafficRule: + $ref: '#/components/examples/TrafficRule' + Services.200: + description: >- + It is used to indicate nonspecific success. The response body + contains a representation of the resource. + content: + application/json: + schema: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/ServiceInfo' + examples: + ServiceInfoList: + $ref: '#/components/examples/ServiceInfoList' + links: + getIndividualMeService: + $ref: '#/components/links/GetIndividualMeService' + putIndividualMeService: + $ref: '#/components/links/PutIndividualMeService' + Services.201: + description: >- + Upon success, the HTTP response shall include a Location HTTP header + that contains the resource URI of the created resource. + headers: + location: + description: The resource URI of the created resource + schema: + type: string + format: uri + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceInfo' + examples: + ServiceInfo: + $ref: '#/components/examples/ServiceInfo' + links: + getIndividualMeService: + $ref: '#/components/links/GetIndividualMeService' + putIndividualMeService: + $ref: '#/components/links/PutIndividualMeService' + ServicesServiceId.200: + description: >- + It is used to indicate nonspecific success. The response body + contains a representation of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceInfo' + examples: + ServiceInfo: + $ref: '#/components/examples/ServiceInfo' + TimingCurrentTime.200: + description: >- + It is used to indicate nonspecific success. The response body + contains a representation of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/CurrentTime' + TimingCaps.200: + description: >- + It is used to indicate nonspecific success. The response body + contains a representation of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/TimingCaps' + Transports.200: + description: >- + It is used to indicate nonspecific success. The response body + contains a representation of the resource. + content: + application/json: + schema: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/TransportInfo' + Error.400: + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + application/json: + schema: + $ref: '#/components/schemas/Empty' + Error.403: + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + Error.404: + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + application/json: + schema: + $ref: '#/components/schemas/Empty' + Error.412: + description: Precondition Failed + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + application/json: + schema: + $ref: '#/components/schemas/Empty' + requestBodies: + ApplicationsDnsRule: + content: + application/json: + schema: + $ref: '#/components/schemas/DnsRule' + description: The updated state is included in the entity body of the request. + required: true + ApplicationsSubscriptions: + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AppTerminationNotificationSubscription' + - $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' + description: >- + Entity body in the request contains a subscription to the mobile edge + application termination notifications that is to be created. + required: true + ApplicationsTrafficRule: + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficRule' + description: One or more updated attributes that are allowed to be changed + required: true + Services: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceInfo' + description: >- + New ServiceInfo with updated "state" is included as entity body of the + request + required: true + ServicesServiceId: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceInfo' + description: >- + New ServiceInfo with updated "state" is included as entity body of the + request + required: true + AppTerminationNotification: + content: + application/json: + schema: + $ref: '#/components/schemas/AppTerminationNotification' + required: true + ServiceAvailabilityNotification: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAvailabilityNotification' + required: true + callbacks: + AppTerminationNotification: + '$request.body#/callbackReference': + post: + requestBody: + $ref: '#/components/requestBodies/AppTerminationNotification' + responses: + '200': + description: Expected responses from callback consumer, if it accepts the callback + ServiceAvailabilityNotification: + '$request.body#/callbackReference': + post: + requestBody: + $ref: '#/components/requestBodies/ServiceAvailabilityNotification' + responses: + '200': + description: Expected responses from callback consumer, if it accepts the callback + links: + GetIndividualMeService: + operationId: ServicesServiceId.GET + description: The `serviceId` value returned in the response can be used as the `serviceId` parameter in `GET /services/{serviceId}` + parameters: + serviceId: '$response.body#/serviceId' + PutIndividualMeService: + operationId: ServicesServiceId.PUT + description: The `serviceId` value returned in the response can be used as the `serviceId` parameter in `PUT /services/{serviceId}` + parameters: + serviceId: '$response.body#/serviceId' + GetIndividualMeDNSRule: + operationId: ApplicationsDnsRule.GET + description: The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `GET /applications/{appInstanceId}/dns_rules/{dnsRuleId}` + parameters: + dnsRuleId: '$response.body#/dnsRuleId' + PutIndividualMeDNSRule: + operationId: ApplicationsDnsRule.PUT + description: The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `PUT /applications/{appInstanceId}/dns_rules/{dnsRuleId}` + parameters: + dnsRuleId: '$response.body#/dnsRuleId' + GetIndividualMeTrafficRule: + operationId: ApplicationsTrafficRule.GET + description: The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `GET /applications/{appInstanceId}/traffic_rules/{trafficRuleId}` + parameters: + trafficRuleId: '$response.body#/trafficRuleId' + PutIndividualMeTrafficRule: + operationId: ApplicationsTrafficRule.PUT + description: The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `PUT /applications/{appInstanceId}/traffic_rules/{trafficRuleId}` + parameters: + trafficRuleId: '$response.body#/trafficRuleId' + GetIndividualMeMp1Subscription: + operationId: ApplicationsSubscription.GET + description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}` + parameters: + description: regex = \/mp1\/v1\/applications\/.*\/subscriptions\/.*\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute + subscriptionId: 'TBC' + DelIndividualMeMp1Subscription: + operationId: ApplicationsSubscription.DELETE + description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}` + parameters: + description: regex = \/mp1\/v1\/applications\/.*\/subscriptions\/.*\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute + subscriptionId: 'TBC' + GetIndividualMeMp1SubscriptionLinkList: + operationId: ApplicationsSubscription.GET + description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}` + parameters: + description: regex = \/mp1\/v1\/applications\/.*\/subscriptions\/.*\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute + subscriptionId: 'TBC' + DelIndividualMeMp1SubscriptionLinkList: + operationId: ApplicationsSubscription.DELETE + description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}` + parameters: + description: regex = \/mp1\/v1\/applications\/.*\/subscriptions\/.*\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute + subscriptionId: 'TBC' + examples: + DnsRule: + value: + dnsRuleId: DnsRule1 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.3 + ttl: 300 + state: ACTIVE + DnsRules: + value: + - dnsRuleId: DnsRule1 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.3 + ttl: 300 + state: ACTIVE + ServiceInfo: + value: + serInstanceId: ServiceInstance123 + serName: ExampleService + serCategory: + href: catItem1 + id: id12345 + name: RNI + version: version1 + version: ServiceVersion1 + state: ACTIVE + transportId: Rest1 + transportInfo: + id: TransId12345 + name: REST + description: REST API + type: JSON + protocol: HTTP + version: '2.0' + endpoint: + uris: + - /meMp1/service/EntryPoint + addresses: + - host: 192.0.2.0 + port: '8080' + security: + oAuth2Info: + grantTypes: OAUTH2_CLIENT_CREDENTIALS + tokenEndpoint: /meMp1/security/TokenEndPoint + serializer: JSON + ServiceInfoList: + value: + - serInstanceId: ServiceInstance123 + serName: ExampleService + serCategory: + href: catItem1 + id: id12345 + name: RNI + version: version1 + version: ServiceVersion1 + state: ACTIVE + transportId: Rest1 + transportInfo: + id: TransId12345 + name: REST + description: REST API + type: JSON + protocol: HTTP + version: '2.0' + endpoint: + uris: + - /meMp1/service/EntryPoint + addresses: + - host: 192.0.2.0 + port: '8080' + security: + oAuth2Info: + grantTypes: OAUTH2_CLIENT_CREDENTIALS + tokenEndpoint: /meMp1/security/TokenEndPoint + serializer: JSON + TrafficRule: + value: + trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + srcAddress: + - 192.168.2.0/24 + - 192.168.3.0/24 + dstAddress: + - 192.127.4.100/32 + dstPort: + - 80 + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE + TrafficRules: + value: + - trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + srcAddress: + - 192.168.2.0/24 + - 192.168.3.0/24 + dstAddress: + - 192.127.4.100/32 + dstPort: + - 80 + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE \ No newline at end of file diff --git a/README.md b/README.md index f0d08e4..266b4fc 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ This repository contains OpenAPIs descriptions for the interfaces specified in E ## ETSI Forge Copyright statement -Copyright (c) ETSI 2018. +Copyright (c) ETSI 2019. This software is subject to copyrights owned by ETSI. Non-exclusive permission is hereby granted, free of charge, to copy, reproduce and amend this file diff --git a/definitions/AppTerminationNotification.MaxGracefulTimeout.yaml b/definitions/AppTerminationNotification.MaxGracefulTimeout.yaml deleted file mode 100644 index c9af197..0000000 --- a/definitions/AppTerminationNotification.MaxGracefulTimeout.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Maximum timeout value in seconds for graceful termination or graceful stop of an application instance. -type: string -format: uint32 -example: 10 \ No newline at end of file diff --git a/definitions/AppTerminationNotification.NotificationType.yaml b/definitions/AppTerminationNotification.NotificationType.yaml deleted file mode 100644 index fad4e18..0000000 --- a/definitions/AppTerminationNotification.NotificationType.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Shall be set to AppTerminationNotification. -type: string -example: AppTerminationNotification \ No newline at end of file diff --git a/definitions/AppTerminationNotification.yaml b/definitions/AppTerminationNotification.yaml deleted file mode 100644 index 6907848..0000000 --- a/definitions/AppTerminationNotification.yaml +++ /dev/null @@ -1,13 +0,0 @@ -description: This type represents the information that the mobile edge platform notifies the subscribed application instance about the corresponding application instance termination/stop. -type: object -required: - - notificationType - - maxGracefulTimeout - - _links -properties: - notificationType: - $ref: '#/definitions/AppTerminationNotification.NotificationType' - maxGracefulTimeout: - $ref: '#/definitions/AppTerminationNotification.MaxGracefulTimeout' - _links: - $ref: '#/definitions/Subscription' \ No newline at end of file diff --git a/definitions/AppTerminationNotificationSubscription.AppInstanceId.yaml b/definitions/AppTerminationNotificationSubscription.AppInstanceId.yaml deleted file mode 100644 index 263772a..0000000 --- a/definitions/AppTerminationNotificationSubscription.AppInstanceId.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: It is used as the filtering criterion for the subscribed events. -type: string -example: ID1 \ No newline at end of file diff --git a/definitions/AppTerminationNotificationSubscription.CallbackReference.yaml b/definitions/AppTerminationNotificationSubscription.CallbackReference.yaml deleted file mode 100644 index 34784d8..0000000 --- a/definitions/AppTerminationNotificationSubscription.CallbackReference.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: URI selected by the mobile edge application instance to receive notifications on the subscribed mobile edge application instance management information. This shall be included in both the request and the response. -type: string -format: uri \ No newline at end of file diff --git a/definitions/AppTerminationNotificationSubscription.SubscriptionType.yaml b/definitions/AppTerminationNotificationSubscription.SubscriptionType.yaml deleted file mode 100644 index 9c90313..0000000 --- a/definitions/AppTerminationNotificationSubscription.SubscriptionType.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Shall be set to AppTerminationNotificationSubscription. -type: string -example: AppTerminationNotificationSubscription \ No newline at end of file diff --git a/definitions/AppTerminationNotificationSubscription.yaml b/definitions/AppTerminationNotificationSubscription.yaml deleted file mode 100644 index 2049558..0000000 --- a/definitions/AppTerminationNotificationSubscription.yaml +++ /dev/null @@ -1,16 +0,0 @@ -description: This type represents the information that the mobile edge platform notifies the subscribed application instance about the corresponding application instance termination/stop. -type: object -required: - - subscriptionType - - callbackReference - - _links - - appInstanceId -properties: - subscriptionType: - $ref: '#/definitions/AppTerminationNotificationSubscription.SubscriptionType' - callbackReference: - $ref: '#/definitions/AppTerminationNotificationSubscription.CallbackReference' - _links: - $ref: '#/definitions/Self' - appInstanceId: - $ref: '#/definitions/AppTerminationNotificationSubscription.AppInstanceId' \ No newline at end of file diff --git a/definitions/CategoryRef.Href.yaml b/definitions/CategoryRef.Href.yaml deleted file mode 100644 index 046900c..0000000 --- a/definitions/CategoryRef.Href.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Reference of the catalogue -type: string -example: catItem1 \ No newline at end of file diff --git a/definitions/CategoryRef.Id.yaml b/definitions/CategoryRef.Id.yaml deleted file mode 100644 index 33ea8a9..0000000 --- a/definitions/CategoryRef.Id.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Unique identifier of the category -type: string -example: id12345 \ No newline at end of file diff --git a/definitions/CategoryRef.Name.yaml b/definitions/CategoryRef.Name.yaml deleted file mode 100644 index d80cd16..0000000 --- a/definitions/CategoryRef.Name.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Name of the category -type: string -example: RNI \ No newline at end of file diff --git a/definitions/CategoryRef.Version.yaml b/definitions/CategoryRef.Version.yaml deleted file mode 100644 index d1a38bc..0000000 --- a/definitions/CategoryRef.Version.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Category version -type: string -example: version1 \ No newline at end of file diff --git a/definitions/CategoryRef.yaml b/definitions/CategoryRef.yaml deleted file mode 100644 index 609b251..0000000 --- a/definitions/CategoryRef.yaml +++ /dev/null @@ -1,16 +0,0 @@ -description: This type represents the category reference -type: object -required: -- href -- id -- name -- version -properties: - href: - $ref: '#/definitions/CategoryRef.Href' - id: - $ref: '#/definitions/CategoryRef.Id' - name: - $ref: '#/definitions/CategoryRef.Name' - version: - $ref: '#/definitions/CategoryRef.Version' \ No newline at end of file diff --git a/definitions/CurrentTime.yaml b/definitions/CurrentTime.yaml deleted file mode 100644 index 808417b..0000000 --- a/definitions/CurrentTime.yaml +++ /dev/null @@ -1,28 +0,0 @@ -description: This type represents the information provided by the mobile edge platform in response to the Get Platform Time Request message. -type: object -required: - - nanoSeconds - - seconds - - timeSourceStatus -properties: - seconds: - type: integer - format: uint32 - description: >- - The seconds part of the time. Time is defined as Unix-time since - January 1, 1970, 00:00:00 UTC - example: 1577836800 - nanoSeconds: - type: integer - format: uint32 - description: >- - The nanoseconds part of the time. Time is defined as Unix-time since - January 1, 1970, 00:00:00 UTC - example: 0 - timeSourceStatus: - type: string - enum: - - TRACEABLE - - NONTRACEABLE - description: Platform Time Source status. 1 = TRACEABLE - time source is locked to the UTC time source. 2 = NONTRACEABLE - time source is not locked to the UTC time source - example: TRACEABLE \ No newline at end of file diff --git a/definitions/DestinationInterface.InterfaceType.yaml b/definitions/DestinationInterface.InterfaceType.yaml deleted file mode 100644 index b11c3e4..0000000 --- a/definitions/DestinationInterface.InterfaceType.yaml +++ /dev/null @@ -1,7 +0,0 @@ -description: Type of the interface -type: string -enum: - - TUNNEL - - MAC - - IP -example: TUNNEL \ No newline at end of file diff --git a/definitions/DestinationInterface.IpAddress.yaml b/definitions/DestinationInterface.IpAddress.yaml deleted file mode 100644 index bcf3e5d..0000000 --- a/definitions/DestinationInterface.IpAddress.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: IP address of the remote destination -type: string -example: '192.0.2.0' \ No newline at end of file diff --git a/definitions/DestinationInterface.MacAddress.yaml b/definitions/DestinationInterface.MacAddress.yaml deleted file mode 100644 index 09e056f..0000000 --- a/definitions/DestinationInterface.MacAddress.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Source address identifies the MAC address of the interface -type: string -example: '02-00-00-00-00-00' \ No newline at end of file diff --git a/definitions/DestinationInterface.yaml b/definitions/DestinationInterface.yaml deleted file mode 100644 index 04470f4..0000000 --- a/definitions/DestinationInterface.yaml +++ /dev/null @@ -1,15 +0,0 @@ -description: This type represents the destination interface. -type: object -required: -- interfaceType -properties: - interfaceType: - $ref: '#/definitions/DestinationInterface.InterfaceType' - tunnelInfo: - $ref: '#/definitions/TunnelInfo' - srcMacAddress: - $ref: '#/definitions/DestinationInterface.MacAddress' - dstMacAddress: - $ref: '#/definitions/DestinationInterface.MacAddress' - dstIpAddress: - $ref: '#/definitions/DestinationInterface.IpAddress' \ No newline at end of file diff --git a/definitions/DnsRule.DomainName.yaml b/definitions/DnsRule.DomainName.yaml deleted file mode 100644 index 05cdb90..0000000 --- a/definitions/DnsRule.DomainName.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: FQDN resolved by the DNS rule -type: string -example: www.example.com \ No newline at end of file diff --git a/definitions/DnsRule.Id.yaml b/definitions/DnsRule.Id.yaml deleted file mode 100644 index 61d9a85..0000000 --- a/definitions/DnsRule.Id.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Identifies the DNS Rule -type: string -example: dnsRule1 \ No newline at end of file diff --git a/definitions/DnsRule.IpAddress.yaml b/definitions/DnsRule.IpAddress.yaml deleted file mode 100644 index 9fd5497..0000000 --- a/definitions/DnsRule.IpAddress.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: IP address associated with the FQDN resolved by the DNS rule -type: string -example: "192.0.2.0" \ No newline at end of file diff --git a/definitions/DnsRule.IpAddressType.yaml b/definitions/DnsRule.IpAddressType.yaml deleted file mode 100644 index 93bb040..0000000 --- a/definitions/DnsRule.IpAddressType.yaml +++ /dev/null @@ -1,6 +0,0 @@ -description: IP address type -type: string -enum: - - IP_V6 - - IP_V4 -example: "IP_V6" \ No newline at end of file diff --git a/definitions/DnsRule.State.yaml b/definitions/DnsRule.State.yaml deleted file mode 100644 index 439f91f..0000000 --- a/definitions/DnsRule.State.yaml +++ /dev/null @@ -1,6 +0,0 @@ -description: DNS rule state -type: string -enum: - - ACTIVE - - INACTIVE -example: "ACTIVE" \ No newline at end of file diff --git a/definitions/DnsRule.Ttl.yaml b/definitions/DnsRule.Ttl.yaml deleted file mode 100644 index c442683..0000000 --- a/definitions/DnsRule.Ttl.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Time to live value -type: integer -format: uint32 -example: "?" \ No newline at end of file diff --git a/definitions/DnsRule.yaml b/definitions/DnsRule.yaml deleted file mode 100644 index 866433f..0000000 --- a/definitions/DnsRule.yaml +++ /dev/null @@ -1,21 +0,0 @@ -description: This type represents the general information of a DNS rule. -type: object -required: -- dnsRuleId -- domainName -- ipAddressType -- ipAddress -- state -properties: - dnsRuleId: - $ref: '#/definitions/DnsRule.Id' - domainName: - $ref: '#/definitions/DnsRule.DomainName' - ipAddressType: - $ref: '#/definitions/DnsRule.IpAddressType' - ipAddress: - $ref: '#/definitions/DnsRule.IpAddress' - ttl: - $ref: '#/definitions/DnsRule.Ttl' - state: - $ref: '#/definitions/DnsRule.State' \ No newline at end of file diff --git a/definitions/EndPointInfo.Address.Host.yaml b/definitions/EndPointInfo.Address.Host.yaml deleted file mode 100644 index d06e2b5..0000000 --- a/definitions/EndPointInfo.Address.Host.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Host portion of the address -type: string -example: '192.0.2.0' \ No newline at end of file diff --git a/definitions/EndPointInfo.Address.Port.yaml b/definitions/EndPointInfo.Address.Port.yaml deleted file mode 100644 index f41cc72..0000000 --- a/definitions/EndPointInfo.Address.Port.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Port portion of the address -type: integer -format: uint32 -example: '8080' \ No newline at end of file diff --git a/definitions/EndPointInfo.Address.yaml b/definitions/EndPointInfo.Address.yaml deleted file mode 100644 index 3db80c6..0000000 --- a/definitions/EndPointInfo.Address.yaml +++ /dev/null @@ -1,7 +0,0 @@ -description: A IP address and port pair -type: object -properties: - host: - $ref: '#/definitions/EndPointInfo.Address.Host' - port: - $ref: '#/definitions/EndPointInfo.Address.Port' \ No newline at end of file diff --git a/definitions/EndPointInfo.Addresses.yaml b/definitions/EndPointInfo.Addresses.yaml deleted file mode 100644 index a8673b0..0000000 --- a/definitions/EndPointInfo.Addresses.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Entry point information of the service as one or more pairs of IP address and port -type: array -items: - $ref: '#/definitions/EndPointInfo.Address' diff --git a/definitions/EndPointInfo.Alternative.yaml b/definitions/EndPointInfo.Alternative.yaml deleted file mode 100644 index aa1dfc9..0000000 --- a/definitions/EndPointInfo.Alternative.yaml +++ /dev/null @@ -1,2 +0,0 @@ -description: Entry point information of the service in a format defined by an implementation, or in an external specification. -type: object \ No newline at end of file diff --git a/definitions/EndPointInfo.Uri.yaml b/definitions/EndPointInfo.Uri.yaml deleted file mode 100644 index 5f48587..0000000 --- a/definitions/EndPointInfo.Uri.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Entry point information of the service -type: string -format: uri -example: '/meMp1/service/EntryPoint' \ No newline at end of file diff --git a/definitions/EndPointInfo.Uris.yaml b/definitions/EndPointInfo.Uris.yaml deleted file mode 100644 index 4fa1841..0000000 --- a/definitions/EndPointInfo.Uris.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Entry point information of the service as string, formatted according to URI syntax -type: array -items: - $ref: '#/definitions/EndPointInfo.Uri' \ No newline at end of file diff --git a/definitions/EndPointInfo.yaml b/definitions/EndPointInfo.yaml deleted file mode 100644 index 81094e5..0000000 --- a/definitions/EndPointInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -description: This type represents information about a transport endpoint -type: object -properties: - uris: - $ref: '#/definitions/EndPointInfo.Uris' - addresses: - $ref: '#/definitions/EndPointInfo.Addresses' - alternative: - $ref: '#/definitions/EndPointInfo.Alternative' \ No newline at end of file diff --git a/definitions/LinkType.yaml b/definitions/LinkType.yaml deleted file mode 100644 index f5bebcd..0000000 --- a/definitions/LinkType.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: URI referring to a resource -type: string -format: uri -readOnly: true -example: '/meMp1/example' \ No newline at end of file diff --git a/definitions/Mp1SubscriptionLinkList.Links.yaml b/definitions/Mp1SubscriptionLinkList.Links.yaml deleted file mode 100644 index 01a1c1d..0000000 --- a/definitions/Mp1SubscriptionLinkList.Links.yaml +++ /dev/null @@ -1,12 +0,0 @@ -description: Self-referring URI. -type: object -required: -- self -properties: - self: - $ref: '#/definitions/LinkType' - subscription: - description: Subscription list - type: array - items: - $ref: '#/definitions/Mp1SubscriptionLinkList.Subscription' \ No newline at end of file diff --git a/definitions/Mp1SubscriptionLinkList.Subscription.yaml b/definitions/Mp1SubscriptionLinkList.Subscription.yaml deleted file mode 100644 index 533fd3e..0000000 --- a/definitions/Mp1SubscriptionLinkList.Subscription.yaml +++ /dev/null @@ -1,14 +0,0 @@ -description: A link to a subscription. -type: object -required: -- href -- rel -properties: - href: - description: The URI referring to the subscription - type: string - format: uri - rel: - description: The values are as defined in the "subscriptionType" attribute for each different Mp1 event subscription data type. - type: string - diff --git a/definitions/Mp1SubscriptionLinkList.yaml b/definitions/Mp1SubscriptionLinkList.yaml deleted file mode 100644 index a1ae216..0000000 --- a/definitions/Mp1SubscriptionLinkList.yaml +++ /dev/null @@ -1,7 +0,0 @@ -description: This type represents a list of links related to currently existing subscriptions for a mobile edge application instance. This information is returned when sending a request to receive current subscriptions. -type: object -required: - - _links -properties: - _links: - $ref: '#/definitions/Mp1SubscriptionLinkList.Links' \ No newline at end of file diff --git a/definitions/Problem.detail.yaml b/definitions/Problem.detail.yaml deleted file mode 100644 index 01b9d2d..0000000 --- a/definitions/Problem.detail.yaml +++ /dev/null @@ -1,3 +0,0 @@ -type: string -description: >- - A human-readable explanation specific to this occurrence of the problem diff --git a/definitions/Problem.instance.yaml b/definitions/Problem.instance.yaml deleted file mode 100644 index d2c35fc..0000000 --- a/definitions/Problem.instance.yaml +++ /dev/null @@ -1,4 +0,0 @@ -type: string -format: uri -description: >- - A URI reference that identifies the specific occurrence of the problem diff --git a/definitions/Problem.status.yaml b/definitions/Problem.status.yaml deleted file mode 100644 index 3d99685..0000000 --- a/definitions/Problem.status.yaml +++ /dev/null @@ -1,4 +0,0 @@ -type: integer -format: uint32 -description: >- - The HTTP status code for this occurrence of the problem diff --git a/definitions/Problem.title.yaml b/definitions/Problem.title.yaml deleted file mode 100644 index b7894c4..0000000 --- a/definitions/Problem.title.yaml +++ /dev/null @@ -1,3 +0,0 @@ -type: string -description: >- - A short, human-readable summary of the problem type diff --git a/definitions/Problem.type.yaml b/definitions/Problem.type.yaml deleted file mode 100644 index 2b2edb6..0000000 --- a/definitions/Problem.type.yaml +++ /dev/null @@ -1,4 +0,0 @@ -type: string -format: uri -description: >- - A URI reference according to IETF RFC 3986 that identifies the problem type diff --git a/definitions/ProblemDetails.yaml b/definitions/ProblemDetails.yaml deleted file mode 100644 index 5d15937..0000000 --- a/definitions/ProblemDetails.yaml +++ /dev/null @@ -1,12 +0,0 @@ -type: object -properties: - type: - $ref: '#/definitions/Problem.type' - title: - $ref: '#/definitions/Problem.title' - status: - $ref: '#/definitions/Problem.status' - detail: - $ref: '#/definitions/Problem.detail' - instance: - $ref: '#/definitions/Problem.instance' diff --git a/definitions/SecurityInfo.OAuth2Info.GrantTypes.yaml b/definitions/SecurityInfo.OAuth2Info.GrantTypes.yaml deleted file mode 100644 index 8fa663a..0000000 --- a/definitions/SecurityInfo.OAuth2Info.GrantTypes.yaml +++ /dev/null @@ -1,8 +0,0 @@ -description: List of supported OAuth 2.0 grant types -type: string -enum: - - OAUTH2_AUTHORIZATION_CODE - - OAUTH2_IMPLICIT_GRANT - - OAUTH2_RESOURCE_OWNER - - OAUTH2_CLIENT_CREDENTIALS -example: OAUTH2_CLIENT_CREDENTIALS \ No newline at end of file diff --git a/definitions/SecurityInfo.OAuth2Info.TokenEndpoint.yaml b/definitions/SecurityInfo.OAuth2Info.TokenEndpoint.yaml deleted file mode 100644 index 4e7ac45..0000000 --- a/definitions/SecurityInfo.OAuth2Info.TokenEndpoint.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: The token endpoint -type: string -format: uri -example: '/meMp1/security/TokenEndPoint' \ No newline at end of file diff --git a/definitions/SecurityInfo.OAuth2Info.yaml b/definitions/SecurityInfo.OAuth2Info.yaml deleted file mode 100644 index 032b004..0000000 --- a/definitions/SecurityInfo.OAuth2Info.yaml +++ /dev/null @@ -1,9 +0,0 @@ -description: Parameters related to use of OAuth 2.0 -required: -- grantTypes -- tokenEndpoint -properties: - grantTypes: - $ref: '#/definitions/SecurityInfo.OAuth2Info.GrantTypes' - tokenEndpoint: - $ref: '#/definitions/SecurityInfo.OAuth2Info.TokenEndpoint' \ No newline at end of file diff --git a/definitions/SecurityInfo.yaml b/definitions/SecurityInfo.yaml deleted file mode 100644 index bcc5def..0000000 --- a/definitions/SecurityInfo.yaml +++ /dev/null @@ -1,7 +0,0 @@ -description: This type represents security information related to a transport -type: object -required: -- oAuth2Info -properties: - oAuth2Info: - $ref: '#/definitions/SecurityInfo.OAuth2Info' \ No newline at end of file diff --git a/definitions/Self.yaml b/definitions/Self.yaml deleted file mode 100644 index 90ff743..0000000 --- a/definitions/Self.yaml +++ /dev/null @@ -1,8 +0,0 @@ -description: Self-referring URI. -type: object -required: -- self -properties: - self: - $ref: '#/definitions/LinkType' -readOnly: true \ No newline at end of file diff --git a/definitions/SerAvailabilityNotificationSubscription.CallbackReference.yaml b/definitions/SerAvailabilityNotificationSubscription.CallbackReference.yaml deleted file mode 100644 index c997df3..0000000 --- a/definitions/SerAvailabilityNotificationSubscription.CallbackReference.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: URI selected by the mobile edge application instance to receive notifications on the subscribed mobile edge service availability information. This shall be included in both the request and the response. -type: string -format: uri \ No newline at end of file diff --git a/definitions/SerAvailabilityNotificationSubscription.SubscriptionType.yaml b/definitions/SerAvailabilityNotificationSubscription.SubscriptionType.yaml deleted file mode 100644 index 48fa696..0000000 --- a/definitions/SerAvailabilityNotificationSubscription.SubscriptionType.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Shall be set to SerAvailabilityNotificationSubscription. -type: string -example: SerAvailabilityNotificationSubscription \ No newline at end of file diff --git a/definitions/SerAvailabilityNotificationSubscription.yaml b/definitions/SerAvailabilityNotificationSubscription.yaml deleted file mode 100644 index 8eb4b9c..0000000 --- a/definitions/SerAvailabilityNotificationSubscription.yaml +++ /dev/null @@ -1,16 +0,0 @@ -description: This type represents a subscription to the notifications from the mobile edge platform regarding the availability of a mobile edge service or a list of mobile edge services. -type: object -required: - - subscriptionType - - callbackReference - - _links - - filteringCriteria -properties: - subscriptionType: - $ref: '#/definitions/SerAvailabilityNotificationSubscription.SubscriptionType' - callbackReference: - $ref: '#/definitions/SerAvailabilityNotificationSubscription.CallbackReference' - _links: - $ref: '#/definitions/Self' - filteringCriteria: - $ref: '#/definitions/ServiceInfo' \ No newline at end of file diff --git a/definitions/SerializerTypes.yaml b/definitions/SerializerTypes.yaml deleted file mode 100644 index 280822a..0000000 --- a/definitions/SerializerTypes.yaml +++ /dev/null @@ -1,7 +0,0 @@ -description: The enumeration SerializerTypes represents types of serializers -type: string -enum: - - JSON - - XML - - PROTOBUF3 -example: JSON \ No newline at end of file diff --git a/definitions/ServiceAvailabilityNotification.NotificationType.yaml b/definitions/ServiceAvailabilityNotification.NotificationType.yaml deleted file mode 100644 index 3198831..0000000 --- a/definitions/ServiceAvailabilityNotification.NotificationType.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Shall be set to SerAvailabilityNotification. -type: string -example: SerAvailabilityNotification \ No newline at end of file diff --git a/definitions/ServiceAvailabilityNotification.yaml b/definitions/ServiceAvailabilityNotification.yaml deleted file mode 100644 index bb7ac47..0000000 --- a/definitions/ServiceAvailabilityNotification.yaml +++ /dev/null @@ -1,16 +0,0 @@ -description: This type represents a subscription to the notifications from the mobile edge platform regarding the availability of a mobile edge service or a list of mobile edge services. -type: object -required: - - notificationType - - services - - _links -properties: - notificationType: - $ref: '#/definitions/ServiceAvailabilityNotification.NotificationType' - services: - description: This is the information about the services whose availability has changed. - type: array - items: - $ref: '#/definitions/ServiceInfo' - _links: - $ref: '#/definitions/Subscription' \ No newline at end of file diff --git a/definitions/ServiceInfo.SerInstanceId.yaml b/definitions/ServiceInfo.SerInstanceId.yaml deleted file mode 100644 index 04f4f08..0000000 --- a/definitions/ServiceInfo.SerInstanceId.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Identifier of the service instance assigned by the MEPM / mobile edge platform. -type: string -example: ServiceInstance123 \ No newline at end of file diff --git a/definitions/ServiceInfo.SerName.yaml b/definitions/ServiceInfo.SerName.yaml deleted file mode 100644 index 17c161b..0000000 --- a/definitions/ServiceInfo.SerName.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: The name of the service. This is how the service producing mobile edge application identifies the service instance it produces. -type: string -example: ExampleService \ No newline at end of file diff --git a/definitions/ServiceInfo.State.yaml b/definitions/ServiceInfo.State.yaml deleted file mode 100644 index d9a3e48..0000000 --- a/definitions/ServiceInfo.State.yaml +++ /dev/null @@ -1,6 +0,0 @@ -description: Contains the state -type: string -enum: - - ACTIVE - - INACTIVE -example: ACTIVE \ No newline at end of file diff --git a/definitions/ServiceInfo.TransportId.yaml b/definitions/ServiceInfo.TransportId.yaml deleted file mode 100644 index 327bcb6..0000000 --- a/definitions/ServiceInfo.TransportId.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Identifier of the platform-provided transport to be used by the service. Valid identifiers may be obtained using the "Transport information query" procedure. May be present in POST requests to signal the use of a platform-provided transport for the service, and shall be absent otherwise. -type: string -example: Rest1 \ No newline at end of file diff --git a/definitions/ServiceInfo.Version.yaml b/definitions/ServiceInfo.Version.yaml deleted file mode 100644 index b80d21d..0000000 --- a/definitions/ServiceInfo.Version.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Service version -type: string -example: ServiceVersion1 \ No newline at end of file diff --git a/definitions/ServiceInfo.yaml b/definitions/ServiceInfo.yaml deleted file mode 100644 index be29fc7..0000000 --- a/definitions/ServiceInfo.yaml +++ /dev/null @@ -1,24 +0,0 @@ -description: This type represents the general information of a mobile edge service. -type: object -required: -- serName -- version -- state -- serializer -properties: - serInstanceId: - $ref: '#/definitions/ServiceInfo.SerInstanceId' - serName: - $ref: '#/definitions/ServiceInfo.SerName' - serCategory: - $ref: '#/definitions/CategoryRef' - version: - $ref: '#/definitions/ServiceInfo.Version' - state: - $ref: '#/definitions/ServiceInfo.State' - transportId: - $ref: '#/definitions/ServiceInfo.TransportId' - transportInfo: - $ref: '#/definitions/TransportInfo' - serializer: - $ref: '#/definitions/SerializerTypes' \ No newline at end of file diff --git a/definitions/Subscription.yaml b/definitions/Subscription.yaml deleted file mode 100644 index c8b99b5..0000000 --- a/definitions/Subscription.yaml +++ /dev/null @@ -1,7 +0,0 @@ -description: A link to the related subscription -type: object -required: -- subscription -properties: - subscription: - $ref: '#/definitions/LinkType' \ No newline at end of file diff --git a/definitions/TimingCaps.NtpServers.AuthenticationKeyNum.yaml b/definitions/TimingCaps.NtpServers.AuthenticationKeyNum.yaml deleted file mode 100644 index e3ee464..0000000 --- a/definitions/TimingCaps.NtpServers.AuthenticationKeyNum.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Authentication key number -type: integer -format: uint32 -example: 1 \ No newline at end of file diff --git a/definitions/TimingCaps.NtpServers.AuthenticationOption.yaml b/definitions/TimingCaps.NtpServers.AuthenticationOption.yaml deleted file mode 100644 index 5a7039d..0000000 --- a/definitions/TimingCaps.NtpServers.AuthenticationOption.yaml +++ /dev/null @@ -1,7 +0,0 @@ -description: NTP authentication option -type: string -enum: - - NONE - - SYMMETRIC_KEY - - AUTO_KEY -example: NONE \ No newline at end of file diff --git a/definitions/TimingCaps.NtpServers.DelayReqMaxRate.yaml b/definitions/TimingCaps.NtpServers.DelayReqMaxRate.yaml deleted file mode 100644 index c2e4ae9..0000000 --- a/definitions/TimingCaps.NtpServers.DelayReqMaxRate.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Acceptable maximum rate of the Delay_Req messages in packets per second -type: integer -format: uint32 -example: 10 \ No newline at end of file diff --git a/definitions/TimingCaps.NtpServers.LocalPriority.yaml b/definitions/TimingCaps.NtpServers.LocalPriority.yaml deleted file mode 100644 index f723a21..0000000 --- a/definitions/TimingCaps.NtpServers.LocalPriority.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: NTP server local priority -type: integer -format: uint32 -example: 1 \ No newline at end of file diff --git a/definitions/TimingCaps.NtpServers.MaxPollingInterval.yaml b/definitions/TimingCaps.NtpServers.MaxPollingInterval.yaml deleted file mode 100644 index 7a8fca9..0000000 --- a/definitions/TimingCaps.NtpServers.MaxPollingInterval.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Maximum poll interval for NTP messages, in seconds as a power of two. Range 3...17 -type: integer -format: uint32 -example: 17 \ No newline at end of file diff --git a/definitions/TimingCaps.NtpServers.MinPollingInterval.yaml b/definitions/TimingCaps.NtpServers.MinPollingInterval.yaml deleted file mode 100644 index a2cbd7a..0000000 --- a/definitions/TimingCaps.NtpServers.MinPollingInterval.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Minimum poll interval for NTP messages, in seconds as a power of two. Range 3...17 -type: integer -format: uint32 -example: 3 \ No newline at end of file diff --git a/definitions/TimingCaps.NtpServers.NtpServerAddr.yaml b/definitions/TimingCaps.NtpServers.NtpServerAddr.yaml deleted file mode 100644 index 3cf25fb..0000000 --- a/definitions/TimingCaps.NtpServers.NtpServerAddr.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: NTP server address -type: string -example: 192.0.2.0 \ No newline at end of file diff --git a/definitions/TimingCaps.NtpServers.NtpServerAddrType.yaml b/definitions/TimingCaps.NtpServers.NtpServerAddrType.yaml deleted file mode 100644 index ffe8ffe..0000000 --- a/definitions/TimingCaps.NtpServers.NtpServerAddrType.yaml +++ /dev/null @@ -1,6 +0,0 @@ -description: Address type of NTP server -type: string -enum: - - IP_ADDRESS - - DNS_NAME -example: IP_ADDRESS \ No newline at end of file diff --git a/definitions/TimingCaps.NtpServers.PtpMasterIpAddress.yaml b/definitions/TimingCaps.NtpServers.PtpMasterIpAddress.yaml deleted file mode 100644 index 2c022d5..0000000 --- a/definitions/TimingCaps.NtpServers.PtpMasterIpAddress.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: PTP Master IP Address -type: string -example: 192.0.2.0 \ No newline at end of file diff --git a/definitions/TimingCaps.NtpServers.PtpMasterLocalPriority.yaml b/definitions/TimingCaps.NtpServers.PtpMasterLocalPriority.yaml deleted file mode 100644 index c2a33ac..0000000 --- a/definitions/TimingCaps.NtpServers.PtpMasterLocalPriority.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: PTP Master local priority -type: integer -format: uint32 -example: 1 \ No newline at end of file diff --git a/definitions/TimingCaps.NtpServers.yaml b/definitions/TimingCaps.NtpServers.yaml deleted file mode 100644 index 2296c18..0000000 --- a/definitions/TimingCaps.NtpServers.yaml +++ /dev/null @@ -1,25 +0,0 @@ -description: NTP server detail. -type: object -required: - - ntpServerAddrType - - ntpServerAddr - - minPollingInterval - - maxPollingInterval - - localPriority - - authenticationOption - - authenticationKeyNum -properties: - ntpServerAddrType: - $ref: '#/definitions/TimingCaps.NtpServers.NtpServerAddrType' - ntpServerAddr: - $ref: '#/definitions/TimingCaps.NtpServers.NtpServerAddr' - minPollingInterval: - $ref: '#/definitions/TimingCaps.NtpServers.MinPollingInterval' - maxPollingInterval: - $ref: '#/definitions/TimingCaps.NtpServers.MaxPollingInterval' - localPriority: - $ref: '#/definitions/TimingCaps.NtpServers.LocalPriority' - authenticationOption: - $ref: '#/definitions/TimingCaps.NtpServers.AuthenticationOption' - authenticationKeyNum: - $ref: '#/definitions/TimingCaps.NtpServers.AuthenticationKeyNum' \ No newline at end of file diff --git a/definitions/TimingCaps.PtpMasters.yaml b/definitions/TimingCaps.PtpMasters.yaml deleted file mode 100644 index 5d68afe..0000000 --- a/definitions/TimingCaps.PtpMasters.yaml +++ /dev/null @@ -1,13 +0,0 @@ -description: NTP server detail. -type: object -required: - - ptpMasterIpAddress - - ptpMasterLocalPriority - - delayReqMaxRate -properties: - ptpMasterIpAddress: - $ref: '#/definitions/TimingCaps.NtpServers.PtpMasterIpAddress' - ptpMasterLocalPriority: - $ref: '#/definitions/TimingCaps.NtpServers.PtpMasterLocalPriority' - delayReqMaxRate: - $ref: '#/definitions/TimingCaps.NtpServers.DelayReqMaxRate' \ No newline at end of file diff --git a/definitions/TimingCaps.TimeStamp.yaml b/definitions/TimingCaps.TimeStamp.yaml deleted file mode 100644 index 9b5f059..0000000 --- a/definitions/TimingCaps.TimeStamp.yaml +++ /dev/null @@ -1,20 +0,0 @@ -description: time -type: object -required: - - nanoSeconds - - seconds -properties: - seconds: - type: integer - format: uint32 - description: >- - The seconds part of the time. Time is defined as Unix-time since - January 1, 1970, 00:00:00 UTC - example: 1577836800 - nanoSeconds: - type: integer - format: uint32 - description: >- - The nanoseconds part of the time. Time is defined as Unix-time since - January 1, 1970, 00:00:00 UTC - example: 0 \ No newline at end of file diff --git a/definitions/TimingCaps.yaml b/definitions/TimingCaps.yaml deleted file mode 100644 index 017affc..0000000 --- a/definitions/TimingCaps.yaml +++ /dev/null @@ -1,15 +0,0 @@ -description: This type represents the information provided by the mobile edge platform in response to the Timing capabilities Query message. -type: object -properties: - timeStamp: - $ref: '#/definitions/TimingCaps.TimeStamp' - ntpServers: - description: Available NTP servers - type: array - items: - $ref: '#/definitions/TimingCaps.NtpServers' - ptpMasters: - description: Available PTP Masters - type: array - items: - $ref: '#/definitions/TimingCaps.PtpMasters' \ No newline at end of file diff --git a/definitions/TrafficFilter.Address.yaml b/definitions/TrafficFilter.Address.yaml deleted file mode 100644 index 16a8729..0000000 --- a/definitions/TrafficFilter.Address.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Identify the traffic ip address. -type: string -example: 192.168.1.1 \ No newline at end of file diff --git a/definitions/TrafficFilter.DSCP.yaml b/definitions/TrafficFilter.DSCP.yaml deleted file mode 100644 index 5f37bf2..0000000 --- a/definitions/TrafficFilter.DSCP.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Used to match all IPv4 packets that have the same Differentiated Services Code Point (DSCP) -type: integer -format: uint32 -example: 0 \ No newline at end of file diff --git a/definitions/TrafficFilter.Port.yaml b/definitions/TrafficFilter.Port.yaml deleted file mode 100644 index 6d54c08..0000000 --- a/definitions/TrafficFilter.Port.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: A port -type: string -example: "8080" \ No newline at end of file diff --git a/definitions/TrafficFilter.Protocol.yaml b/definitions/TrafficFilter.Protocol.yaml deleted file mode 100644 index 5975477..0000000 --- a/definitions/TrafficFilter.Protocol.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Protocol of the traffic filter -type: string -example: "?" \ No newline at end of file diff --git a/definitions/TrafficFilter.QCI.yaml b/definitions/TrafficFilter.QCI.yaml deleted file mode 100644 index d7f7f40..0000000 --- a/definitions/TrafficFilter.QCI.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Used to match all packets that have the same Quality Class Indicator (QCI). -type: integer -format: uint32 -example: 1 \ No newline at end of file diff --git a/definitions/TrafficFilter.TC.yaml b/definitions/TrafficFilter.TC.yaml deleted file mode 100644 index 46307d7..0000000 --- a/definitions/TrafficFilter.TC.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Used to match all IPv6 packets that have the same Traffic Class. -type: integer -format: uint32 -example: 1 \ No newline at end of file diff --git a/definitions/TrafficFilter.Token.yaml b/definitions/TrafficFilter.Token.yaml deleted file mode 100644 index 3a57fe5..0000000 --- a/definitions/TrafficFilter.Token.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Used for token based traffic rule -type: string -example: "?" \ No newline at end of file diff --git a/definitions/TrafficFilter.TunnelAddress.yaml b/definitions/TrafficFilter.TunnelAddress.yaml deleted file mode 100644 index 5d12424..0000000 --- a/definitions/TrafficFilter.TunnelAddress.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Used for GTP tunnel based traffic rule -type: string -example: "?" \ No newline at end of file diff --git a/definitions/TrafficFilter.TunnelPort.yaml b/definitions/TrafficFilter.TunnelPort.yaml deleted file mode 100644 index 5d12424..0000000 --- a/definitions/TrafficFilter.TunnelPort.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Used for GTP tunnel based traffic rule -type: string -example: "?" \ No newline at end of file diff --git a/definitions/TrafficFilter.yaml b/definitions/TrafficFilter.yaml deleted file mode 100644 index 594a237..0000000 --- a/definitions/TrafficFilter.yaml +++ /dev/null @@ -1,59 +0,0 @@ -description: This type represents the traffic filter. -type: object -properties: - srcAddress: - description: An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes. - type: array - items: - $ref: '#/definitions/TrafficFilter.Address' - dstAddress: - description: An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes. - type: array - items: - $ref: '#/definitions/TrafficFilter.Address' - srcPort: - description: A port or a range of ports - type: array - items: - $ref: '#/definitions/TrafficFilter.Port' - dstPort: - description: A port or a range of ports - type: array - items: - $ref: '#/definitions/TrafficFilter.Port' - protocol: - description: Specify the protocol of the traffic filter - type: array - items: - $ref: '#/definitions/TrafficFilter.Protocol' - token: - description: Used for token based traffic rule - type: array - items: - $ref: '#/definitions/TrafficFilter.Token' - srcTunnelAddress: - description: Used for GTP tunnel based traffic rule - type: array - items: - $ref: '#/definitions/TrafficFilter.TunnelAddress' - tgtTunnelAddress: - description: Used for GTP tunnel based traffic rule - type: array - items: - $ref: '#/definitions/TrafficFilter.TunnelAddress' - srcTunnelPort: - description: Used for GTP tunnel based traffic rule - type: array - items: - $ref: '#/definitions/TrafficFilter.TunnelPort' - dstTunnelPort: - description: Used for GTP tunnel based traffic rule - type: array - items: - $ref: '#/definitions/TrafficFilter.TunnelPort' - qCI: - $ref: '#/definitions/TrafficFilter.QCI' - dSCP: - $ref: '#/definitions/TrafficFilter.DSCP' - tC: - $ref: '#/definitions/TrafficFilter.TC' \ No newline at end of file diff --git a/definitions/TrafficRule.Action.yaml b/definitions/TrafficRule.Action.yaml deleted file mode 100644 index 4d9ad58..0000000 --- a/definitions/TrafficRule.Action.yaml +++ /dev/null @@ -1,10 +0,0 @@ -description: The action of the ME host data plane when a packet matches the trafficFilter -type: string -enum: - - DROP - - FORWARD_DECAPSULATED - - FORWARD_AS_IS - - PASSTHROUGH - - DUPLICATE_DECAPSULATED - - DUPLICATE_AS_IS -example: DROP \ No newline at end of file diff --git a/definitions/TrafficRule.FilterType.yaml b/definitions/TrafficRule.FilterType.yaml deleted file mode 100644 index 7bd28f1..0000000 --- a/definitions/TrafficRule.FilterType.yaml +++ /dev/null @@ -1,6 +0,0 @@ -description: Definition of filter per FLOW or PACKET. If flow the filter match UE->EPC packet and the reverse packet is handled in the same context -type: string -enum: - - FLOW - - PACKET -example: FLOW \ No newline at end of file diff --git a/definitions/TrafficRule.Id.yaml b/definitions/TrafficRule.Id.yaml deleted file mode 100644 index d3a663a..0000000 --- a/definitions/TrafficRule.Id.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Identify the traffic rule. -type: string -example: TrafficRule1 \ No newline at end of file diff --git a/definitions/TrafficRule.Priority.yaml b/definitions/TrafficRule.Priority.yaml deleted file mode 100644 index a4bb783..0000000 --- a/definitions/TrafficRule.Priority.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Priority of this traffic rule. If traffic rule conflicts, the one with higher priority take precedence -type: integer -format: uint32 -example: 1 \ No newline at end of file diff --git a/definitions/TrafficRule.State.yaml b/definitions/TrafficRule.State.yaml deleted file mode 100644 index 2db61bc..0000000 --- a/definitions/TrafficRule.State.yaml +++ /dev/null @@ -1,6 +0,0 @@ -description: Contains the traffic rule state -type: string -enum: - - ACTIVE - - INACTIVE -example: ACTIVE \ No newline at end of file diff --git a/definitions/TrafficRule.yaml b/definitions/TrafficRule.yaml deleted file mode 100644 index 07209e3..0000000 --- a/definitions/TrafficRule.yaml +++ /dev/null @@ -1,24 +0,0 @@ -description: This type represents the general information of a traffic rule. -type: object -required: -- trafficRuleId -- filterType -- priority -- trafficFilter -- action -- state -properties: - trafficRuleId: - $ref: '#/definitions/TrafficRule.Id' - filterType: - $ref: '#/definitions/TrafficRule.FilterType' - priority: - $ref: '#/definitions/TrafficRule.Priority' - trafficFilter: - $ref: '#/definitions/TrafficFilter' - action: - $ref: '#/definitions/TrafficRule.Action' - dstInterface: - $ref: '#/definitions/DestinationInterface' - state: - $ref: '#/definitions/TrafficRule.State' \ No newline at end of file diff --git a/definitions/TransportInfo.Description.yaml b/definitions/TransportInfo.Description.yaml deleted file mode 100644 index 1d93442..0000000 --- a/definitions/TransportInfo.Description.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Human-readable description of this transport -type: string -example: REST API \ No newline at end of file diff --git a/definitions/TransportInfo.Id.yaml b/definitions/TransportInfo.Id.yaml deleted file mode 100644 index 19076fa..0000000 --- a/definitions/TransportInfo.Id.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: The identifier of this transport -type: string -example: TransId12345 \ No newline at end of file diff --git a/definitions/TransportInfo.ImplSpecificInfo.yaml b/definitions/TransportInfo.ImplSpecificInfo.yaml deleted file mode 100644 index 7c0cce8..0000000 --- a/definitions/TransportInfo.ImplSpecificInfo.yaml +++ /dev/null @@ -1,2 +0,0 @@ -description: Additional implementation specific details of the transport -type: object \ No newline at end of file diff --git a/definitions/TransportInfo.Name.yaml b/definitions/TransportInfo.Name.yaml deleted file mode 100644 index a58e5e3..0000000 --- a/definitions/TransportInfo.Name.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: The name of this transport -type: string -example: REST \ No newline at end of file diff --git a/definitions/TransportInfo.Protocol.yaml b/definitions/TransportInfo.Protocol.yaml deleted file mode 100644 index db78349..0000000 --- a/definitions/TransportInfo.Protocol.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: The name of the protocol used. Shall be set to HTTP for a REST API. -type: string -example: HTTP \ No newline at end of file diff --git a/definitions/TransportInfo.Version.yaml b/definitions/TransportInfo.Version.yaml deleted file mode 100644 index a4866da..0000000 --- a/definitions/TransportInfo.Version.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: The version of the protocol used -type: string -example: '2.0' \ No newline at end of file diff --git a/definitions/TransportInfo.yaml b/definitions/TransportInfo.yaml deleted file mode 100644 index a34a6c1..0000000 --- a/definitions/TransportInfo.yaml +++ /dev/null @@ -1,29 +0,0 @@ -description: This type represents the general information of a mobile edge service. -type: object -required: -- id -- name -- type -- protocol -- version -- endpoint -- security -properties: - id: - $ref: '#/definitions/TransportInfo.Id' - name: - $ref: '#/definitions/TransportInfo.Name' - description: - $ref: '#/definitions/TransportInfo.Description' - type: - $ref: '#/definitions/TransportTypes' - protocol: - $ref: '#/definitions/TransportInfo.Protocol' - version: - $ref: '#/definitions/TransportInfo.Version' - endpoint: - $ref: '#/definitions/EndPointInfo' - security: - $ref: '#/definitions/SecurityInfo' - implSpecificInfo: - $ref: '#/definitions/TransportInfo.ImplSpecificInfo' \ No newline at end of file diff --git a/definitions/TransportTypes.yaml b/definitions/TransportTypes.yaml deleted file mode 100644 index 30b114d..0000000 --- a/definitions/TransportTypes.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: The enumeration TransportTypes represents types of transports -type: string -enum: - - REST_HTTP - - MB_TOPIC_BASED - - MB_ROUTING - - MB_PUBSUB - - RPC - - RPC_STREAMING - - WEBSOCKET -example: JSON \ No newline at end of file diff --git a/definitions/TunnelInfo.TunnelDstAddress.yaml b/definitions/TunnelInfo.TunnelDstAddress.yaml deleted file mode 100644 index a4dbeaa..0000000 --- a/definitions/TunnelInfo.TunnelDstAddress.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Destination address of the tunnel -type: string -example: "?" \ No newline at end of file diff --git a/definitions/TunnelInfo.TunnelSrcAddress.yaml b/definitions/TunnelInfo.TunnelSrcAddress.yaml deleted file mode 100644 index 0e63241..0000000 --- a/definitions/TunnelInfo.TunnelSrcAddress.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Source address of the tunnel -type: string -example: "?" \ No newline at end of file diff --git a/definitions/TunnelInfo.TunnelType.yaml b/definitions/TunnelInfo.TunnelType.yaml deleted file mode 100644 index 2766992..0000000 --- a/definitions/TunnelInfo.TunnelType.yaml +++ /dev/null @@ -1,6 +0,0 @@ -description: This type represents the tunnel information. -type: string -enum: - - GTP_U - - GRE -example: GTP_U \ No newline at end of file diff --git a/definitions/TunnelInfo.yaml b/definitions/TunnelInfo.yaml deleted file mode 100644 index 3df7367..0000000 --- a/definitions/TunnelInfo.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: This type represents the tunnel information. -type: object -required: -- tunnelType -properties: - tunnelType: - $ref: '#/definitions/TunnelInfo.TunnelType' - tunnelDstAddress: - $ref: '#/definitions/TunnelInfo.TunnelDstAddress' - tunnelSrcAddress: - $ref: '#/definitions/TunnelInfo.TunnelSrcAddress' \ No newline at end of file diff --git a/definitions/index.yaml b/definitions/index.yaml deleted file mode 100644 index ce8aef3..0000000 --- a/definitions/index.yaml +++ /dev/null @@ -1,200 +0,0 @@ -AppTerminationNotification.MaxGracefulTimeout: - $ref: ./AppTerminationNotification.MaxGracefulTimeout.yaml -AppTerminationNotification.NotificationType: - $ref: ./AppTerminationNotification.NotificationType.yaml -AppTerminationNotification: - $ref: ./AppTerminationNotification.yaml -AppTerminationNotificationSubscription.AppInstanceId: - $ref: ./AppTerminationNotificationSubscription.AppInstanceId.yaml -AppTerminationNotificationSubscription.CallbackReference: - $ref: ./AppTerminationNotificationSubscription.CallbackReference.yaml -AppTerminationNotificationSubscription: - $ref: ./AppTerminationNotificationSubscription.yaml -AppTerminationNotificationSubscription.SubscriptionType: - $ref: ./AppTerminationNotificationSubscription.SubscriptionType.yaml -CategoryRef.Href: - $ref: ./CategoryRef.Href.yaml -CategoryRef.Id: - $ref: ./CategoryRef.Id.yaml -CategoryRef.Name: - $ref: ./CategoryRef.Name.yaml -CategoryRef.Version: - $ref: ./CategoryRef.Version.yaml -CategoryRef: - $ref: ./CategoryRef.yaml -CurrentTime: - $ref: ./CurrentTime.yaml -DestinationInterface.InterfaceType: - $ref: ./DestinationInterface.InterfaceType.yaml -DestinationInterface.IpAddress: - $ref: ./DestinationInterface.IpAddress.yaml -DestinationInterface.MacAddress: - $ref: ./DestinationInterface.MacAddress.yaml -DestinationInterface: - $ref: ./DestinationInterface.yaml -DnsRule.DomainName: - $ref: ./DnsRule.DomainName.yaml -DnsRule.Id: - $ref: ./DnsRule.Id.yaml -DnsRule.IpAddress: - $ref: ./DnsRule.IpAddress.yaml -DnsRule.IpAddressType: - $ref: ./DnsRule.IpAddressType.yaml -DnsRule.State: - $ref: ./DnsRule.State.yaml -DnsRule.Ttl: - $ref: ./DnsRule.Ttl.yaml -DnsRule: - $ref: ./DnsRule.yaml -EndPointInfo.Address.Host: - $ref: ./EndPointInfo.Address.Host.yaml -EndPointInfo.Address.Port: - $ref: ./EndPointInfo.Address.Port.yaml -EndPointInfo.Address: - $ref: ./EndPointInfo.Address.yaml -EndPointInfo.Addresses: - $ref: ./EndPointInfo.Addresses.yaml -EndPointInfo.Alternative: - $ref: ./EndPointInfo.Alternative.yaml -EndPointInfo.Uri: - $ref: ./EndPointInfo.Uri.yaml -EndPointInfo.Uris: - $ref: ./EndPointInfo.Uris.yaml -EndPointInfo: - $ref: ./EndPointInfo.yaml -LinkType: - $ref: ./LinkType.yaml -Mp1SubscriptionLinkList.Links: - $ref: ./Mp1SubscriptionLinkList.Links.yaml -Mp1SubscriptionLinkList.Subscription: - $ref: ./Mp1SubscriptionLinkList.Subscription.yaml -Mp1SubscriptionLinkList: - $ref: ./Mp1SubscriptionLinkList.yaml -ProblemDetails: - $ref: ./ProblemDetails.yaml -Problem.detail: - $ref: ./Problem.detail.yaml -Problem.instance: - $ref: ./Problem.instance.yaml -Problem.status: - $ref: ./Problem.status.yaml -Problem.title: - $ref: ./Problem.title.yaml -Problem.type: - $ref: ./Problem.type.yaml -SecurityInfo.OAuth2Info.GrantTypes: - $ref: ./SecurityInfo.OAuth2Info.GrantTypes.yaml -SecurityInfo.OAuth2Info.TokenEndpoint: - $ref: ./SecurityInfo.OAuth2Info.TokenEndpoint.yaml -SecurityInfo.OAuth2Info: - $ref: ./SecurityInfo.OAuth2Info.yaml -SecurityInfo: - $ref: ./SecurityInfo.yaml -Self: - $ref: ./Self.yaml -SerAvailabilityNotificationSubscription.CallbackReference: - $ref: ./SerAvailabilityNotificationSubscription.CallbackReference.yaml -SerAvailabilityNotificationSubscription: - $ref: ./SerAvailabilityNotificationSubscription.yaml -SerAvailabilityNotificationSubscription.SubscriptionType: - $ref: ./SerAvailabilityNotificationSubscription.SubscriptionType.yaml -SerializerTypes: - $ref: ./SerializerTypes.yaml -ServiceInfo.SerInstanceId: - $ref: ./ServiceInfo.SerInstanceId.yaml -ServiceInfo.SerName: - $ref: ./ServiceInfo.SerName.yaml -ServiceInfo.State: - $ref: ./ServiceInfo.State.yaml -ServiceInfo.TransportId: - $ref: ./ServiceInfo.TransportId.yaml -ServiceInfo.Version: - $ref: ./ServiceInfo.Version.yaml -ServiceInfo: - $ref: ./ServiceInfo.yaml -Subscription: - $ref: ./Subscription.yaml -TimingCaps.NtpServers.AuthenticationKeyNum: - $ref: ./TimingCaps.NtpServers.AuthenticationKeyNum.yaml -TimingCaps.NtpServers.AuthenticationOption: - $ref: ./TimingCaps.NtpServers.AuthenticationOption.yaml -TimingCaps.NtpServers.DelayReqMaxRate: - $ref: ./TimingCaps.NtpServers.DelayReqMaxRate.yaml -TimingCaps.NtpServers.LocalPriority: - $ref: ./TimingCaps.NtpServers.LocalPriority.yaml -TimingCaps.NtpServers.MaxPollingInterval: - $ref: ./TimingCaps.NtpServers.MaxPollingInterval.yaml -TimingCaps.NtpServers.MinPollingInterval: - $ref: ./TimingCaps.NtpServers.MinPollingInterval.yaml -TimingCaps.NtpServers.NtpServerAddr: - $ref: ./TimingCaps.NtpServers.NtpServerAddr.yaml -TimingCaps.NtpServers.NtpServerAddrType: - $ref: ./TimingCaps.NtpServers.NtpServerAddrType.yaml -TimingCaps.NtpServers.PtpMasterIpAddress: - $ref: ./TimingCaps.NtpServers.PtpMasterIpAddress.yaml -TimingCaps.NtpServers.PtpMasterLocalPriority: - $ref: ./TimingCaps.NtpServers.PtpMasterLocalPriority.yaml -TimingCaps.NtpServers: - $ref: ./TimingCaps.NtpServers.yaml -TimingCaps.PtpMasters: - $ref: ./TimingCaps.PtpMasters.yaml -TimingCaps.TimeStamp: - $ref: ./TimingCaps.TimeStamp.yaml -TimingCaps: - $ref: ./TimingCaps.yaml -TrafficFilter.Address: - $ref: ./TrafficFilter.Address.yaml -TrafficFilter.DSCP: - $ref: ./TrafficFilter.DSCP.yaml -TrafficFilter.Port: - $ref: ./TrafficFilter.Port.yaml -TrafficFilter.Protocol: - $ref: ./TrafficFilter.Protocol.yaml -TrafficFilter.QCI: - $ref: ./TrafficFilter.QCI.yaml -TrafficFilter.TC: - $ref: ./TrafficFilter.TC.yaml -TrafficFilter.Token: - $ref: ./TrafficFilter.Token.yaml -TrafficFilter.TunnelAddress: - $ref: ./TrafficFilter.TunnelAddress.yaml -TrafficFilter.TunnelPort: - $ref: ./TrafficFilter.TunnelPort.yaml -TrafficFilter: - $ref: ./TrafficFilter.yaml -TrafficRule.Action: - $ref: ./TrafficRule.Action.yaml -TrafficRule.FilterType: - $ref: ./TrafficRule.FilterType.yaml -TrafficRule.Id: - $ref: ./TrafficRule.Id.yaml -TrafficRule.Priority: - $ref: ./TrafficRule.Priority.yaml -TrafficRule.State: - $ref: ./TrafficRule.State.yaml -TrafficRule: - $ref: ./TrafficRule.yaml -TransportInfo.Description: - $ref: ./TransportInfo.Description.yaml -TransportInfo.Id: - $ref: ./TransportInfo.Id.yaml -TransportInfo.ImplSpecificInfo: - $ref: ./TransportInfo.ImplSpecificInfo.yaml -TransportInfo.Name: - $ref: ./TransportInfo.Name.yaml -TransportInfo.Protocol: - $ref: ./TransportInfo.Protocol.yaml -TransportInfo.Version: - $ref: ./TransportInfo.Version.yaml -TransportInfo: - $ref: ./TransportInfo.yaml -TransportTypes: - $ref: ./TransportTypes.yaml -TunnelInfo.TunnelDstAddress: - $ref: ./TunnelInfo.TunnelDstAddress.yaml -TunnelInfo.TunnelSrcAddress: - $ref: ./TunnelInfo.TunnelSrcAddress.yaml -TunnelInfo.TunnelType: - $ref: ./TunnelInfo.TunnelType.yaml -TunnelInfo: - $ref: ./TunnelInfo.yaml diff --git a/examples/DnsRule.json b/examples/DnsRule.json deleted file mode 100644 index 0ec606f..0000000 --- a/examples/DnsRule.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "DnsRule": { - "dnsRuleId": "DnsRule1", - "domainName": "www.example.com", - "ipAddressType": "IP_V4", - "ipAddress": "146.241.7.3", - "ttl": 300, - "state": "ACTIVE" - } -} \ No newline at end of file diff --git a/examples/DnsRule.yaml b/examples/DnsRule.yaml deleted file mode 100644 index b140e94..0000000 --- a/examples/DnsRule.yaml +++ /dev/null @@ -1,7 +0,0 @@ -DnsRule: - dnsRuleId: DnsRule1 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.3 - ttl: 300 - state: ACTIVE diff --git a/examples/ServiceInfo.json b/examples/ServiceInfo.json deleted file mode 100644 index c603db0..0000000 --- a/examples/ServiceInfo.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "ServiceInfo": { - "serInstanceId": "ServiceInstance123", - "serName": "ExampleService", - "serCategory": { - "href": "catItem1", - "id": "id12345", - "name": "RNI", - "version": "version1" - }, - "version": "ServiceVersion1", - "state": "ACTIVE", - "transportId": "Rest1", - "transportInfo": { - "id": "TransId12345", - "name": "REST", - "description": "REST API", - "type": "JSON", - "protocol": "HTTP", - "version": "2.0", - "endpoint": { - "uris": [ - "/meMp1/service/EntryPoint" - ], - "addresses": [ - { - "host": "192.0.2.0", - "port": "8080" - } - ] - }, - "security": { - "oAuth2Info": { - "grantTypes": "OAUTH2_CLIENT_CREDENTIALS", - "tokenEndpoint": "/meMp1/security/TokenEndPoint" - } - } - }, - "serializer": "JSON" - } -} diff --git a/examples/ServiceInfo.yaml b/examples/ServiceInfo.yaml deleted file mode 100644 index ff9a4b1..0000000 --- a/examples/ServiceInfo.yaml +++ /dev/null @@ -1,29 +0,0 @@ -ServiceInfo: - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportId: Rest1 - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: JSON - protocol: HTTP - version: '2.0' - endpoint: - uris: - - /meMp1/service/EntryPoint - addresses: - - host: '192.0.2.0' - port: '8080' - security: - oAuth2Info: - grantTypes: OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /meMp1/security/TokenEndPoint - serializer: JSON diff --git a/examples/TrafficRule.json b/examples/TrafficRule.json deleted file mode 100644 index 1f2740a..0000000 --- a/examples/TrafficRule.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "TrafficRule": { - "trafficRuleId": "TrafficRule123", - "serName": "ExampleService", - "filterType": "FLOW", - "priority": 1, - "trafficFilter": { - "srcAddress": [ - "192.168.2.0/24", - "192.168.3.0/24" - ], - "dstAddress": [ - "192.127.4.100/32" - ], - "dstPort": [ - 80 - ] - }, - "action": "FORWARD_DECAPSULATED", - "dstInterface": { - "interfaceType": "IP", - "dstIpAddress": "20.1.1.1" - }, - "state": "ACTIVE" - } -} \ No newline at end of file diff --git a/examples/TrafficRule.yaml b/examples/TrafficRule.yaml deleted file mode 100644 index f599c15..0000000 --- a/examples/TrafficRule.yaml +++ /dev/null @@ -1,15 +0,0 @@ -TrafficRule: - trafficRuleId: TrafficRule123 - serName: ExampleService - filterType: FLOW - priority: 1 - trafficFilter: - srcAddress: [192.168.2.0/24, 192.168.3.0/24] - dstAddress: [192.127.4.100/32] - dstPort: [80] - action: FORWARD_DECAPSULATED - dstInterface: - interfaceType: IP - dstIpAddress: 20.1.1.1 - state: ACTIVE - diff --git a/externalDocs/index.yaml b/externalDocs/index.yaml deleted file mode 100644 index 4df3d64..0000000 --- a/externalDocs/index.yaml +++ /dev/null @@ -1,2 +0,0 @@ -description: ETSI GS MEC011 Application Enablement API, V1.1.1 -url: "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/01.01.01_60/gs_mec011v010101p.pdf" \ No newline at end of file diff --git a/info/index.yaml b/info/index.yaml deleted file mode 100644 index 6f609a0..0000000 --- a/info/index.yaml +++ /dev/null @@ -1,6 +0,0 @@ -title: 'Mp1 API' -version: '1.1.1' -description: 'The ETSI MEC ISG MEC011 Application Enablement API described using OpenAPI' -license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' \ No newline at end of file diff --git a/parameters/Body.AppTerminationNotificationSubscription.yaml b/parameters/Body.AppTerminationNotificationSubscription.yaml deleted file mode 100644 index ee75f7b..0000000 --- a/parameters/Body.AppTerminationNotificationSubscription.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: AppTerminationNotificationSubscription -description: Entity body in the request contains a subscription to the mobile edge application termination notifications that is to be created. -in: body -required: true -schema: - $ref: '#/definitions/AppTerminationNotificationSubscription' \ No newline at end of file diff --git a/parameters/Body.DnsRule.yaml b/parameters/Body.DnsRule.yaml deleted file mode 100644 index dd986d5..0000000 --- a/parameters/Body.DnsRule.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: DnsRule -description: The updated state is included in the entity body of the request. -in: body -required: true -schema: - $ref: '#/definitions/DnsRule' \ No newline at end of file diff --git a/parameters/Body.SerAvailabilityNotificationSubscription.yaml b/parameters/Body.SerAvailabilityNotificationSubscription.yaml deleted file mode 100644 index 0d04713..0000000 --- a/parameters/Body.SerAvailabilityNotificationSubscription.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: SerAvailabilityNotificationSubscription -description: Entity body in the request contains a subscription to the mobile edge service availability notifications that is to be created. -in: body -required: true -schema: - $ref: '#/definitions/SerAvailabilityNotificationSubscription' \ No newline at end of file diff --git a/parameters/Body.ServiceInfo.yaml b/parameters/Body.ServiceInfo.yaml deleted file mode 100644 index ce72576..0000000 --- a/parameters/Body.ServiceInfo.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: ServiceInfo -description: New ServiceInfo with updated "state" is included as entity body of the request -in: body -required: true -schema: - $ref: '#/definitions/ServiceInfo' \ No newline at end of file diff --git a/parameters/Body.TrafficRule.yaml b/parameters/Body.TrafficRule.yaml deleted file mode 100644 index 66a8055..0000000 --- a/parameters/Body.TrafficRule.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: TrafficRule -description: One or more updated attributes that are allowed to be changed -in: body -required: true -schema: - $ref: '#/definitions/TrafficRule' \ No newline at end of file diff --git a/parameters/Path.AppInstanceId.yaml b/parameters/Path.AppInstanceId.yaml deleted file mode 100644 index a291620..0000000 --- a/parameters/Path.AppInstanceId.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: appInstanceId -description: Represents a mobile edge application instance. Note that the appInstanceId is allocated by the mobile edge platform manager. -in: path -required: true -type: string -format: uri \ No newline at end of file diff --git a/parameters/Path.DnsRuleId.yaml b/parameters/Path.DnsRuleId.yaml deleted file mode 100644 index 753e572..0000000 --- a/parameters/Path.DnsRuleId.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: dnsRuleId -description: Represents a DNS rule. -in: path -required: true -type: string -format: uri \ No newline at end of file diff --git a/parameters/Path.ServiceId.yaml b/parameters/Path.ServiceId.yaml deleted file mode 100644 index fd7e41e..0000000 --- a/parameters/Path.ServiceId.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: serviceId -description: Represents a mobile edge service instance. -in: path -required: true -type: string -format: uri \ No newline at end of file diff --git a/parameters/Path.SubscriptionId.yaml b/parameters/Path.SubscriptionId.yaml deleted file mode 100644 index 5b58d0f..0000000 --- a/parameters/Path.SubscriptionId.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: subscriptionId -description: Represents a subscription to the notifications from the mobile edge platform. -in: path -required: true -type: string -format: uri \ No newline at end of file diff --git a/parameters/Path.SubscriptionType.yaml b/parameters/Path.SubscriptionType.yaml deleted file mode 100644 index aa54114..0000000 --- a/parameters/Path.SubscriptionType.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: subscriptionType -description: Represents a subscription type to the notifications from the mobile edge platform. -in: path -required: true -type: string -format: uri \ No newline at end of file diff --git a/parameters/Path.TrafficRuleId.yaml b/parameters/Path.TrafficRuleId.yaml deleted file mode 100644 index 1e0a400..0000000 --- a/parameters/Path.TrafficRuleId.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: trafficRuleId -description: Represents a traffic rule. -in: path -required: true -type: string -format: uri \ No newline at end of file diff --git a/parameters/Query.Ser_category_id.yaml b/parameters/Query.Ser_category_id.yaml deleted file mode 100644 index dae8261..0000000 --- a/parameters/Query.Ser_category_id.yaml +++ /dev/null @@ -1,5 +0,0 @@ -name: ser_category_id -description: A mobile edge application instance may use ser_category_id as an input parameter to query the availability of a list of mobile edge service instances in a serCategory. Either "ser_instance_id" or "ser_name" or "ser_category_id" or none of them shall be present. -in: query -required: false -type: string \ No newline at end of file diff --git a/parameters/Query.Ser_instance_id.yaml b/parameters/Query.Ser_instance_id.yaml deleted file mode 100644 index b0834eb..0000000 --- a/parameters/Query.Ser_instance_id.yaml +++ /dev/null @@ -1,7 +0,0 @@ -name: ser_instance_id -description: A mobile edge application instance may use multiple ser_instance_ids as an input parameter to query the availability of a list of mobile edge service instances. Either "ser_instance_id" or "ser_name" or "ser_category_id" or none of them shall be present. -in: query -required: false -type: array -items: - type: string \ No newline at end of file diff --git a/parameters/Query.Ser_name.yaml b/parameters/Query.Ser_name.yaml deleted file mode 100644 index 1e11e33..0000000 --- a/parameters/Query.Ser_name.yaml +++ /dev/null @@ -1,7 +0,0 @@ -name: ser_name -description: A mobile edge application instance may use multiple ser_names as an input parameter to query the availability of a list of mobile edge service instances. Either "ser_instance_id" or "ser_name" or "ser_category_id" or none of them shall be present. -in: query -required: false -type: array -items: - type: string \ No newline at end of file diff --git a/parameters/index.yaml b/parameters/index.yaml deleted file mode 100644 index 012868f..0000000 --- a/parameters/index.yaml +++ /dev/null @@ -1,41 +0,0 @@ -Body.AppTerminationNotificationSubscription: - $ref: ./Body.AppTerminationNotificationSubscription.yaml - -Body.DnsRule: - $ref: ./Body.DnsRule.yaml - -Body.SerAvailabilityNotificationSubscription: - $ref: ./Body.SerAvailabilityNotificationSubscription.yaml - -Body.ServiceInfo: - $ref: ./Body.ServiceInfo.yaml - -Body.TrafficRule: - $ref: ./Body.TrafficRule.yaml - -Path.AppInstanceId: - $ref: ./Path.AppInstanceId.yaml - -Path.DnsRuleId: - $ref: ./Path.DnsRuleId.yaml - -Path.SubscriptionId: - $ref: ./Path.SubscriptionId.yaml - -Path.SubscriptionType: - $ref: ./Path.SubscriptionType.yaml - -Path.ServiceId: - $ref: ./Path.ServiceId.yaml - -Path.TrafficRuleId: - $ref: ./Path.TrafficRuleId.yaml - -Query.Ser_category_id: - $ref: ./Query.Ser_category_id.yaml - -Query.Ser_instance_id: - $ref: ./Query.Ser_instance_id.yaml - -Query.Ser_name: - $ref: ./Query.Ser_name.yaml \ No newline at end of file diff --git a/paths/ApplicationsDnsRule.GET.yaml b/paths/ApplicationsDnsRule.GET.yaml deleted file mode 100644 index e0cbfa8..0000000 --- a/paths/ApplicationsDnsRule.GET.yaml +++ /dev/null @@ -1,45 +0,0 @@ -description: This method retrieves information about a DNS rule associated with a mobile edge application instance. -operationId: ApplicationsDnsRule.GET -produces: -- application/json - -responses: - 200: - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: object - properties: - DnsRule: - $ref: '#/definitions/DnsRule' - examples: - application/json: - DnsRule: - dnsRuleId: DnsRule1 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.3 - ttl: 300 - state: ACTIVE - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsDnsRule.PUT.yaml b/paths/ApplicationsDnsRule.PUT.yaml deleted file mode 100644 index 868d9df..0000000 --- a/paths/ApplicationsDnsRule.PUT.yaml +++ /dev/null @@ -1,54 +0,0 @@ -description: This method activates, de-activates or updates a traffic rule. -operationId: ApplicationsDnsRule.PUT -produces: -- application/json -parameters: -- $ref: '#/parameters/Body.DnsRule' - -responses: - 200: - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: object - properties: - DnsRule: - $ref: '#/definitions/DnsRule' - examples: - application/json: - DnsRule: - dnsRuleId: DnsRule1 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.3 - ttl: 300 - state: ACTIVE - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 412: - description: Precondition Failed - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsDnsRule.yaml b/paths/ApplicationsDnsRule.yaml deleted file mode 100644 index 6264c01..0000000 --- a/paths/ApplicationsDnsRule.yaml +++ /dev/null @@ -1,9 +0,0 @@ -parameters: -- $ref: '#/parameters/Path.AppInstanceId' -- $ref: '#/parameters/Path.DnsRuleId' - -get: - $ref: ./ApplicationsDnsRule.GET.yaml - -put: - $ref: ./ApplicationsDnsRule.PUT.yaml \ No newline at end of file diff --git a/paths/ApplicationsDnsRules.GET.yaml b/paths/ApplicationsDnsRules.GET.yaml deleted file mode 100644 index 88b4af3..0000000 --- a/paths/ApplicationsDnsRules.GET.yaml +++ /dev/null @@ -1,47 +0,0 @@ -description: This method retrieves information about all the DNS rules associated with a mobile edge application instance. -operationId: ApplicationsDnsRules.GET -produces: -- application/json - -responses: - 200: - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: array - items: - type: object - properties: - DnsRule: - $ref: '#/definitions/DnsRule' - examples: - application/json: - - DnsRule: - dnsRuleId: DnsRule1 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.3 - ttl: 300 - state: ACTIVE - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsDnsRules.yaml b/paths/ApplicationsDnsRules.yaml deleted file mode 100644 index 4994f4c..0000000 --- a/paths/ApplicationsDnsRules.yaml +++ /dev/null @@ -1,5 +0,0 @@ -parameters: -- $ref: '#/parameters/Path.AppInstanceId' - -get: - $ref: ./ApplicationsDnsRules.GET.yaml \ No newline at end of file diff --git a/paths/ApplicationsSubscription.DELETE.yaml b/paths/ApplicationsSubscription.DELETE.yaml deleted file mode 100644 index ca094f6..0000000 --- a/paths/ApplicationsSubscription.DELETE.yaml +++ /dev/null @@ -1,24 +0,0 @@ -description: This method deletes a meMp1Subscription. This method is typically used in "Unsubscribing from service availability event notifications" procedure. -operationId: ApplicationsSubscription.DELETE -produces: -- application/json - -responses: - 204: - description: No Content - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsSubscription.GET.yaml b/paths/ApplicationsSubscription.GET.yaml deleted file mode 100644 index c43f3c1..0000000 --- a/paths/ApplicationsSubscription.GET.yaml +++ /dev/null @@ -1,39 +0,0 @@ -description: The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor. -operationId: ApplicationsSubscription.GET -produces: -- application/json - -responses: - 200: - description: Upon success, a response body containing the requested subscription is returned. - schema: - type: object - properties: - SerAvailabilityNotificationSubscription: - $ref: '#/definitions/SerAvailabilityNotificationSubscription' -# The alternative response -# AppTerminationNotificationSubscription: -# $ref: '#/definitions/AppTerminationNotificationSubscription' - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsSubscription.yaml b/paths/ApplicationsSubscription.yaml deleted file mode 100644 index c2635fb..0000000 --- a/paths/ApplicationsSubscription.yaml +++ /dev/null @@ -1,10 +0,0 @@ -parameters: -- $ref: '#/parameters/Path.AppInstanceId' -- $ref: '#/parameters/Path.SubscriptionType' -- $ref: '#/parameters/Path.SubscriptionId' - -get: - $ref: ./ApplicationsSubscription.GET.yaml - -delete: - $ref: ./ApplicationsSubscription.DELETE.yaml \ No newline at end of file diff --git a/paths/ApplicationsSubscriptions.GET.yaml b/paths/ApplicationsSubscriptions.GET.yaml deleted file mode 100644 index bb67171..0000000 --- a/paths/ApplicationsSubscriptions.GET.yaml +++ /dev/null @@ -1,36 +0,0 @@ -description: The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor. -operationId: ApplicationsSubscriptions.GET -produces: -- application/json - -responses: - 200: - description: Upon success, a response body containing the list of links to the requested subscriptions is returned. - schema: - type: object - properties: - Mp1SubscriptionLinkList: - $ref: '#/definitions/Mp1SubscriptionLinkList' - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsSubscriptions.POST.yaml b/paths/ApplicationsSubscriptions.POST.yaml deleted file mode 100644 index 591271b..0000000 --- a/paths/ApplicationsSubscriptions.POST.yaml +++ /dev/null @@ -1,48 +0,0 @@ -description: The POST method may be used to create a new subscription. One example use case is to create a new subscription to the mobile edge service availability notifications. Upon success, the response contains entity body describing the created subscription. -operationId: ApplicationsSubscriptions.POST -produces: -- application/json -parameters: -- $ref: '#/parameters/Body.AppTerminationNotificationSubscription' -# The alternative request -#- $ref: '#/parameters/Body.SerAvailabilityNotificationSubscription' - -responses: - 201: - description: Entity body in the request contains a subscription to the mobile edge service availability notifications that is to be created. - headers: - location: - description: The resource URI of the created resource - type: string - format: uri - schema: - type: object - properties: - AppTerminationNotificationSubscription: - $ref: '#/definitions/AppTerminationNotificationSubscription' -# The alternative response -# SerAvailabilityNotificationSubscription: -# $ref: '#/definitions/SerAvailabilityNotificationSubscription' - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsSubscriptions.yaml b/paths/ApplicationsSubscriptions.yaml deleted file mode 100644 index 5750586..0000000 --- a/paths/ApplicationsSubscriptions.yaml +++ /dev/null @@ -1,8 +0,0 @@ -parameters: -- $ref: '#/parameters/Path.AppInstanceId' - -get: - $ref: ./ApplicationsSubscriptions.GET.yaml - -post: - $ref: ./ApplicationsSubscriptions.POST.yaml \ No newline at end of file diff --git a/paths/ApplicationsTrafficRule.GET.yaml b/paths/ApplicationsTrafficRule.GET.yaml deleted file mode 100644 index 66e6e9c..0000000 --- a/paths/ApplicationsTrafficRule.GET.yaml +++ /dev/null @@ -1,52 +0,0 @@ -description: This method retrieves information about all the traffic rules associated with a mobile edge application instance. -operationId: ApplicationsTrafficRule.GET -produces: -- application/json - -responses: - 200: - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: object - properties: - TrafficRule: - $ref: '#/definitions/TrafficRule' - examples: - application/json: - - TrafficRule: - trafficRuleId: TrafficRule123 - serName: ExampleService - filterType: FLOW - priority: 1 - trafficFilter: - srcAddress: [192.168.2.0/24, 192.168.3.0/24] - dstAddress: [192.127.4.100/32] - dstPort: [80] - action: FORWARD_DECAPSULATED - dstInterface: - interfaceType: IP - dstIpAddress: 20.1.1.1 - state: ACTIVE - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsTrafficRule.PUT.yaml b/paths/ApplicationsTrafficRule.PUT.yaml deleted file mode 100644 index 0e030d7..0000000 --- a/paths/ApplicationsTrafficRule.PUT.yaml +++ /dev/null @@ -1,61 +0,0 @@ -description: This method retrieves information about all the traffic rules associated with a mobile edge application instance. -operationId: ApplicationsTrafficRules.PUT -produces: -- application/json -parameters: -- $ref: '#/parameters/Body.TrafficRule' - -responses: - 200: - description: Upon success, a response body containing data type describing the updated TrafficRule is returned. - schema: - type: object - properties: - TrafficRule: - $ref: '#/definitions/TrafficRule' - examples: - application/json: - TrafficRule: - trafficRuleId: TrafficRule123 - serName: ExampleService - filterType: FLOW - priority: 1 - trafficFilter: - srcAddress: [192.168.2.0/24, 192.168.3.0/24] - dstAddress: [192.127.4.100/32] - dstPort: [80] - action: FORWARD_DECAPSULATED - dstInterface: - interfaceType: IP - dstIpAddress: 20.1.1.1 - state: ACTIVE - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 412: - description: Precondition Failed - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsTrafficRule.yaml b/paths/ApplicationsTrafficRule.yaml deleted file mode 100644 index c82177d..0000000 --- a/paths/ApplicationsTrafficRule.yaml +++ /dev/null @@ -1,9 +0,0 @@ -parameters: -- $ref: '#/parameters/Path.AppInstanceId' -- $ref: '#/parameters/Path.TrafficRuleId' - -get: - $ref: ./ApplicationsTrafficRule.GET.yaml - -put: - $ref: ./ApplicationsTrafficRule.PUT.yaml \ No newline at end of file diff --git a/paths/ApplicationsTrafficRules.GET.yaml b/paths/ApplicationsTrafficRules.GET.yaml deleted file mode 100644 index 4ab75dc..0000000 --- a/paths/ApplicationsTrafficRules.GET.yaml +++ /dev/null @@ -1,54 +0,0 @@ -description: This method retrieves information about all the traffic rules associated with a mobile edge application instance. -operationId: ApplicationsTrafficRules.GET -produces: -- application/json - -responses: - 200: - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: array - items: - type: object - properties: - TrafficRule: - $ref: '#/definitions/TrafficRule' - examples: - application/json: - TrafficRule: - trafficRuleId: TrafficRule123 - serName: ExampleService - filterType: FLOW - priority: 1 - trafficFilter: - srcAddress: [192.168.2.0/24, 192.168.3.0/24] - dstAddress: [192.127.4.100/32] - dstPort: [80] - action: FORWARD_DECAPSULATED - dstInterface: - interfaceType: IP - dstIpAddress: 20.1.1.1 - state: ACTIVE - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsTrafficRules.yaml b/paths/ApplicationsTrafficRules.yaml deleted file mode 100644 index 880de16..0000000 --- a/paths/ApplicationsTrafficRules.yaml +++ /dev/null @@ -1,5 +0,0 @@ -parameters: -- $ref: '#/parameters/Path.AppInstanceId' - -get: - $ref: ./ApplicationsTrafficRules.GET.yaml \ No newline at end of file diff --git a/paths/Services.GET.yaml b/paths/Services.GET.yaml deleted file mode 100644 index c69f908..0000000 --- a/paths/Services.GET.yaml +++ /dev/null @@ -1,73 +0,0 @@ -description: This method retrieves information about a list of meService resources. This method is typically used in "service availability query" procedure -operationId: Services.GET -produces: -- application/json -parameters: -- $ref: '#/parameters/Query.Ser_instance_id' -- $ref: '#/parameters/Query.Ser_name' -- $ref: '#/parameters/Query.Ser_category_id' - -responses: - 200: - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: array - items: - type: object - properties: - ServiceInfo: - $ref: '#/definitions/ServiceInfo' - examples: - application/json: - - ServiceInfo: - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportId: Rest1 - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: JSON - protocol: HTTP - version: '2.0' - endpoint: - uris: - - /meMp1/service/EntryPoint - addresses: - - host: '192.0.2.0' - port: '8080' - security: - oAuth2Info: - grantTypes: OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /meMp1/security/TokenEndPoint - serializer: JSON - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/Services.POST.yaml b/paths/Services.POST.yaml deleted file mode 100644 index 21fad5c..0000000 --- a/paths/Services.POST.yaml +++ /dev/null @@ -1,74 +0,0 @@ -description: This method is used to create a meService resource. This method is typically used in "service availability update and new service registration" procedure -operationId: Services.POST -produces: -- application/json -parameters: -- $ref: '#/parameters/Body.ServiceInfo' - -responses: - 201: - description: Upon success, the HTTP response shall include a Location HTTP header that contains the resource URI of the created resource. - headers: - location: - description: The resource URI of the created resource - type: string - format: uri - schema: - type: object - properties: - ServiceInfo: - $ref: '#/definitions/ServiceInfo' - examples: - application/json: - ServiceInfo: - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportId: Rest1 - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: JSON - protocol: HTTP - version: '2.0' - endpoint: - uris: - - /meMp1/service/EntryPoint - addresses: - - host: '192.0.2.0' - port: '8080' - security: - oAuth2Info: - grantTypes: OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /meMp1/security/TokenEndPoint - serializer: JSON - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/Services.yaml b/paths/Services.yaml deleted file mode 100644 index 62879fd..0000000 --- a/paths/Services.yaml +++ /dev/null @@ -1,5 +0,0 @@ -get: - $ref: ./Services.GET.yaml - -post: - $ref: ./Services.POST.yaml \ No newline at end of file diff --git a/paths/ServicesServiceId.GET.yaml b/paths/ServicesServiceId.GET.yaml deleted file mode 100644 index ea63177..0000000 --- a/paths/ServicesServiceId.GET.yaml +++ /dev/null @@ -1,67 +0,0 @@ -description: This method retrieves information about a meService resource. This method is typically used in "service availability query" procedure -operationId: ServicesServiceId.GET -produces: -- application/json - -responses: - 200: - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: object - properties: - ServiceInfo: - $ref: '#/definitions/ServiceInfo' - examples: - application/json: - ServiceInfo: - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportId: Rest1 - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: JSON - protocol: HTTP - version: '2.0' - endpoint: - uris: - - /meMp1/service/EntryPoint - addresses: - - host: '192.0.2.0' - port: '8080' - security: - oAuth2Info: - grantTypes: OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /meMp1/security/TokenEndPoint - serializer: JSON - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ServicesServiceId.PUT.yaml b/paths/ServicesServiceId.PUT.yaml deleted file mode 100644 index d18fedd..0000000 --- a/paths/ServicesServiceId.PUT.yaml +++ /dev/null @@ -1,76 +0,0 @@ -description: This method updates the information about a meService resource -operationId: ServicesServiceId.PUT -produces: -- application/json -parameters: -- $ref: '#/parameters/Body.ServiceInfo' - -responses: - 200: - description: Upon success, a response body containing data type describing the updated ServiceInfo is returned - schema: - type: object - properties: - ServiceInfo: - $ref: '#/definitions/ServiceInfo' - examples: - application/json: - ServiceInfo: - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportId: Rest1 - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: JSON - protocol: HTTP - version: '2.0' - endpoint: - uris: - - /meMp1/service/EntryPoint - addresses: - - host: '192.0.2.0' - port: '8080' - security: - oAuth2Info: - grantTypes: OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /meMp1/security/TokenEndPoint - serializer: JSON - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 412: - description: Precondition Failed - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ServicesServiceId.yaml b/paths/ServicesServiceId.yaml deleted file mode 100644 index 323eb2a..0000000 --- a/paths/ServicesServiceId.yaml +++ /dev/null @@ -1,8 +0,0 @@ -parameters: -- $ref: '#/parameters/Path.ServiceId' - -get: - $ref: ./ServicesServiceId.GET.yaml - -put: - $ref: ./ServicesServiceId.PUT.yaml \ No newline at end of file diff --git a/paths/TimingCaps.GET.yaml b/paths/TimingCaps.GET.yaml deleted file mode 100644 index 259593b..0000000 --- a/paths/TimingCaps.GET.yaml +++ /dev/null @@ -1,36 +0,0 @@ -description: This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query -operationId: TimingCaps.GET -produces: -- application/json - -responses: - 200: - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: object - properties: - TimingCaps: - $ref: '#/definitions/TimingCaps' - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/TimingCaps.yaml b/paths/TimingCaps.yaml deleted file mode 100644 index 546fe0f..0000000 --- a/paths/TimingCaps.yaml +++ /dev/null @@ -1,2 +0,0 @@ -get: - $ref: ./TimingCaps.GET.yaml \ No newline at end of file diff --git a/paths/TimingCurrentTime.GET.yaml b/paths/TimingCurrentTime.GET.yaml deleted file mode 100644 index fb54026..0000000 --- a/paths/TimingCurrentTime.GET.yaml +++ /dev/null @@ -1,36 +0,0 @@ -description: This method retrieves the information of the platform's current time which corresponds to the get platform time procedure -operationId: TimingCurrentTime.GET -produces: -- application/json - -responses: - 200: - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: object - properties: - CurrentTime: - $ref: '#/definitions/CurrentTime' - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/TimingCurrentTime.yaml b/paths/TimingCurrentTime.yaml deleted file mode 100644 index 64f74b9..0000000 --- a/paths/TimingCurrentTime.yaml +++ /dev/null @@ -1,2 +0,0 @@ -get: - $ref: ./TimingCurrentTime.GET.yaml \ No newline at end of file diff --git a/paths/Transports.GET.yaml b/paths/Transports.GET.yaml deleted file mode 100644 index 05dbed3..0000000 --- a/paths/Transports.GET.yaml +++ /dev/null @@ -1,38 +0,0 @@ -description: This method retrieves information about a list of available transports. This method is typically used by a service-producing application to discover transports provided by the mobile edge platform in the "transport information query" procedure -operationId: Transports.GET -produces: -- application/json - -responses: - 200: - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - schema: - type: array - items: - type: object - properties: - TransportInfo: - $ref: '#/definitions/TransportInfo' - 400: - description: Bad Request - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 403: - description: Forbidden - schema: - type: object - required: - - ProblemDetails - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' - 404: - description: Not Found - schema: - type: object - properties: - ProblemDetails: - $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/Transports.yaml b/paths/Transports.yaml deleted file mode 100644 index 1a73b39..0000000 --- a/paths/Transports.yaml +++ /dev/null @@ -1,2 +0,0 @@ -get: - $ref: ./Transports.GET.yaml \ No newline at end of file diff --git a/paths/index.yaml b/paths/index.yaml deleted file mode 100644 index 5f6c07d..0000000 --- a/paths/index.yaml +++ /dev/null @@ -1,32 +0,0 @@ -/applications/{appInstanceId}/dns_rules: - $ref: ./ApplicationsDnsRules.yaml - -/applications/{appInstanceId}/dns_rules/{dnsRuleId}: - $ref: ./ApplicationsDnsRule.yaml - -/applications/{appInstanceId}/subscriptions: - $ref: ./ApplicationsSubscriptions.yaml - -/applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}: - $ref: ./ApplicationsSubscription.yaml - -/applications/{appInstanceId}/traffic_rules: - $ref: ./ApplicationsTrafficRules.yaml - -/applications/{appInstanceId}/traffic_rules/{trafficRuleId}: - $ref: ./ApplicationsTrafficRule.yaml - -/services: - $ref: ./Services.yaml - -/services/{serviceId}: - $ref: ./ServicesServiceId.yaml - -/timing/current_time: - $ref: ./TimingCurrentTime.yaml - -/timing/timing_caps: - $ref: ./TimingCaps.yaml - -/transports: - $ref: ./Transports.yaml \ No newline at end of file -- GitLab From 253dac5966001374cd3be3c70671c3f0b96a5751 Mon Sep 17 00:00:00 2001 From: featherstone Date: Tue, 15 Jan 2019 17:14:01 +0000 Subject: [PATCH 02/14] Updated URIs to point to develop branch --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 266b4fc..86f1a66 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@ This repository contains OpenAPIs descriptions for the interfaces specified in E ## Online resources * [Specification document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/01.01.01_60/gs_mec011v010101p.pdf) -* [Navigate the API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/raw/master/Mp1.yaml). -* [Edit the API online](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/raw/master/Mp1.yaml). +* [Navigate the API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/raw/develop/Mp1.yaml). +* [Edit the API online](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/raw/develop/Mp1.yaml). -- GitLab From 0a3f794fc7dffcce3cffcf00bdb44988fbf20ad8 Mon Sep 17 00:00:00 2001 From: featherstone Date: Thu, 17 Jan 2019 12:50:19 +0000 Subject: [PATCH 03/14] ID attributes in Path parameters should just be String, not URI String --- Mp1.json | 18 ++++++------------ Mp1.yaml | 14 ++++---------- 2 files changed, 10 insertions(+), 22 deletions(-) diff --git a/Mp1.json b/Mp1.json index 1d449fa..13ed0db 100644 --- a/Mp1.json +++ b/Mp1.json @@ -1585,8 +1585,7 @@ "in": "path", "required": true, "schema": { - "type": "string", - "format": "uri" + "type": "string" } }, "Path.DnsRuleId": { @@ -1595,8 +1594,7 @@ "in": "path", "required": true, "schema": { - "type": "string", - "format": "uri" + "type": "string" } }, "Path.SubscriptionId": { @@ -1605,8 +1603,7 @@ "in": "path", "required": true, "schema": { - "type": "string", - "format": "uri" + "type": "string" } }, "Path.SubscriptionType": { @@ -1615,8 +1612,7 @@ "in": "path", "required": true, "schema": { - "type": "string", - "format": "uri" + "type": "string" } }, "Path.ServiceId": { @@ -1625,8 +1621,7 @@ "in": "path", "required": true, "schema": { - "type": "string", - "format": "uri" + "type": "string" } }, "Path.TrafficRuleId": { @@ -1635,8 +1630,7 @@ "in": "path", "required": true, "schema": { - "type": "string", - "format": "uri" + "type": "string" } }, "Query.Ser_category_id": { diff --git a/Mp1.yaml b/Mp1.yaml index 9260613..d6e3166 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -192,7 +192,7 @@ paths: $ref: '#/components/responses/Error.412' requestBody: $ref: '#/components/requestBodies/ApplicationsTrafficRule' - /services: + '/services': get: description: >- This method retrieves information about a list of meService resources. @@ -261,7 +261,7 @@ paths: $ref: '#/components/responses/Error.412' requestBody: $ref: '#/components/requestBodies/ServicesServiceId' - /timing/current_time: + '/timing/current_time': get: description: >- This method retrieves the information of the platform's current time @@ -276,7 +276,7 @@ paths: $ref: '#/components/responses/Error.403' '404': $ref: '#/components/responses/Error.404' - /timing/timing_caps: + '/timing/timing_caps': get: description: >- This method retrieves the information of the platform's timing @@ -291,7 +291,7 @@ paths: $ref: '#/components/responses/Error.403' '404': $ref: '#/components/responses/Error.404' - /transports: + '/transports': get: description: >- This method retrieves information about a list of available transports. @@ -1250,7 +1250,6 @@ components: required: true schema: type: string - format: uri Path.DnsRuleId: name: dnsRuleId description: Represents a DNS rule. @@ -1258,7 +1257,6 @@ components: required: true schema: type: string - format: uri Path.SubscriptionId: name: subscriptionId description: >- @@ -1268,7 +1266,6 @@ components: required: true schema: type: string - format: uri Path.SubscriptionType: name: subscriptionType description: >- @@ -1278,7 +1275,6 @@ components: required: true schema: type: string - format: uri Path.ServiceId: name: serviceId description: Represents a mobile edge service instance. @@ -1286,7 +1282,6 @@ components: required: true schema: type: string - format: uri Path.TrafficRuleId: name: trafficRuleId description: Represents a traffic rule. @@ -1294,7 +1289,6 @@ components: required: true schema: type: string - format: uri Query.Ser_category_id: name: ser_category_id description: >- -- GitLab From 262ffa005401ad1263f845200dcf5a553f38a8c5 Mon Sep 17 00:00:00 2001 From: featherstone Date: Thu, 17 Jan 2019 15:35:58 +0000 Subject: [PATCH 04/14] The type Href should not be readOnly, even though the containing attribute maybe --- Mp1.json | 1 - Mp1.yaml | 1 - 2 files changed, 2 deletions(-) diff --git a/Mp1.json b/Mp1.json index 13ed0db..933743d 100644 --- a/Mp1.json +++ b/Mp1.json @@ -778,7 +778,6 @@ "description": "URI referring to a resource", "type": "string", "format": "uri", - "readOnly": true, "example": "/meMp1/example" }, "Mp1SubscriptionLinkList.Links": { diff --git a/Mp1.yaml b/Mp1.yaml index d6e3166..8697a0e 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -592,7 +592,6 @@ components: description: URI referring to a resource type: string format: uri - readOnly: true example: /meMp1/example Mp1SubscriptionLinkList.Links: description: Self-referring URI. -- GitLab From a12d6d23e0d6c16009887e6063a5cb9673818f6c Mon Sep 17 00:00:00 2001 From: featherstone Date: Tue, 22 Jan 2019 15:51:53 +0000 Subject: [PATCH 05/14] Bug86 . replacement with _ for each operationId --- Mp1.json | 74 +++++++++++++++++++++++++++---------------------------- Mp1.yaml | 74 +++++++++++++++++++++++++++---------------------------- README.md | 2 +- 3 files changed, 75 insertions(+), 75 deletions(-) diff --git a/Mp1.json b/Mp1.json index 933743d..ad6f609 100644 --- a/Mp1.json +++ b/Mp1.json @@ -30,7 +30,7 @@ ], "get": { "description": "This method retrieves information about all the DNS rules associated with a mobile edge application instance.", - "operationId": "ApplicationsDnsRules.GET", + "operationId": "ApplicationsDnsRules_GET", "responses": { "200": { "$ref": "#/components/responses/ApplicationsDnsRules.200" @@ -58,7 +58,7 @@ ], "get": { "description": "This method retrieves information about a DNS rule associated with a mobile edge application instance.", - "operationId": "ApplicationsDnsRule.GET", + "operationId": "ApplicationsDnsRule_GET", "responses": { "200": { "$ref": "#/components/responses/ApplicationsDnsRule.200" @@ -76,7 +76,7 @@ }, "put": { "description": "This method activates, de-activates or updates a traffic rule.", - "operationId": "ApplicationsDnsRule.PUT", + "operationId": "ApplicationsDnsRule_PUT", "responses": { "200": { "$ref": "#/components/responses/ApplicationsDnsRule.200" @@ -107,7 +107,7 @@ ], "get": { "description": "The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor.", - "operationId": "ApplicationsSubscriptions.GET", + "operationId": "ApplicationsSubscriptions_GET", "responses": { "200": { "$ref": "#/components/responses/ApplicationsSubscriptions.200" @@ -125,7 +125,7 @@ }, "post": { "description": "The POST method may be used to create a new subscription. One example use case is to create a new subscription to the mobile edge service availability notifications. Upon success, the response contains entity body describing the created subscription.", - "operationId": "ApplicationsSubscriptions.POST", + "operationId": "ApplicationsSubscriptions_POST", "responses": { "201": { "$ref": "#/components/responses/ApplicationsSubscriptions.201" @@ -167,7 +167,7 @@ ], "get": { "description": "The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor.", - "operationId": "ApplicationsSubscription.GET", + "operationId": "ApplicationsSubscription_GET", "responses": { "200": { "$ref": "#/components/responses/ApplicationsSubscription.200" @@ -185,7 +185,7 @@ }, "delete": { "description": "This method deletes a meMp1Subscription. This method is typically used in \"Unsubscribing from service availability event notifications\" procedure.", - "operationId": "ApplicationsSubscription.DELETE", + "operationId": "ApplicationsSubscription_DELETE", "responses": { "204": { "description": "No Content" @@ -207,7 +207,7 @@ ], "get": { "description": "This method retrieves information about all the traffic rules associated with a mobile edge application instance.", - "operationId": "ApplicationsTrafficRules.GET", + "operationId": "ApplicationsTrafficRules_GET", "responses": { "200": { "$ref": "#/components/responses/ApplicationsTrafficRules.200" @@ -235,7 +235,7 @@ ], "get": { "description": "This method retrieves information about all the traffic rules associated with a mobile edge application instance.", - "operationId": "ApplicationsTrafficRule.GET", + "operationId": "ApplicationsTrafficRule_GET", "responses": { "200": { "$ref": "#/components/responses/ApplicationsTrafficRule.200" @@ -253,7 +253,7 @@ }, "put": { "description": "This method retrieves information about all the traffic rules associated with a mobile edge application instance.", - "operationId": "ApplicationsTrafficRule.PUT", + "operationId": "ApplicationsTrafficRule_PUT", "responses": { "200": { "$ref": "#/components/responses/ApplicationsTrafficRule.200" @@ -279,7 +279,7 @@ "/services": { "get": { "description": "This method retrieves information about a list of meService resources. This method is typically used in \"service availability query\" procedure", - "operationId": "Services.GET", + "operationId": "Services_GET", "parameters": [ { "$ref": "#/components/parameters/Query.Ser_instance_id" @@ -308,7 +308,7 @@ }, "post": { "description": "This method is used to create a meService resource. This method is typically used in \"service availability update and new service registration\" procedure", - "operationId": "Services.POST", + "operationId": "Services_POST", "responses": { "201": { "$ref": "#/components/responses/Services.201" @@ -336,7 +336,7 @@ ], "get": { "description": "This method retrieves information about a meService resource. This method is typically used in \"service availability query\" procedure", - "operationId": "ServicesServiceId.GET", + "operationId": "ServicesServiceId_GET", "responses": { "200": { "$ref": "#/components/responses/ServicesServiceId.200" @@ -354,7 +354,7 @@ }, "put": { "description": "This method updates the information about a meService resource", - "operationId": "ServicesServiceId.PUT", + "operationId": "ServicesServiceId_PUT", "responses": { "200": { "$ref": "#/components/responses/ServicesServiceId.200" @@ -380,7 +380,7 @@ "/timing/current_time": { "get": { "description": "This method retrieves the information of the platform's current time which corresponds to the get platform time procedure", - "operationId": "TimingCurrentTime.GET", + "operationId": "TimingCurrentTime_GET", "responses": { "200": { "$ref": "#/components/responses/TimingCurrentTime.200" @@ -400,7 +400,7 @@ "/timing/timing_caps": { "get": { "description": "This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query", - "operationId": "TimingCaps.GET", + "operationId": "TimingCaps_GET", "responses": { "200": { "$ref": "#/components/responses/TimingCaps.200" @@ -420,7 +420,7 @@ "/transports": { "get": { "description": "This method retrieves information about a list of available transports. This method is typically used by a service-producing application to discover transports provided by the mobile edge platform in the \"transport information query\" procedure", - "operationId": "Transports.GET", + "operationId": "Transports_GET", "responses": { "200": { "$ref": "#/components/responses/Transports.200" @@ -708,7 +708,7 @@ "type": "string", "example": "192.0.2.0" }, - "EndPointInfo.Address.Port": { + "EndPointInfo.Address_Port": { "description": "Port portion of the address", "type": "integer", "format": "uint32", @@ -722,7 +722,7 @@ "$ref": "#/components/schemas/EndPointInfo.Address.Host" }, "port": { - "$ref": "#/components/schemas/EndPointInfo.Address.Port" + "$ref": "#/components/schemas/EndPointInfo.Address_Port" } } }, @@ -1132,12 +1132,12 @@ ], "example": "IP_ADDRESS" }, - "TimingCaps.NtpServers.PtpMasterIpAddress": { + "TimingCaps.NtpServers_PtpMasterIpAddress": { "description": "PTP Master IP Address", "type": "string", "example": "192.0.2.0" }, - "TimingCaps.NtpServers.PtpMasterLocalPriority": { + "TimingCaps.NtpServers_PtpMasterLocalPriority": { "description": "PTP Master local priority", "type": "integer", "format": "uint32", @@ -1179,7 +1179,7 @@ } } }, - "TimingCaps.PtpMasters": { + "TimingCaps_PtpMasters": { "description": "NTP server detail.", "type": "object", "required": [ @@ -1189,10 +1189,10 @@ ], "properties": { "ptpMasterIpAddress": { - "$ref": "#/components/schemas/TimingCaps.NtpServers.PtpMasterIpAddress" + "$ref": "#/components/schemas/TimingCaps.NtpServers_PtpMasterIpAddress" }, "ptpMasterLocalPriority": { - "$ref": "#/components/schemas/TimingCaps.NtpServers.PtpMasterLocalPriority" + "$ref": "#/components/schemas/TimingCaps.NtpServers_PtpMasterLocalPriority" }, "delayReqMaxRate": { "$ref": "#/components/schemas/TimingCaps.NtpServers.DelayReqMaxRate" @@ -1239,7 +1239,7 @@ "description": "Available PTP Masters", "type": "array", "items": { - "$ref": "#/components/schemas/TimingCaps.PtpMasters" + "$ref": "#/components/schemas/TimingCaps_PtpMasters" } } } @@ -1404,7 +1404,7 @@ "type": "string", "example": "TrafficRule1" }, - "TrafficRule.Priority": { + "TrafficRule_Priority": { "description": "Priority of this traffic rule. If traffic rule conflicts, the one with higher priority take precedence", "type": "integer", "format": "uint32", @@ -1438,7 +1438,7 @@ "$ref": "#/components/schemas/TrafficRule.FilterType" }, "priority": { - "$ref": "#/components/schemas/TrafficRule.Priority" + "$ref": "#/components/schemas/TrafficRule_Priority" }, "trafficFilter": { "$ref": "#/components/schemas/TrafficFilter" @@ -2100,49 +2100,49 @@ }, "links": { "GetIndividualMeService": { - "operationId": "ServicesServiceId.GET", + "operationId": "ServicesServiceId_GET", "description": "The `serviceId` value returned in the response can be used as the `serviceId` parameter in `GET /services/{serviceId}`", "parameters": { "serviceId": "$response.body#/serviceId" } }, "PutIndividualMeService": { - "operationId": "ServicesServiceId.PUT", + "operationId": "ServicesServiceId_PUT", "description": "The `serviceId` value returned in the response can be used as the `serviceId` parameter in `PUT /services/{serviceId}`", "parameters": { "serviceId": "$response.body#/serviceId" } }, "GetIndividualMeDNSRule": { - "operationId": "ApplicationsDnsRule.GET", + "operationId": "ApplicationsDnsRule_GET", "description": "The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `GET /applications/{appInstanceId}/dns_rules/{dnsRuleId}`", "parameters": { "dnsRuleId": "$response.body#/dnsRuleId" } }, "PutIndividualMeDNSRule": { - "operationId": "ApplicationsDnsRule.PUT", + "operationId": "ApplicationsDnsRule_PUT", "description": "The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `PUT /applications/{appInstanceId}/dns_rules/{dnsRuleId}`", "parameters": { "dnsRuleId": "$response.body#/dnsRuleId" } }, "GetIndividualMeTrafficRule": { - "operationId": "ApplicationsTrafficRule.GET", + "operationId": "ApplicationsTrafficRule_GET", "description": "The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `GET /applications/{appInstanceId}/traffic_rules/{trafficRuleId}`", "parameters": { "trafficRuleId": "$response.body#/trafficRuleId" } }, "PutIndividualMeTrafficRule": { - "operationId": "ApplicationsTrafficRule.PUT", + "operationId": "ApplicationsTrafficRule_PUT", "description": "The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `PUT /applications/{appInstanceId}/traffic_rules/{trafficRuleId}`", "parameters": { "trafficRuleId": "$response.body#/trafficRuleId" } }, "GetIndividualMeMp1Subscription": { - "operationId": "ApplicationsSubscription.GET", + "operationId": "ApplicationsSubscription_GET", "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`", "parameters": { "description": "regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", @@ -2150,7 +2150,7 @@ } }, "DelIndividualMeMp1Subscription": { - "operationId": "ApplicationsSubscription.DELETE", + "operationId": "ApplicationsSubscription_DELETE", "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`", "parameters": { "description": "regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", @@ -2158,7 +2158,7 @@ } }, "GetIndividualMeMp1SubscriptionLinkList": { - "operationId": "ApplicationsSubscription.GET", + "operationId": "ApplicationsSubscription_GET", "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`", "parameters": { "description": "regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", @@ -2166,7 +2166,7 @@ } }, "DelIndividualMeMp1SubscriptionLinkList": { - "operationId": "ApplicationsSubscription.DELETE", + "operationId": "ApplicationsSubscription_DELETE", "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`", "parameters": { "description": "regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", diff --git a/Mp1.yaml b/Mp1.yaml index 8697a0e..c4d661c 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -21,7 +21,7 @@ paths: description: >- This method retrieves information about all the DNS rules associated with a mobile edge application instance. - operationId: ApplicationsDnsRules.GET + operationId: ApplicationsDnsRules_GET responses: '200': $ref: '#/components/responses/ApplicationsDnsRules.200' @@ -39,7 +39,7 @@ paths: description: >- This method retrieves information about a DNS rule associated with a mobile edge application instance. - operationId: ApplicationsDnsRule.GET + operationId: ApplicationsDnsRule_GET responses: '200': $ref: '#/components/responses/ApplicationsDnsRule.200' @@ -51,7 +51,7 @@ paths: $ref: '#/components/responses/Error.404' put: description: 'This method activates, de-activates or updates a traffic rule.' - operationId: ApplicationsDnsRule.PUT + operationId: ApplicationsDnsRule_PUT responses: '200': $ref: '#/components/responses/ApplicationsDnsRule.200' @@ -73,7 +73,7 @@ paths: The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor. - operationId: ApplicationsSubscriptions.GET + operationId: ApplicationsSubscriptions_GET responses: '200': $ref: '#/components/responses/ApplicationsSubscriptions.200' @@ -89,7 +89,7 @@ paths: use case is to create a new subscription to the mobile edge service availability notifications. Upon success, the response contains entity body describing the created subscription. - operationId: ApplicationsSubscriptions.POST + operationId: ApplicationsSubscriptions_POST responses: '201': $ref: '#/components/responses/ApplicationsSubscriptions.201' @@ -116,7 +116,7 @@ paths: The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor. - operationId: ApplicationsSubscription.GET + operationId: ApplicationsSubscription_GET responses: '200': $ref: '#/components/responses/ApplicationsSubscription.200' @@ -131,7 +131,7 @@ paths: This method deletes a meMp1Subscription. This method is typically used in "Unsubscribing from service availability event notifications" procedure. - operationId: ApplicationsSubscription.DELETE + operationId: ApplicationsSubscription_DELETE responses: '204': description: No Content @@ -146,7 +146,7 @@ paths: description: >- This method retrieves information about all the traffic rules associated with a mobile edge application instance. - operationId: ApplicationsTrafficRules.GET + operationId: ApplicationsTrafficRules_GET responses: '200': $ref: '#/components/responses/ApplicationsTrafficRules.200' @@ -164,7 +164,7 @@ paths: description: >- This method retrieves information about all the traffic rules associated with a mobile edge application instance. - operationId: ApplicationsTrafficRule.GET + operationId: ApplicationsTrafficRule_GET responses: '200': $ref: '#/components/responses/ApplicationsTrafficRule.200' @@ -178,7 +178,7 @@ paths: description: >- This method retrieves information about all the traffic rules associated with a mobile edge application instance. - operationId: ApplicationsTrafficRule.PUT + operationId: ApplicationsTrafficRule_PUT responses: '200': $ref: '#/components/responses/ApplicationsTrafficRule.200' @@ -197,7 +197,7 @@ paths: description: >- This method retrieves information about a list of meService resources. This method is typically used in "service availability query" procedure - operationId: Services.GET + operationId: Services_GET parameters: - $ref: '#/components/parameters/Query.Ser_instance_id' - $ref: '#/components/parameters/Query.Ser_name' @@ -216,7 +216,7 @@ paths: This method is used to create a meService resource. This method is typically used in "service availability update and new service registration" procedure - operationId: Services.POST + operationId: Services_POST responses: '201': $ref: '#/components/responses/Services.201' @@ -235,7 +235,7 @@ paths: description: >- This method retrieves information about a meService resource. This method is typically used in "service availability query" procedure - operationId: ServicesServiceId.GET + operationId: ServicesServiceId_GET responses: '200': $ref: '#/components/responses/ServicesServiceId.200' @@ -247,7 +247,7 @@ paths: $ref: '#/components/responses/Error.404' put: description: This method updates the information about a meService resource - operationId: ServicesServiceId.PUT + operationId: ServicesServiceId_PUT responses: '200': $ref: '#/components/responses/ServicesServiceId.200' @@ -266,7 +266,7 @@ paths: description: >- This method retrieves the information of the platform's current time which corresponds to the get platform time procedure - operationId: TimingCurrentTime.GET + operationId: TimingCurrentTime_GET responses: '200': $ref: '#/components/responses/TimingCurrentTime.200' @@ -281,7 +281,7 @@ paths: description: >- This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query - operationId: TimingCaps.GET + operationId: TimingCaps_GET responses: '200': $ref: '#/components/responses/TimingCaps.200' @@ -298,7 +298,7 @@ paths: This method is typically used by a service-producing application to discover transports provided by the mobile edge platform in the "transport information query" procedure - operationId: Transports.GET + operationId: Transports_GET responses: '200': $ref: '#/components/responses/Transports.200' @@ -535,7 +535,7 @@ components: description: Host portion of the address type: string example: 192.0.2.0 - EndPointInfo.Address.Port: + EndPointInfo.Address_Port: description: Port portion of the address type: integer format: uint32 @@ -547,7 +547,7 @@ components: host: $ref: '#/components/schemas/EndPointInfo.Address.Host' port: - $ref: '#/components/schemas/EndPointInfo.Address.Port' + $ref: '#/components/schemas/EndPointInfo.Address_Port' EndPointInfo.Addresses: description: >- Entry point information of the service as one or more pairs of IP @@ -883,11 +883,11 @@ components: - IP_ADDRESS - DNS_NAME example: IP_ADDRESS - TimingCaps.NtpServers.PtpMasterIpAddress: + TimingCaps.NtpServers_PtpMasterIpAddress: description: PTP Master IP Address type: string example: 192.0.2.0 - TimingCaps.NtpServers.PtpMasterLocalPriority: + TimingCaps.NtpServers_PtpMasterLocalPriority: description: PTP Master local priority type: integer format: uint32 @@ -918,7 +918,7 @@ components: $ref: '#/components/schemas/TimingCaps.NtpServers.AuthenticationOption' authenticationKeyNum: $ref: '#/components/schemas/TimingCaps.NtpServers.AuthenticationKeyNum' - TimingCaps.PtpMasters: + TimingCaps_PtpMasters: description: NTP server detail. type: object required: @@ -927,9 +927,9 @@ components: - delayReqMaxRate properties: ptpMasterIpAddress: - $ref: '#/components/schemas/TimingCaps.NtpServers.PtpMasterIpAddress' + $ref: '#/components/schemas/TimingCaps.NtpServers_PtpMasterIpAddress' ptpMasterLocalPriority: - $ref: '#/components/schemas/TimingCaps.NtpServers.PtpMasterLocalPriority' + $ref: '#/components/schemas/TimingCaps.NtpServers_PtpMasterLocalPriority' delayReqMaxRate: $ref: '#/components/schemas/TimingCaps.NtpServers.DelayReqMaxRate' TimingCaps.TimeStamp: @@ -970,7 +970,7 @@ components: description: Available PTP Masters type: array items: - $ref: '#/components/schemas/TimingCaps.PtpMasters' + $ref: '#/components/schemas/TimingCaps_PtpMasters' TrafficFilter.Address: description: Identify the traffic ip address. type: string @@ -1108,7 +1108,7 @@ components: description: Identify the traffic rule. type: string example: TrafficRule1 - TrafficRule.Priority: + TrafficRule_Priority: description: >- Priority of this traffic rule. If traffic rule conflicts, the one with higher priority take precedence @@ -1138,7 +1138,7 @@ components: filterType: $ref: '#/components/schemas/TrafficRule.FilterType' priority: - $ref: '#/components/schemas/TrafficRule.Priority' + $ref: '#/components/schemas/TrafficRule_Priority' trafficFilter: $ref: '#/components/schemas/TrafficFilter' action: @@ -1617,55 +1617,55 @@ components: description: Expected responses from callback consumer, if it accepts the callback links: GetIndividualMeService: - operationId: ServicesServiceId.GET + operationId: ServicesServiceId_GET description: The `serviceId` value returned in the response can be used as the `serviceId` parameter in `GET /services/{serviceId}` parameters: serviceId: '$response.body#/serviceId' PutIndividualMeService: - operationId: ServicesServiceId.PUT + operationId: ServicesServiceId_PUT description: The `serviceId` value returned in the response can be used as the `serviceId` parameter in `PUT /services/{serviceId}` parameters: serviceId: '$response.body#/serviceId' GetIndividualMeDNSRule: - operationId: ApplicationsDnsRule.GET + operationId: ApplicationsDnsRule_GET description: The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `GET /applications/{appInstanceId}/dns_rules/{dnsRuleId}` parameters: dnsRuleId: '$response.body#/dnsRuleId' PutIndividualMeDNSRule: - operationId: ApplicationsDnsRule.PUT + operationId: ApplicationsDnsRule_PUT description: The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `PUT /applications/{appInstanceId}/dns_rules/{dnsRuleId}` parameters: dnsRuleId: '$response.body#/dnsRuleId' GetIndividualMeTrafficRule: - operationId: ApplicationsTrafficRule.GET + operationId: ApplicationsTrafficRule_GET description: The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `GET /applications/{appInstanceId}/traffic_rules/{trafficRuleId}` parameters: trafficRuleId: '$response.body#/trafficRuleId' PutIndividualMeTrafficRule: - operationId: ApplicationsTrafficRule.PUT + operationId: ApplicationsTrafficRule_PUT description: The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `PUT /applications/{appInstanceId}/traffic_rules/{trafficRuleId}` parameters: trafficRuleId: '$response.body#/trafficRuleId' GetIndividualMeMp1Subscription: - operationId: ApplicationsSubscription.GET + operationId: ApplicationsSubscription_GET description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}` parameters: description: regex = \/mp1\/v1\/applications\/.*\/subscriptions\/.*\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute subscriptionId: 'TBC' DelIndividualMeMp1Subscription: - operationId: ApplicationsSubscription.DELETE + operationId: ApplicationsSubscription_DELETE description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}` parameters: description: regex = \/mp1\/v1\/applications\/.*\/subscriptions\/.*\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute subscriptionId: 'TBC' GetIndividualMeMp1SubscriptionLinkList: - operationId: ApplicationsSubscription.GET + operationId: ApplicationsSubscription_GET description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}` parameters: description: regex = \/mp1\/v1\/applications\/.*\/subscriptions\/.*\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute subscriptionId: 'TBC' DelIndividualMeMp1SubscriptionLinkList: - operationId: ApplicationsSubscription.DELETE + operationId: ApplicationsSubscription_DELETE description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}` parameters: description: regex = \/mp1\/v1\/applications\/.*\/subscriptions\/.*\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute diff --git a/README.md b/README.md index 86f1a66..3655537 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Mobile Edge Platform Application Enablement API +# Multi-access Edge Computing Platform Application Enablement API This repository contains OpenAPIs descriptions for the interfaces specified in ETSI GS MEC 011. -- GitLab From 17bdb30b1260b261aa40891c37d97cbbf1927bb5 Mon Sep 17 00:00:00 2001 From: featherstone Date: Wed, 23 Jan 2019 10:42:34 +0000 Subject: [PATCH 06/14] Change content type to text/plain of rEmpty schema to avoid potential JSON parser issues --- Mp1.json | 6 +++--- Mp1.yaml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Mp1.json b/Mp1.json index ad6f609..fe9d2ee 100644 --- a/Mp1.json +++ b/Mp1.json @@ -1936,7 +1936,7 @@ "$ref": "#/components/schemas/ProblemDetails" } }, - "application/json": { + "text/plain": { "schema": { "$ref": "#/components/schemas/Empty" } @@ -1961,7 +1961,7 @@ "$ref": "#/components/schemas/ProblemDetails" } }, - "application/json": { + "text/plain": { "schema": { "$ref": "#/components/schemas/Empty" } @@ -1976,7 +1976,7 @@ "$ref": "#/components/schemas/ProblemDetails" } }, - "application/json": { + "text/plain": { "schema": { "$ref": "#/components/schemas/Empty" } diff --git a/Mp1.yaml b/Mp1.yaml index c4d661c..8d1624c 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -1515,7 +1515,7 @@ components: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - application/json: + text/plain: schema: $ref: '#/components/schemas/Empty' Error.403: @@ -1530,7 +1530,7 @@ components: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - application/json: + text/plain: schema: $ref: '#/components/schemas/Empty' Error.412: @@ -1539,7 +1539,7 @@ components: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - application/json: + text/plain: schema: $ref: '#/components/schemas/Empty' requestBodies: -- GitLab From 9d2c84cad6b761c15caba310345d959eacb6c454 Mon Sep 17 00:00:00 2001 From: featherstone Date: Mon, 28 Jan 2019 13:37:13 +0000 Subject: [PATCH 07/14] Single apostrophe for string. Traffic Filter within TrafficRule changed to array --- Mp1.json | 75 +++++++++-------- Mp1.yaml | 250 ++++++++++++++++++++++++++++--------------------------- 2 files changed, 167 insertions(+), 158 deletions(-) diff --git a/Mp1.json b/Mp1.json index fe9d2ee..c53d4fa 100644 --- a/Mp1.json +++ b/Mp1.json @@ -2,10 +2,10 @@ "openapi": "3.0.0", "servers": [ { - "url": "http://127.0.0.1:8081/exampleAPI/mp1/v1/" + "url": "http://127.0.0.1:8081/mp1/v1/" }, { - "url": "https://127.0.0.1:8081/exampleAPI/mp1/v1/" + "url": "https://127.0.0.1:8081/mp1/v1/" } ], "info": { @@ -445,7 +445,7 @@ }, "AppTerminationNotification.MaxGracefulTimeout": { "description": "Maximum timeout value in seconds for graceful termination or graceful stop of an application instance.", - "type": "string", + "type": "integer", "format": "uint32", "example": 10 }, @@ -712,7 +712,7 @@ "description": "Port portion of the address", "type": "integer", "format": "uint32", - "example": "8080" + "example": 8080 }, "EndPointInfo.Address": { "description": "A IP address and port pair", @@ -1441,7 +1441,10 @@ "$ref": "#/components/schemas/TrafficRule_Priority" }, "trafficFilter": { - "$ref": "#/components/schemas/TrafficFilter" + "type": "array", + "items": { + "$ref": "#/components/schemas/TrafficFilter" + } }, "action": { "$ref": "#/components/schemas/TrafficRule.Action" @@ -1537,7 +1540,7 @@ "RPC_STREAMING", "WEBSOCKET" ], - "example": "JSON" + "example": "REST_HTTP" }, "TunnelInfo.TunnelDstAddress": { "description": "Destination address of the tunnel", @@ -2214,7 +2217,7 @@ "id": "TransId12345", "name": "REST", "description": "REST API", - "type": "JSON", + "type": "REST_HTTP", "protocol": "HTTP", "version": "2.0", "endpoint": { @@ -2224,7 +2227,7 @@ "addresses": [ { "host": "192.0.2.0", - "port": "8080" + "port": 8080 } ] }, @@ -2256,7 +2259,7 @@ "id": "TransId12345", "name": "REST", "description": "REST API", - "type": "JSON", + "type": "REST_HTTP", "protocol": "HTTP", "version": "2.0", "endpoint": { @@ -2266,7 +2269,7 @@ "addresses": [ { "host": "192.0.2.0", - "port": "8080" + "port": 8080 } ] }, @@ -2287,18 +2290,20 @@ "serName": "ExampleService", "filterType": "FLOW", "priority": 1, - "trafficFilter": { - "srcAddress": [ - "192.168.2.0/24", - "192.168.3.0/24" - ], - "dstAddress": [ - "192.127.4.100/32" - ], - "dstPort": [ - 80 - ] - }, + "trafficFilter": [ + { + "srcAddress": [ + "192.168.2.0/24", + "192.168.3.0/24" + ], + "dstAddress": [ + "192.127.4.100/32" + ], + "dstPort": [ + "80" + ] + } + ], "action": "FORWARD_DECAPSULATED", "dstInterface": { "interfaceType": "IP", @@ -2314,18 +2319,20 @@ "serName": "ExampleService", "filterType": "FLOW", "priority": 1, - "trafficFilter": { - "srcAddress": [ - "192.168.2.0/24", - "192.168.3.0/24" - ], - "dstAddress": [ - "192.127.4.100/32" - ], - "dstPort": [ - 80 - ] - }, + "trafficFilter": [ + { + "srcAddress": [ + "192.168.2.0/24", + "192.168.3.0/24" + ], + "dstAddress": [ + "192.127.4.100/32" + ], + "dstPort": [ + "80" + ] + } + ], "action": "FORWARD_DECAPSULATED", "dstInterface": { "interfaceType": "IP", diff --git a/Mp1.yaml b/Mp1.yaml index 8d1624c..c59c1ab 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 servers: - - url: 'http://127.0.0.1:8081/exampleAPI/mp1/v1/' - - url: 'https://127.0.0.1:8081/exampleAPI/mp1/v1/' + - url: 'http://127.0.0.1:8081/mp1/v1/' + - url: 'https://127.0.0.1:8081/mp1/v1/' info: title: Mp1 API version: 1.1.1 @@ -316,13 +316,13 @@ components: description: >- Maximum timeout value in seconds for graceful termination or graceful stop of an application instance. - type: string + type: integer format: uint32 example: 10 AppTerminationNotification.NotificationType: description: Shall be set to AppTerminationNotification. type: string - example: AppTerminationNotification + example: 'AppTerminationNotification' AppTerminationNotification: description: >- This type represents the information that the mobile edge platform @@ -343,7 +343,7 @@ components: AppTerminationNotificationSubscription.AppInstanceId: description: It is used as the filtering criterion for the subscribed events. type: string - example: ID1 + example: 'ID1' AppTerminationNotificationSubscription.CallbackReference: description: >- URI selected by the mobile edge application instance to receive @@ -378,23 +378,23 @@ components: AppTerminationNotificationSubscription.SubscriptionType: description: Shall be set to AppTerminationNotificationSubscription. type: string - example: AppTerminationNotificationSubscription + example: 'AppTerminationNotificationSubscription' CategoryRef.Href: description: Reference of the catalogue type: string - example: catItem1 + example: 'catItem1' CategoryRef.Id: description: Unique identifier of the category type: string - example: id12345 + example: 'id12345' CategoryRef.Name: description: Name of the category type: string - example: RNI + example: 'RNI' CategoryRef.Version: description: Category version type: string - example: version1 + example: 'version1' CategoryRef: description: This type represents the category reference type: object @@ -445,7 +445,7 @@ components: Platform Time Source status. 1 = TRACEABLE - time source is locked to the UTC time source. 2 = NONTRACEABLE - time source is not locked to the UTC time source - example: TRACEABLE + example: 'TRACEABLE' DestinationInterface.InterfaceType: description: Type of the interface type: string @@ -453,15 +453,15 @@ components: - TUNNEL - MAC - IP - example: TUNNEL + example: 'TUNNEL' DestinationInterface.IpAddress: description: IP address of the remote destination type: string - example: 192.0.2.0 + example: '192.0.2.0' DestinationInterface.MacAddress: description: Source address identifies the MAC address of the interface type: string - example: 02-00-00-00-00-00 + example: '02-00-00-00-00-00' DestinationInterface: description: This type represents the destination interface. type: object @@ -481,29 +481,29 @@ components: DnsRule.DomainName: description: FQDN resolved by the DNS rule type: string - example: www.example.com + example: 'www.example.com' DnsRule.Id: description: Identifies the DNS Rule type: string - example: dnsRule1 + example: 'dnsRule1' DnsRule.IpAddress: description: IP address associated with the FQDN resolved by the DNS rule type: string - example: 192.0.2.0 + example: '192.0.2.0' DnsRule.IpAddressType: description: IP address type type: string enum: - IP_V6 - IP_V4 - example: IP_V6 + example: 'IP_V6' DnsRule.State: description: DNS rule state type: string enum: - ACTIVE - INACTIVE - example: ACTIVE + example: 'ACTIVE' DnsRule.Ttl: description: Time to live value type: integer @@ -534,12 +534,12 @@ components: EndPointInfo.Address.Host: description: Host portion of the address type: string - example: 192.0.2.0 + example: '192.0.2.0' EndPointInfo.Address_Port: description: Port portion of the address type: integer format: uint32 - example: '8080' + example: 8080 EndPointInfo.Address: description: A IP address and port pair type: object @@ -564,7 +564,7 @@ components: description: Entry point information of the service type: string format: uri - example: /meMp1/service/EntryPoint + example: '/meMp1/service/EntryPoint' EndPointInfo.Uris: description: >- Entry point information of the service as string, formatted according to @@ -592,7 +592,7 @@ components: description: URI referring to a resource type: string format: uri - example: /meMp1/example + example: '/meMp1/example' Mp1SubscriptionLinkList.Links: description: Self-referring URI. type: object @@ -675,12 +675,12 @@ components: - OAUTH2_IMPLICIT_GRANT - OAUTH2_RESOURCE_OWNER - OAUTH2_CLIENT_CREDENTIALS - example: OAUTH2_CLIENT_CREDENTIALS + example: 'OAUTH2_CLIENT_CREDENTIALS' SecurityInfo.OAuth2Info.TokenEndpoint: description: The token endpoint type: string format: uri - example: /meMp1/security/TokenEndPoint + example: '/meMp1/security/TokenEndPoint' SecurityInfo.OAuth2Info: description: Parameters related to use of OAuth 2.0 required: @@ -742,7 +742,7 @@ components: SerAvailabilityNotificationSubscription.SubscriptionType: description: Shall be set to SerAvailabilityNotificationSubscription. type: string - example: SerAvailabilityNotificationSubscription + example: 'SerAvailabilityNotificationSubscription' ServiceAvailabilityNotification: description: >- This type represents the service availability information. @@ -775,20 +775,20 @@ components: platform. type: string readOnly: true - example: ServiceInstance123 + example: 'ServiceInstance123' ServiceInfo.SerName: description: >- The name of the service. This is how the service producing mobile edge application identifies the service instance it produces. type: string - example: ExampleService + example: 'ExampleService' ServiceInfo.State: description: Contains the state type: string enum: - ACTIVE - INACTIVE - example: ACTIVE + example: 'ACTIVE' ServiceInfo.TransportId: description: >- Identifier of the platform-provided transport to be used by the service. @@ -797,11 +797,11 @@ components: platform-provided transport for the service, and shall be absent otherwise. type: string - example: Rest1 + example: 'Rest1' ServiceInfo.Version: description: Service version type: string - example: ServiceVersion1 + example: 'ServiceVersion1' ServiceInfo: description: This type represents the general information of a mobile edge service. type: object @@ -847,7 +847,7 @@ components: - NONE - SYMMETRIC_KEY - AUTO_KEY - example: NONE + example: 'NONE' TimingCaps.NtpServers.DelayReqMaxRate: description: Acceptable maximum rate of the Delay_Req messages in packets per second type: integer @@ -875,18 +875,18 @@ components: TimingCaps.NtpServers.NtpServerAddr: description: NTP server address type: string - example: 192.0.2.0 + example: '192.0.2.0' TimingCaps.NtpServers.NtpServerAddrType: description: Address type of NTP server type: string enum: - IP_ADDRESS - DNS_NAME - example: IP_ADDRESS + example: 'IP_ADDRESS' TimingCaps.NtpServers_PtpMasterIpAddress: description: PTP Master IP Address type: string - example: 192.0.2.0 + example: '192.0.2.0' TimingCaps.NtpServers_PtpMasterLocalPriority: description: PTP Master local priority type: integer @@ -974,7 +974,7 @@ components: TrafficFilter.Address: description: Identify the traffic ip address. type: string - example: 192.168.1.1 + example: '192.168.1.1' TrafficFilter.DSCP: description: >- Used to match all IPv4 packets that have the same Differentiated @@ -1094,7 +1094,7 @@ components: - PASSTHROUGH - DUPLICATE_DECAPSULATED - DUPLICATE_AS_IS - example: DROP + example: 'DROP' TrafficRule.FilterType: description: >- Definition of filter per FLOW or PACKET. If flow the filter match @@ -1107,7 +1107,7 @@ components: TrafficRule.Id: description: Identify the traffic rule. type: string - example: TrafficRule1 + example: 'TrafficRule1' TrafficRule_Priority: description: >- Priority of this traffic rule. If traffic rule conflicts, the one with @@ -1121,7 +1121,7 @@ components: enum: - ACTIVE - INACTIVE - example: ACTIVE + example: 'ACTIVE' TrafficRule: description: This type represents the general information of a traffic rule. type: object @@ -1140,7 +1140,9 @@ components: priority: $ref: '#/components/schemas/TrafficRule_Priority' trafficFilter: - $ref: '#/components/schemas/TrafficFilter' + type: array + items: + $ref: '#/components/schemas/TrafficFilter' action: $ref: '#/components/schemas/TrafficRule.Action' dstInterface: @@ -1150,22 +1152,22 @@ components: TransportInfo.Description: description: Human-readable description of this transport type: string - example: REST API + example: 'REST API' TransportInfo.Id: description: The identifier of this transport type: string - example: TransId12345 + example: 'TransId12345' TransportInfo.ImplSpecificInfo: description: Additional implementation specific details of the transport type: object TransportInfo.Name: description: The name of this transport type: string - example: REST + example: 'REST' TransportInfo.Protocol: description: The name of the protocol used. Shall be set to HTTP for a REST API. type: string - example: HTTP + example: 'HTTP' TransportInfo.Version: description: The version of the protocol used type: string @@ -1211,7 +1213,7 @@ components: - RPC - RPC_STREAMING - WEBSOCKET - example: JSON + example: 'REST_HTTP' TunnelInfo.TunnelDstAddress: description: Destination address of the tunnel type: string @@ -1226,7 +1228,7 @@ components: enum: - GTP_U - GRE - example: GTP_U + example: 'GTP_U' TunnelInfo: description: This type represents the tunnel information. type: object @@ -1673,115 +1675,115 @@ components: examples: DnsRule: value: - dnsRuleId: DnsRule1 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.3 + dnsRuleId: 'DnsRule1' + domainName: 'www.example.com' + ipAddressType: 'IP_V4' + ipAddress: '146.241.7.3' ttl: 300 - state: ACTIVE + state: 'ACTIVE' DnsRules: value: - - dnsRuleId: DnsRule1 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.3 + - dnsRuleId: 'DnsRule1' + domainName: 'www.example.com' + ipAddressType: 'IP_V4' + ipAddress: '146.241.7.3' ttl: 300 - state: ACTIVE + state: 'ACTIVE' ServiceInfo: value: - serInstanceId: ServiceInstance123 - serName: ExampleService + serInstanceId: 'ServiceInstance123' + serName: 'ExampleService' serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportId: Rest1 + href: 'catItem1' + id: 'id12345' + name: 'RNI' + version: 'version1' + version: 'ServiceVersion1' + state: 'ACTIVE' + transportId: 'Rest1' transportInfo: - id: TransId12345 - name: REST - description: REST API - type: JSON - protocol: HTTP + id: 'TransId12345' + name: 'REST' + description: 'REST API' + type: 'REST_HTTP' + protocol: 'HTTP' version: '2.0' endpoint: uris: - - /meMp1/service/EntryPoint + - '/meMp1/service/EntryPoint' addresses: - - host: 192.0.2.0 - port: '8080' + - host: '192.0.2.0' + port: 8080 security: oAuth2Info: - grantTypes: OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /meMp1/security/TokenEndPoint - serializer: JSON + grantTypes: 'OAUTH2_CLIENT_CREDENTIALS' + tokenEndpoint: '/meMp1/security/TokenEndPoint' + serializer: 'JSON' ServiceInfoList: value: - - serInstanceId: ServiceInstance123 - serName: ExampleService + - serInstanceId: 'ServiceInstance123' + serName: 'ExampleService' serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportId: Rest1 + href: 'catItem1' + id: 'id12345' + name: 'RNI' + version: 'version1' + version: 'ServiceVersion1' + state: 'ACTIVE' + transportId: 'Rest1' transportInfo: - id: TransId12345 - name: REST - description: REST API - type: JSON - protocol: HTTP + id: 'TransId12345' + name: 'REST' + description: 'REST API' + type: 'REST_HTTP' + protocol: 'HTTP' version: '2.0' endpoint: uris: - - /meMp1/service/EntryPoint + - '/meMp1/service/EntryPoint' addresses: - - host: 192.0.2.0 - port: '8080' + - host: '192.0.2.0' + port: 8080 security: oAuth2Info: - grantTypes: OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /meMp1/security/TokenEndPoint - serializer: JSON + grantTypes: 'OAUTH2_CLIENT_CREDENTIALS' + tokenEndpoint: '/meMp1/security/TokenEndPoint' + serializer: 'JSON' TrafficRule: value: - trafficRuleId: TrafficRule123 - serName: ExampleService - filterType: FLOW + trafficRuleId: 'TrafficRule123' + serName: 'ExampleService' + filterType: 'FLOW' priority: 1 trafficFilter: - srcAddress: - - 192.168.2.0/24 - - 192.168.3.0/24 - dstAddress: - - 192.127.4.100/32 - dstPort: - - 80 - action: FORWARD_DECAPSULATED + - srcAddress: + - '192.168.2.0/24' + - '192.168.3.0/24' + dstAddress: + - '192.127.4.100/32' + dstPort: + - '80' + action: 'FORWARD_DECAPSULATED' dstInterface: - interfaceType: IP - dstIpAddress: 20.1.1.1 - state: ACTIVE + interfaceType: 'IP' + dstIpAddress: '20.1.1.1' + state: 'ACTIVE' TrafficRules: value: - - trafficRuleId: TrafficRule123 - serName: ExampleService - filterType: FLOW + - trafficRuleId: 'TrafficRule123' + serName: 'ExampleService' + filterType: 'FLOW' priority: 1 trafficFilter: - srcAddress: - - 192.168.2.0/24 - - 192.168.3.0/24 - dstAddress: - - 192.127.4.100/32 - dstPort: - - 80 - action: FORWARD_DECAPSULATED + - srcAddress: + - '192.168.2.0/24' + - '192.168.3.0/24' + dstAddress: + - '192.127.4.100/32' + dstPort: + - '80' + action: 'FORWARD_DECAPSULATED' dstInterface: - interfaceType: IP - dstIpAddress: 20.1.1.1 - state: ACTIVE \ No newline at end of file + interfaceType: 'IP' + dstIpAddress: '20.1.1.1' + state: 'ACTIVE' \ No newline at end of file -- GitLab From f102112e99ee57d7fe93721a3b350709597bf6e6 Mon Sep 17 00:00:00 2001 From: featherstone Date: Mon, 28 Jan 2019 16:22:24 +0000 Subject: [PATCH 08/14] subscriptionType in path has only 2 possibilities --- Mp1.json | 6 +++++- Mp1.yaml | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Mp1.json b/Mp1.json index c53d4fa..c960089 100644 --- a/Mp1.json +++ b/Mp1.json @@ -1614,7 +1614,11 @@ "in": "path", "required": true, "schema": { - "type": "string" + "type": "string", + "enum": [ + "AppTerminationNotificationSubscription", + "SerAvailabilityNotificationSubscription" + ] } }, "Path.ServiceId": { diff --git a/Mp1.yaml b/Mp1.yaml index c59c1ab..0990f87 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -1276,6 +1276,9 @@ components: required: true schema: type: string + enum: + - AppTerminationNotificationSubscription + - SerAvailabilityNotificationSubscription Path.ServiceId: name: serviceId description: Represents a mobile edge service instance. -- GitLab From 62dc8425fdba5467c231efe68e3021cbf46f042b Mon Sep 17 00:00:00 2001 From: featherstone Date: Thu, 28 Feb 2019 21:39:59 +0000 Subject: [PATCH 09/14] oAuth2Info is not a required parameter & used oneOf for endpoint --- Mp1.json | 41 +++++++++++++---------------------------- Mp1.yaml | 2 -- 2 files changed, 13 insertions(+), 30 deletions(-) diff --git a/Mp1.json b/Mp1.json index c960089..6c42dc4 100644 --- a/Mp1.json +++ b/Mp1.json @@ -750,21 +750,6 @@ "$ref": "#/components/schemas/EndPointInfo.Uri" } }, - "EndPointInfo": { - "description": "This type represents information about a transport endpoint", - "type": "object", - "properties": { - "uris": { - "$ref": "#/components/schemas/EndPointInfo.Uris" - }, - "addresses": { - "$ref": "#/components/schemas/EndPointInfo.Addresses" - }, - "alternative": { - "$ref": "#/components/schemas/EndPointInfo.Alternative" - } - } - }, "LinkType": { "description": "This type represents a type of link and may be referenced from data structures", "type": "object", @@ -911,9 +896,6 @@ "SecurityInfo": { "description": "This type represents security information related to a transport", "type": "object", - "required": [ - "oAuth2Info" - ], "properties": { "oAuth2Info": { "$ref": "#/components/schemas/SecurityInfo.OAuth2Info" @@ -1518,7 +1500,19 @@ "$ref": "#/components/schemas/TransportInfo.Version" }, "endpoint": { - "$ref": "#/components/schemas/EndPointInfo" + "description": "This type represents information about a transport endpoint", + "type": "object", + "oneOf": [ + { + "$ref": "#/components/schemas/EndPointInfo.Uris" + }, + { + "$ref": "#/components/schemas/EndPointInfo.Addresses" + }, + { + "$ref": "#/components/schemas/EndPointInfo.Alternative" + } + ] }, "security": { "$ref": "#/components/schemas/SecurityInfo" @@ -2227,12 +2221,6 @@ "endpoint": { "uris": [ "/meMp1/service/EntryPoint" - ], - "addresses": [ - { - "host": "192.0.2.0", - "port": 8080 - } ] }, "security": { @@ -2267,9 +2255,6 @@ "protocol": "HTTP", "version": "2.0", "endpoint": { - "uris": [ - "/meMp1/service/EntryPoint" - ], "addresses": [ { "host": "192.0.2.0", diff --git a/Mp1.yaml b/Mp1.yaml index 0990f87..d078e28 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -695,8 +695,6 @@ components: SecurityInfo: description: This type represents security information related to a transport type: object - required: - - oAuth2Info properties: oAuth2Info: $ref: '#/components/schemas/SecurityInfo.OAuth2Info' -- GitLab From dba7448483e3f695f8b057f7d19fbd0fa5e61a24 Mon Sep 17 00:00:00 2001 From: featherstone Date: Thu, 28 Feb 2019 21:43:08 +0000 Subject: [PATCH 10/14] oAuth2Info is not a required parameter & used oneOf for endpoint --- Mp1.yaml | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/Mp1.yaml b/Mp1.yaml index d078e28..d6ee920 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -572,16 +572,6 @@ components: type: array items: $ref: '#/components/schemas/EndPointInfo.Uri' - EndPointInfo: - description: This type represents information about a transport endpoint - type: object - properties: - uris: - $ref: '#/components/schemas/EndPointInfo.Uris' - addresses: - $ref: '#/components/schemas/EndPointInfo.Addresses' - alternative: - $ref: '#/components/schemas/EndPointInfo.Alternative' LinkType: description: This type represents a type of link and may be referenced from data structures type: object @@ -1195,7 +1185,12 @@ components: version: $ref: '#/components/schemas/TransportInfo.Version' endpoint: - $ref: '#/components/schemas/EndPointInfo' + description: This type represents information about a transport endpoint + type: object + oneOf: + - $ref: '#/components/schemas/EndPointInfo.Uris' + - $ref: '#/components/schemas/EndPointInfo.Addresses' + - $ref: '#/components/schemas/EndPointInfo.Alternative' security: $ref: '#/components/schemas/SecurityInfo' implSpecificInfo: @@ -1712,9 +1707,6 @@ components: endpoint: uris: - '/meMp1/service/EntryPoint' - addresses: - - host: '192.0.2.0' - port: 8080 security: oAuth2Info: grantTypes: 'OAUTH2_CLIENT_CREDENTIALS' @@ -1740,8 +1732,6 @@ components: protocol: 'HTTP' version: '2.0' endpoint: - uris: - - '/meMp1/service/EntryPoint' addresses: - host: '192.0.2.0' port: 8080 -- GitLab From c6b25b4b2d90f175f62c6cfffe2543950ea82830 Mon Sep 17 00:00:00 2001 From: featherstone Date: Thu, 28 Feb 2019 22:00:10 +0000 Subject: [PATCH 11/14] correct used oneOf for endpoint --- Mp1.json | 40 +++++++++++++++++++++++++++++++++------- Mp1.yaml | 29 +++++++++++++++++++++++------ 2 files changed, 56 insertions(+), 13 deletions(-) diff --git a/Mp1.json b/Mp1.json index 6c42dc4..6060e9f 100644 --- a/Mp1.json +++ b/Mp1.json @@ -728,14 +728,31 @@ }, "EndPointInfo.Addresses": { "description": "Entry point information of the service as one or more pairs of IP address and port", - "type": "array", - "items": { - "$ref": "#/components/schemas/EndPointInfo.Address" + "type": "object", + "required": [ + "addresses" + ], + "properties": { + "addresses": { + "type": "array", + "minItems": 0, + "items": { + "$ref": "#/components/schemas/EndPointInfo.Address" + } + } } }, "EndPointInfo.Alternative": { "description": "Entry point information of the service in a format defined by an implementation, or in an external specification.", - "type": "object" + "type": "object", + "required": [ + "alternative" + ], + "properties": { + "alternative": { + "type": "object" + } + } }, "EndPointInfo.Uri": { "description": "Entry point information of the service", @@ -745,9 +762,18 @@ }, "EndPointInfo.Uris": { "description": "Entry point information of the service as string, formatted according to URI syntax", - "type": "array", - "items": { - "$ref": "#/components/schemas/EndPointInfo.Uri" + "type": "object", + "required": [ + "uris" + ], + "properties": { + "uris": { + "type": "array", + "minItems": 0, + "items": { + "$ref": "#/components/schemas/EndPointInfo.Uri" + } + } } }, "LinkType": { diff --git a/Mp1.yaml b/Mp1.yaml index d6ee920..bcfda28 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -552,14 +552,25 @@ components: description: >- Entry point information of the service as one or more pairs of IP address and port - type: array - items: - $ref: '#/components/schemas/EndPointInfo.Address' + type: object + required: + - addresses + properties: + addresses: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/EndPointInfo.Address' EndPointInfo.Alternative: 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 EndPointInfo.Uri: description: Entry point information of the service type: string @@ -569,9 +580,15 @@ components: description: >- Entry point information of the service as string, formatted according to URI syntax - type: array - items: - $ref: '#/components/schemas/EndPointInfo.Uri' + type: object + required: + - uris + properties: + uris: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/EndPointInfo.Uri' LinkType: description: This type represents a type of link and may be referenced from data structures type: object -- GitLab From b3e176c42c5b0e0b5a5e0195d35c9520e7bac7f8 Mon Sep 17 00:00:00 2001 From: featherstone Date: Fri, 1 Mar 2019 09:42:17 +0000 Subject: [PATCH 12/14] host and port are required for an EndPointInfo addresses array instance --- Mp1.json | 4 ++++ Mp1.yaml | 3 +++ 2 files changed, 7 insertions(+) diff --git a/Mp1.json b/Mp1.json index 6060e9f..97aed2f 100644 --- a/Mp1.json +++ b/Mp1.json @@ -717,6 +717,10 @@ "EndPointInfo.Address": { "description": "A IP address and port pair", "type": "object", + "required": [ + "host", + "port" + ], "properties": { "host": { "$ref": "#/components/schemas/EndPointInfo.Address.Host" diff --git a/Mp1.yaml b/Mp1.yaml index bcfda28..9ecfee1 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -543,6 +543,9 @@ components: EndPointInfo.Address: description: A IP address and port pair type: object + required: + - host + - port properties: host: $ref: '#/components/schemas/EndPointInfo.Address.Host' -- GitLab From 94b47400fdb4ec944c271fa5c39951348b0e10b2 Mon Sep 17 00:00:00 2001 From: featherstone Date: Fri, 8 Mar 2019 14:38:29 +0000 Subject: [PATCH 13/14] Removed transportId from ServieInfo examples --- Mp1.json | 2 -- Mp1.yaml | 2 -- 2 files changed, 4 deletions(-) diff --git a/Mp1.json b/Mp1.json index 97aed2f..115ac0c 100644 --- a/Mp1.json +++ b/Mp1.json @@ -2240,7 +2240,6 @@ }, "version": "ServiceVersion1", "state": "ACTIVE", - "transportId": "Rest1", "transportInfo": { "id": "TransId12345", "name": "REST", @@ -2276,7 +2275,6 @@ }, "version": "ServiceVersion1", "state": "ACTIVE", - "transportId": "Rest1", "transportInfo": { "id": "TransId12345", "name": "REST", diff --git a/Mp1.yaml b/Mp1.yaml index 9ecfee1..b0dc670 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -1716,7 +1716,6 @@ components: version: 'version1' version: 'ServiceVersion1' state: 'ACTIVE' - transportId: 'Rest1' transportInfo: id: 'TransId12345' name: 'REST' @@ -1743,7 +1742,6 @@ components: version: 'version1' version: 'ServiceVersion1' state: 'ACTIVE' - transportId: 'Rest1' transportInfo: id: 'TransId12345' name: 'REST' -- GitLab From 17e38d978faad5b1d4adedb6507727680f7347b4 Mon Sep 17 00:00:00 2001 From: featherstone Date: Fri, 8 Mar 2019 14:38:29 +0000 Subject: [PATCH 14/14] Sepeated ServiceInfo POST message body Signed-off-by: featherstone --- Mp1.json | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- Mp1.yaml | 53 +++++++++++++++++++++++++++++++++++---- 2 files changed, 120 insertions(+), 9 deletions(-) diff --git a/Mp1.json b/Mp1.json index 97aed2f..53523b0 100644 --- a/Mp1.json +++ b/Mp1.json @@ -324,7 +324,7 @@ } }, "requestBody": { - "$ref": "#/components/requestBodies/Services" + "$ref": "#/components/requestBodies/Services.Post" } } }, @@ -1035,6 +1035,7 @@ "ServiceInfo.TransportId": { "description": "Identifier of the platform-provided transport to be used by the service. Valid identifiers may be obtained using the \"Transport information query\" procedure. May be present in POST requests to signal the use of a platform-provided transport for the service, and shall be absent otherwise.", "type": "string", + "writeOnly": true, "example": "Rest1" }, "ServiceInfo.Version": { @@ -1042,7 +1043,7 @@ "type": "string", "example": "ServiceVersion1" }, - "ServiceInfo": { + "ServiceInfo.Post": { "description": "This type represents the general information of a mobile edge service.", "type": "object", "required": [ @@ -1051,6 +1052,18 @@ "state", "serializer" ], + "oneOf": [ + { + "required": [ + "transportId" + ] + }, + { + "required": [ + "transportInfo" + ] + } + ], "properties": { "serInstanceId": { "$ref": "#/components/schemas/ServiceInfo.SerInstanceId" @@ -1078,6 +1091,40 @@ } } }, + "ServiceInfo": { + "description": "This type represents the general information of a mobile edge service.", + "type": "object", + "required": [ + "serName", + "version", + "state", + "transportInfo", + "serializer" + ], + "properties": { + "serInstanceId": { + "$ref": "#/components/schemas/ServiceInfo.SerInstanceId" + }, + "serName": { + "$ref": "#/components/schemas/ServiceInfo.SerName" + }, + "serCategory": { + "$ref": "#/components/schemas/CategoryRef" + }, + "version": { + "$ref": "#/components/schemas/ServiceInfo.Version" + }, + "state": { + "$ref": "#/components/schemas/ServiceInfo.State" + }, + "transportInfo": { + "$ref": "#/components/schemas/TransportInfo" + }, + "serializer": { + "$ref": "#/components/schemas/SerializerTypes" + } + } + }, "Subscription": { "description": "A link to the related subscription", "type": "object", @@ -1957,6 +2004,11 @@ } } } + }, + "links": { + "getTransportInfo": { + "$ref": "#/components/links/GetTransportInfo" + } } }, "Error.400": { @@ -2067,6 +2119,17 @@ "description": "New ServiceInfo with updated \"state\" is included as entity body of the request", "required": true }, + "Services.Post": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceInfo.Post" + } + } + }, + "description": "New ServiceInfo with updated \"state\" is included as entity body of the request", + "required": true + }, "ServicesServiceId": { "content": { "application/json": { @@ -2172,6 +2235,13 @@ "trafficRuleId": "$response.body#/trafficRuleId" } }, + "GetTransportInfo": { + "operationId": "AppServices_POST", + "description": "The `id` value returned in the response can be used as the `transportId` parameter in `POST /applications/{appInstanceId}/services`. The first transport is provided as the link as wildcards are not supported", + "parameters": { + "transportId": "$response.body#/0/id" + } + }, "GetIndividualMeMp1Subscription": { "operationId": "ApplicationsSubscription_GET", "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`", @@ -2240,7 +2310,6 @@ }, "version": "ServiceVersion1", "state": "ACTIVE", - "transportId": "Rest1", "transportInfo": { "id": "TransId12345", "name": "REST", @@ -2276,7 +2345,6 @@ }, "version": "ServiceVersion1", "state": "ACTIVE", - "transportId": "Rest1", "transportInfo": { "id": "TransId12345", "name": "REST", diff --git a/Mp1.yaml b/Mp1.yaml index 9ecfee1..0d346f6 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -227,7 +227,7 @@ paths: '404': $ref: '#/components/responses/Error.404' requestBody: - $ref: '#/components/requestBodies/Services' + $ref: '#/components/requestBodies/Services.Post' '/services/{serviceId}': parameters: - $ref: '#/components/parameters/Path.ServiceId' @@ -776,7 +776,7 @@ components: - JSON - XML - PROTOBUF3 - example: JSON + example: 'JSON' ServiceInfo.SerInstanceId: description: >- Identifier of the service instance assigned by the MEPM / mobile edge @@ -805,12 +805,13 @@ components: platform-provided transport for the service, and shall be absent otherwise. type: string + writeOnly: true example: 'Rest1' ServiceInfo.Version: description: Service version type: string example: 'ServiceVersion1' - ServiceInfo: + ServiceInfo.Post: description: This type represents the general information of a mobile edge service. type: object required: @@ -818,6 +819,9 @@ components: - version - state - serializer + oneOf: + - required: [transportId] + - required: [transportInfo] properties: serInstanceId: $ref: '#/components/schemas/ServiceInfo.SerInstanceId' @@ -835,6 +839,30 @@ components: $ref: '#/components/schemas/TransportInfo' serializer: $ref: '#/components/schemas/SerializerTypes' + ServiceInfo: + description: This type represents the general information of a mobile edge service. + type: object + required: + - serName + - version + - state + - transportInfo + - serializer + properties: + serInstanceId: + $ref: '#/components/schemas/ServiceInfo.SerInstanceId' + serName: + $ref: '#/components/schemas/ServiceInfo.SerName' + serCategory: + $ref: '#/components/schemas/CategoryRef' + version: + $ref: '#/components/schemas/ServiceInfo.Version' + state: + $ref: '#/components/schemas/ServiceInfo.State' + transportInfo: + $ref: '#/components/schemas/TransportInfo' + serializer: + $ref: '#/components/schemas/SerializerTypes' Subscription: description: A link to the related subscription type: object @@ -1527,6 +1555,9 @@ components: minItems: 0 items: $ref: '#/components/schemas/TransportInfo' + links: + getTransportInfo: + $ref: '#/components/links/GetTransportInfo' Error.400: description: Bad Request content: @@ -1595,6 +1626,15 @@ components: New ServiceInfo with updated "state" is included as entity body of the request required: true + Services.Post: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceInfo.Post' + description: >- + New ServiceInfo with updated "state" is included as entity body of the + request + required: true ServicesServiceId: content: application/json: @@ -1664,6 +1704,11 @@ components: description: The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `PUT /applications/{appInstanceId}/traffic_rules/{trafficRuleId}` parameters: trafficRuleId: '$response.body#/trafficRuleId' + GetTransportInfo: + operationId: AppServices_POST + description: The `id` value returned in the response can be used as the `transportId` parameter in `POST /applications/{appInstanceId}/services`. The first transport is provided as the link as wildcards are not supported + parameters: + transportId: '$response.body#/0/id' GetIndividualMeMp1Subscription: operationId: ApplicationsSubscription_GET description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}` @@ -1716,7 +1761,6 @@ components: version: 'version1' version: 'ServiceVersion1' state: 'ACTIVE' - transportId: 'Rest1' transportInfo: id: 'TransId12345' name: 'REST' @@ -1743,7 +1787,6 @@ components: version: 'version1' version: 'ServiceVersion1' state: 'ACTIVE' - transportId: 'Rest1' transportInfo: id: 'TransId12345' name: 'REST' -- GitLab