Commit 7e21cc6e authored by Walter Featherstone's avatar Walter Featherstone

Moving from Swagger 2.0 to OpenAPI 3.0

parents 7daaee41 ec6d7b0b
This source diff could not be displayed because it is too large. You can view the blob instead.
################################################################################
# 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
This source diff could not be displayed because it is too large. You can view the blob instead.
# Multi-access Edge Computing (MEC); MEC 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. This repository contains OpenAPIs descriptions for the interfaces specified in ETSI GS MEC 011.
## Online resources ## Online resources
* [Specification document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/01.01.01_60/gs_mec011v010101p.pdf) * [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). * [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/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/develop/Mp1.yaml).
......
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
description: Shall be set to AppTerminationNotification.
type: string
example: 'AppTerminationNotification'
\ No newline at end of file
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
description: It is used as the filtering criterion for the subscribed events.
type: string
example: 'ID1'
\ No newline at end of file
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
description: Shall be set to AppTerminationNotificationSubscription.
type: string
example: 'AppTerminationNotificationSubscription'
\ No newline at end of file
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
description: Reference of the catalogue
type: string
example: 'catItem1'
\ No newline at end of file
description: Unique identifier of the category
type: string
example: 'id12345'
\ No newline at end of file
description: Name of the category
type: string
example: 'RNI'
\ No newline at end of file
description: Category version
type: string
example: 'version1'
\ No newline at end of file
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
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
description: Type of the interface
type: string
enum:
- TUNNEL
- MAC
- IP
example: 'TUNNEL'
\ No newline at end of file
description: IP address of the remote destination
type: string
example: '192.0.2.0'
\ No newline at end of file
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
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
description: FQDN resolved by the DNS rule
type: string
example: 'www.example.com'
\ No newline at end of file
description: Identifies the DNS Rule
type: string
example: 'dnsRule1'
\ No newline at end of file
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
description: IP address type
type: string
enum:
- IP_V6
- IP_V4
example: 'IP_V6'
\ No newline at end of file
description: DNS rule state
type: string
enum:
- ACTIVE
- INACTIVE
example: 'ACTIVE'
\ No newline at end of file
description: Time to live value
type: integer
format: uint32
example: '?'
\ No newline at end of file
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
description: Host portion of the address
type: string
example: '192.0.2.0'
\ No newline at end of file
description: Port portion of the address
type: integer
format: uint32
example: 8080
\ No newline at end of file
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
description: Entry point information of the service as one or more pairs of IP address and port
type: array
items:
$ref: '#/definitions/EndPointInfo.Address'
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
description: Entry point information of the service
type: string
format: uri
example: '/meMp1/service/EntryPoint'
\ No newline at end of file
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
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
description: URI referring to a resource
type: string
format: uri
readOnly: true
example: '/meMp1/example'
\ No newline at end of file
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
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
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
type: string
description: >-
A human-readable explanation specific to this occurrence of the problem
type: string
format: uri
description: >-
A URI reference that identifies the specific occurrence of the problem
type: integer
format: uint32
description: >-
The HTTP status code for this occurrence of the problem
type: string
description: >-
A short, human-readable summary of the problem type
type: string
format: uri
description: >-
A URI reference according to IETF RFC 3986 that identifies the problem type
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'
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
description: The token endpoint
type: string
format: uri
example: '/meMp1/security/TokenEndPoint'
\ No newline at end of file
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
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
description: Self-referring URI.
type: object
required:
- self
properties:
self:
$ref: '#/definitions/LinkType'
readOnly: true
\ No newline at end of file
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
description: Shall be set to SerAvailabilityNotificationSubscription.
type: string
example: 'SerAvailabilityNotificationSubscription'
\ No newline at end of file
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
description: The enumeration SerializerTypes represents types of serializers
type: string
enum:
- JSON
- XML
- PROTOBUF3
example: 'JSON'
\ No newline at end of file
description: Shall be set to SerAvailabilityNotification.
type: string
example: 'SerAvailabilityNotification'
\ No newline at end of file
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
description: Identifier of the service instance assigned by the MEPM / mobile edge platform.
type: string
example: 'ServiceInstance123'
\ No newline at end of file
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
description: Contains the state
type: string
enum:
- ACTIVE
- INACTIVE
example: 'ACTIVE'
\ No newline at end of file
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
description: Service version
type: string
example: 'ServiceVersion1'
\ No newline at end of file
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
description: A link to the related subscription
type: object
required:
- subscription
properties:
subscription:
$ref: '#/definitions/LinkType'
\ No newline at end of file
description: Authentication key number
type: integer
format: uint32
example: 1
\ No newline at end of file
description: NTP authentication option
type: string
enum:
- NONE
- SYMMETRIC_KEY
- AUTO_KEY
example: 'NONE'
\ No newline at end of file
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
description: NTP server local priority
type: integer
format: uint32
example: 1
\ No newline at end of file
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
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
description: NTP server address
type: string
example: '192.0.2.0'
\ No newline at end of file
description: Address type of NTP server
type: string
enum:
- IP_ADDRESS
- DNS_NAME
example: 'IP_ADDRESS'
\ No newline at end of file
description: PTP Master IP Address
type: string
example: '192.0.2.0'
\ No newline at end of file
description: PTP Master local priority
type: integer
format: uint32
example: 1
\ No newline at end of file
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'