Newer
Older

Walter Featherstone
committed
servers:
- url: 'http://127.0.0.1:8081/mec_app_support/v1'
- url: 'https://127.0.0.1:8081/mec_app_support/v1'
title: MEC Application Support API
version: 2.1.1
description: The ETSI MEC ISG MEC011 MEC Application Support API described using OpenAPI
name: BSD-3-Clause
url: 'https://forge.etsi.org/legal-matters'
contact:
email: cti_support@etsi.org
description: 'ETSI GS MEC011 Application Enablement API, V2.1.1'
https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf
- name: appTrafficRules
- name: appDnsRules
- name: appSubscriptions
- name: appConfirmTermination
- name: appConfirmReady
- name: timing
- name: callbacks
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
'/applications/{appInstanceId}/traffic_rules':
parameters:
- $ref: '#/components/parameters/Path.AppInstanceId'
get:
description: >-
This method retrieves information about all the traffic rules associated
with a MEC application instance.
operationId: ApplicationsTrafficRules_GET
tags:
- appTrafficRules
responses:
'200':
$ref: '#/components/responses/ApplicationsTrafficRules.200'
'400':
$ref: '#/components/responses/Error.400'
'403':
$ref: '#/components/responses/Error.403'
'404':
$ref: '#/components/responses/Error.404'
'/applications/{appInstanceId}/traffic_rules/{trafficRuleId}':
parameters:
- $ref: '#/components/parameters/Path.AppInstanceId'
- $ref: '#/components/parameters/Path.TrafficRuleId'
get:
description: >-
This method retrieves information about all the traffic rules associated
with a MEC application instance.
operationId: ApplicationsTrafficRule_GET
tags:
- appTrafficRules
responses:
'200':
$ref: '#/components/responses/ApplicationsTrafficRule.200'
'400':
$ref: '#/components/responses/Error.400'
'403':
$ref: '#/components/responses/Error.403'
'404':
$ref: '#/components/responses/Error.404'
put:
description: >-
This method retrieves information about all the traffic rules associated
with a MEC application instance.
operationId: ApplicationsTrafficRule_PUT
tags:
- appTrafficRules
responses:
'200':
$ref: '#/components/responses/ApplicationsTrafficRule.200'
'400':
$ref: '#/components/responses/Error.400'
'403':
$ref: '#/components/responses/Error.403'
'404':
$ref: '#/components/responses/Error.404'
'412':
$ref: '#/components/responses/Error.412'
requestBody:
$ref: '#/components/requestBodies/ApplicationsTrafficRule'
'/applications/{appInstanceId}/dns_rules':
parameters:

Walter Featherstone
committed
- $ref: '#/components/parameters/Path.AppInstanceId'
description: >-
This method retrieves information about all the DNS rules associated
operationId: ApplicationsDnsRules_GET

Walter Featherstone
committed
$ref: '#/components/responses/ApplicationsDnsRules.200'

Walter Featherstone
committed
$ref: '#/components/responses/Error.400'

Walter Featherstone
committed
$ref: '#/components/responses/Error.403'

Walter Featherstone
committed
$ref: '#/components/responses/Error.404'
'/applications/{appInstanceId}/dns_rules/{dnsRuleId}':
parameters:

Walter Featherstone
committed
- $ref: '#/components/parameters/Path.AppInstanceId'
- $ref: '#/components/parameters/Path.DnsRuleId'
description: >-
This method retrieves information about a DNS rule associated with a
operationId: ApplicationsDnsRule_GET

Walter Featherstone
committed
$ref: '#/components/responses/ApplicationsDnsRule.200'

Walter Featherstone
committed
$ref: '#/components/responses/Error.400'

Walter Featherstone
committed
$ref: '#/components/responses/Error.403'

Walter Featherstone
committed
$ref: '#/components/responses/Error.404'
put:
description: 'This method activates, de-activates or updates a traffic rule.'
operationId: ApplicationsDnsRule_PUT

Walter Featherstone
committed
$ref: '#/components/responses/ApplicationsDnsRule.200'

Walter Featherstone
committed
$ref: '#/components/responses/Error.400'

Walter Featherstone
committed
$ref: '#/components/responses/Error.403'

Walter Featherstone
committed
$ref: '#/components/responses/Error.404'

Walter Featherstone
committed
$ref: '#/components/responses/Error.412'
requestBody:
$ref: '#/components/requestBodies/ApplicationsDnsRule'
'/applications/{appInstanceId}/subscriptions':
parameters:

Walter Featherstone
committed
- $ref: '#/components/parameters/Path.AppInstanceId'
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

Walter Featherstone
committed
$ref: '#/components/responses/ApplicationsSubscriptions.200'

Walter Featherstone
committed
$ref: '#/components/responses/Error.400'

Walter Featherstone
committed
$ref: '#/components/responses/Error.403'

Walter Featherstone
committed
$ref: '#/components/responses/Error.404'
description: >-
The POST method may be used to create a new subscription. One example
use case is to create a new subscription to the MEC service
availability notifications. Upon success, the response contains entity
body describing the created subscription.
operationId: ApplicationsSubscriptions_POST

Walter Featherstone
committed
$ref: '#/components/responses/ApplicationsSubscriptions.201'

Walter Featherstone
committed
$ref: '#/components/responses/Error.400'

Walter Featherstone
committed
$ref: '#/components/responses/Error.403'

Walter Featherstone
committed
$ref: '#/components/responses/Error.404'
requestBody:
$ref: '#/components/requestBodies/ApplicationsSubscriptions'
callbacks:
appTerminationNotification:
$ref: '#/components/callbacks/AppTerminationNotification'
'/applications/{appInstanceId}/subscriptions/{subscriptionId}':
parameters:

Walter Featherstone
committed
- $ref: '#/components/parameters/Path.AppInstanceId'
- $ref: '#/components/parameters/Path.SubscriptionId'
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

Walter Featherstone
committed
$ref: '#/components/responses/ApplicationsSubscription.200'

Walter Featherstone
committed
$ref: '#/components/responses/Error.400'

Walter Featherstone
committed
$ref: '#/components/responses/Error.403'

Walter Featherstone
committed
$ref: '#/components/responses/Error.404'
This method deletes a mecAppSuptApiSubscription. This method is typically used
in "Unsubscribing from service availability event notifications"
procedure.
operationId: ApplicationsSubscription_DELETE
responses:
'204':
description: No Content

Walter Featherstone
committed
$ref: '#/components/responses/Error.403'

Walter Featherstone
committed
$ref: '#/components/responses/Error.404'
'/applications/{appInstanceId}/confirm_termination':
parameters:

Walter Featherstone
committed
- $ref: '#/components/parameters/Path.AppInstanceId'
This method is used to confirm the application level termination
of an application instance.
operationId: ApplicationsConfirmTermination_POST
'204':
description: No Content
'401':
$ref: '#/components/responses/Error.401'

Walter Featherstone
committed
$ref: '#/components/responses/Error.403'

Walter Featherstone
committed
$ref: '#/components/responses/Error.404'
'409':
$ref: '#/components/responses/Error.409'
'429':
$ref: '#/components/responses/Error.429'

Walter Featherstone
committed
requestBody:
$ref: '#/components/requestBodies/ApplicationsConfirmTermination'
'/applications/{appInstanceId}/confirm_ready':
parameters:
- $ref: '#/components/parameters/Path.AppInstanceId'
post:
This method may be used by the MEC application instance to notify the MEC platform that it is up and running.
operationId: ApplicationsConfirmReady_POST
'204':
description: No Content
'401':
$ref: '#/components/responses/Error.401'

Walter Featherstone
committed
$ref: '#/components/responses/Error.403'

Walter Featherstone
committed
$ref: '#/components/responses/Error.404'
'409':
$ref: '#/components/responses/Error.409'
'429':
$ref: '#/components/responses/Error.429'

Walter Featherstone
committed
requestBody:
$ref: '#/components/requestBodies/ApplicationsConfirmReady'

Walter Featherstone
committed
'/timing/timing_caps':
description: >-
This method retrieves the information of the platform's timing
capabilities which corresponds to the timing capabilities query
operationId: TimingCaps_GET

Walter Featherstone
committed
$ref: '#/components/responses/TimingCaps.200'

Walter Featherstone
committed
$ref: '#/components/responses/Error.400'

Walter Featherstone
committed
$ref: '#/components/responses/Error.403'

Walter Featherstone
committed
$ref: '#/components/responses/Error.404'
This method retrieves the information of the platform's current time
which corresponds to the get platform time procedure
operationId: TimingCurrentTime_GET
$ref: '#/components/responses/TimingCurrentTime.200'

Walter Featherstone
committed
$ref: '#/components/responses/Error.400'

Walter Featherstone
committed
$ref: '#/components/responses/Error.403'

Walter Featherstone
committed
$ref: '#/components/responses/Error.404'
components:
schemas:
Empty:
description: Empty schema
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
AppReadyConfirmation:
description: >-
This type represents the information that the MEC application instance indicates to the MEC platform that it is up and running.
type: object
required:
- indication
properties:
indication:
$ref: '#/components/schemas/ReadyIndicationType'
AppTerminationConfirmation:
description: >-
This type represents the information that the MEC application instance provides to the MEC platform when informing it that the application has completed its application level related terminate/stop actions, e.g. retention of application state in the case of stop.
type: object
required:
- operationAction
properties:
operationAction:
$ref: '#/components/schemas/OperationActionType'
AppTerminationNotification.Links:
description: >-
Object containing hyperlinks related to the resource.
type: object
required:
- subscription
properties:
subscription:
$ref: '#/components/schemas/LinkType'
confirmTermination:
$ref: '#/components/schemas/LinkType.ConfirmTermination'

Walter Featherstone
committed
AppTerminationNotification.MaxGracefulTimeout:
description: >-
Maximum timeout value in seconds for graceful termination or graceful
stop of an application instance.

Walter Featherstone
committed
type: integer

Walter Featherstone
committed
format: uint32
example: 10
AppTerminationNotification.NotificationType:
description: Shall be set to AppTerminationNotification.
type: string

Walter Featherstone
committed
example: 'AppTerminationNotification'

Walter Featherstone
committed
AppTerminationNotification:
description: >-
This type represents the information that the MEC platform

Walter Featherstone
committed
notifies the subscribed application instance about the corresponding
application instance termination/stop.
type: object
required:
- notificationType

Walter Featherstone
committed
- maxGracefulTimeout
- _links
properties:
notificationType:
$ref: '#/components/schemas/AppTerminationNotification.NotificationType'
operationAction:
$ref: '#/components/schemas/OperationActionType'

Walter Featherstone
committed
maxGracefulTimeout:
$ref: '#/components/schemas/AppTerminationNotification.MaxGracefulTimeout'
_links:
$ref: '#/components/schemas/AppTerminationNotification.Links'

Walter Featherstone
committed
AppTerminationNotificationSubscription.AppInstanceId:
description: It is used as the filtering criterion for the subscribed events.
type: string

Walter Featherstone
committed
example: 'ID1'

Walter Featherstone
committed
AppTerminationNotificationSubscription.CallbackReference:
description: >-
URI selected by the MEC application instance to receive
notifications on the subscribed MEC application instance

Walter Featherstone
committed
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 MEC platform

Walter Featherstone
committed
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

Walter Featherstone
committed
example: 'AppTerminationNotificationSubscription'

Walter Featherstone
committed
CurrentTime:
description: >-
This type represents the information provided by the MEC

Walter Featherstone
committed
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
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

Walter Featherstone
committed
example: 'TRACEABLE'

Walter Featherstone
committed
DestinationInterface.InterfaceType:
description: Type of the interface
type: string
enum:
- TUNNEL
- MAC
- IP

Walter Featherstone
committed
example: 'TUNNEL'

Walter Featherstone
committed
DestinationInterface.IpAddress:
description: IP address of the remote destination
type: string

Walter Featherstone
committed
example: '192.0.2.0'

Walter Featherstone
committed
DestinationInterface.MacAddress:
description: Source address identifies the MAC address of the interface
type: string

Walter Featherstone
committed
example: '02-00-00-00-00-00'

Walter Featherstone
committed
DestinationInterface:
description: This type represents the destination interface. If the action is FORWARD_DECAPSULATED, FORWARD_ENCAPSULATED or PASSTHROUGH one value shall be provided. If the action is DUPLICATE_DECAPSULATED or DUPLICATE_ENCAPSULATED, two values shall be provided. If the action is DROP, no value shall be provided.

Walter Featherstone
committed
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

Walter Featherstone
committed
example: 'www.example.com'

Walter Featherstone
committed
DnsRule.Id:
description: Identifies the DNS Rule
type: string

Walter Featherstone
committed
example: 'dnsRule1'

Walter Featherstone
committed
DnsRule.IpAddress:
description: IP address associated with the FQDN resolved by the DNS rule
type: string

Walter Featherstone
committed
example: '192.0.2.0'

Walter Featherstone
committed
DnsRule.IpAddressType:
description: IP address type
type: string
enum:
- IP_V6
- IP_V4

Walter Featherstone
committed
example: 'IP_V6'

Walter Featherstone
committed
DnsRule.State:
description: DNS rule state. This attribute may be updated using HTTP PUT method

Walter Featherstone
committed
type: string
enum:
- ACTIVE
- INACTIVE

Walter Featherstone
committed
example: 'ACTIVE'

Walter Featherstone
committed
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
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'
LinkType:
description: This type represents a type of link and may be referenced from data structures
href:
$ref: '#/components/schemas/Href'
LinkType.ConfirmTermination:

Walter Featherstone
committed
description: >-
Link to the task resource where to confirm termination in case the
application is ready to be terminated before expiry of the timeout.

Walter Featherstone
committed
type: object
properties:
href:
$ref: '#/components/schemas/Href'
Href:
description: URI referring to a resource
type: string
format: uri
example: '/mecAppSuptApi/example'
MecAppSuptApiSubscriptionLinkList.Links:

Walter Featherstone
committed
description: Self-referring URI.
type: object
required:
- self
properties:
self:
$ref: '#/components/schemas/LinkType'
subscriptions:
description: The MEC application instance's subscriptions

Walter Featherstone
committed
type: array
items:
$ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList.Subscription'
MecAppSuptApiSubscriptionLinkList.Subscription:

Walter Featherstone
committed
description: A link to a subscription.
type: object
required:
- href
- rel
properties:
href:
$ref: '#/components/schemas/Href'
rel:
description: >-
The values shall be set to AppTerminationNotificationSubscription.

Walter Featherstone
committed
type: string

Walter Featherstone
committed
description: >-
This type represents a list of links related to currently existing
subscriptions for a MEC application instance. This information

Walter Featherstone
committed
is returned when sending a request to receive current subscriptions.
type: object
required:
- _links
properties:
_links:
$ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList.Links'
OperationActionType:
description: Operation that is being performed on the MEC application instance.
type: string
enum:
- STOPPING
- TERMINATING
example: 'TERMINATING'

Walter Featherstone
committed
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
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
ReadyIndicationType:
description: Indication about the MEC application instance.

Walter Featherstone
committed
type: string
enum:

Walter Featherstone
committed
Self:
description: Self-referring URI.
type: object
required:
- self
properties:
self:
$ref: '#/components/schemas/LinkType'
readOnly: true
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

Walter Featherstone
committed
example: 'NONE'

Walter Featherstone
committed
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
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

Walter Featherstone
committed
example: '192.0.2.0'

Walter Featherstone
committed
TimingCaps.NtpServers.NtpServerAddrType:
description: Address type of NTP server
type: string
enum:
- IP_ADDRESS
- DNS_NAME

Walter Featherstone
committed
example: 'IP_ADDRESS'
TimingCaps.NtpServers_PtpMasterIpAddress:

Walter Featherstone
committed
description: PTP Master IP Address
type: string

Walter Featherstone
committed
example: '192.0.2.0'
TimingCaps.NtpServers_PtpMasterLocalPriority:

Walter Featherstone
committed
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
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:

Walter Featherstone
committed
description: NTP server detail.
type: object
required:
- ptpMasterIpAddress
- ptpMasterLocalPriority
- delayReqMaxRate
properties:
ptpMasterIpAddress:
$ref: '#/components/schemas/TimingCaps.NtpServers_PtpMasterIpAddress'

Walter Featherstone
committed
ptpMasterLocalPriority:
$ref: '#/components/schemas/TimingCaps.NtpServers_PtpMasterLocalPriority'

Walter Featherstone
committed
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 MEC

Walter Featherstone
committed
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'

Walter Featherstone
committed
TrafficFilter.Address:
description: Identify the traffic ip address.
type: string

Walter Featherstone
committed
example: '192.168.1.1'

Walter Featherstone
committed
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
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 MEC host data plane when a packet matches the trafficFilter

Walter Featherstone
committed
type: string
enum:
- DROP
- FORWARD_DECAPSULATED

Walter Featherstone
committed
- PASSTHROUGH
- DUPLICATE_DECAPSULATED

Walter Featherstone
committed
example: 'DROP'

Walter Featherstone
committed
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

Walter Featherstone
committed
example: 'TrafficRule1'
TrafficRule_Priority:

Walter Featherstone
committed
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. This attribute may be updated using HTTP PUT method

Walter Featherstone
committed
type: string
enum:
- ACTIVE
- INACTIVE

Walter Featherstone
committed
example: 'ACTIVE'

Walter Featherstone
committed
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'

Walter Featherstone
committed
trafficFilter:

Walter Featherstone
committed
type: array
items:
$ref: '#/components/schemas/TrafficFilter'

Walter Featherstone
committed
action:
$ref: '#/components/schemas/TrafficRule.Action'
dstInterface:
$ref: '#/components/schemas/DestinationInterface'
state:
$ref: '#/components/schemas/TrafficRule.State'
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

Walter Featherstone
committed
example: 'GTP_U'

Walter Featherstone
committed
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 MEC application instance. Note that the
appInstanceId is allocated by the MEC platform manager.

Walter Featherstone
committed
in: path
required: true
schema:

Walter Featherstone
committed
Path.DnsRuleId:
name: dnsRuleId
description: Represents a DNS rule.
in: path
required: true
schema:

Walter Featherstone
committed
Path.SubscriptionId:
name: subscriptionId
description: >-