openapi: 3.0.2 servers: - url: 'http://127.0.0.1:8081/mec_app_support/v1' - url: 'https://127.0.0.1:8081/mec_app_support/v1' info: title: MEC Application Support API version: 2.0.9 description: The ETSI MEC ISG MEC011 MEC Application Support API described using OpenAPI license: name: ETSI Forge copyright notice url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' contact: email: cti_support@etsi.org externalDocs: description: 'ETSI GS MEC011 Application Enablement API, V2.0.9' url: >- https://docbox.etsi.org/ISG/MEC/70-Draft/0011v211Plat.App.Enabl/MEC-0011v211Plat.App.Enablv209.zip tags: - name: appTrafficRules - name: appDnsRules - name: appSubscriptions - name: appConfirmTermination - name: timing - name: callbacks paths: '/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: - $ref: '#/components/parameters/Path.AppInstanceId' get: description: >- This method retrieves information about all the DNS rules associated with a MEC application instance. operationId: ApplicationsDnsRules_GET tags: - appDnsRules responses: '200': $ref: '#/components/responses/ApplicationsDnsRules.200' '400': $ref: '#/components/responses/Error.400' '403': $ref: '#/components/responses/Error.403' '404': $ref: '#/components/responses/Error.404' '/applications/{appInstanceId}/dns_rules/{dnsRuleId}': parameters: - $ref: '#/components/parameters/Path.AppInstanceId' - $ref: '#/components/parameters/Path.DnsRuleId' get: description: >- This method retrieves information about a DNS rule associated with a MEC application instance. operationId: ApplicationsDnsRule_GET tags: - appDnsRules responses: '200': $ref: '#/components/responses/ApplicationsDnsRule.200' '400': $ref: '#/components/responses/Error.400' '403': $ref: '#/components/responses/Error.403' '404': $ref: '#/components/responses/Error.404' put: description: 'This method activates, de-activates or updates a traffic rule.' operationId: ApplicationsDnsRule_PUT tags: - appDnsRules responses: '200': $ref: '#/components/responses/ApplicationsDnsRule.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/ApplicationsDnsRule' '/applications/{appInstanceId}/subscriptions': parameters: - $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 tags: - appSubscriptions responses: '200': $ref: '#/components/responses/ApplicationsSubscriptions.200' '400': $ref: '#/components/responses/Error.400' '403': $ref: '#/components/responses/Error.403' '404': $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 MEC service availability notifications. Upon success, the response contains entity body describing the created subscription. operationId: ApplicationsSubscriptions_POST tags: - appSubscriptions responses: '201': $ref: '#/components/responses/ApplicationsSubscriptions.201' '400': $ref: '#/components/responses/Error.400' '403': $ref: '#/components/responses/Error.403' '404': $ref: '#/components/responses/Error.404' requestBody: $ref: '#/components/requestBodies/ApplicationsSubscriptions' callbacks: appTerminationNotification: $ref: '#/components/callbacks/AppTerminationNotification' '/applications/{appInstanceId}/subscriptions/{subscriptionId}': parameters: - $ref: '#/components/parameters/Path.AppInstanceId' - $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 tags: - appSubscriptions responses: '200': $ref: '#/components/responses/ApplicationsSubscription.200' '400': $ref: '#/components/responses/Error.400' '403': $ref: '#/components/responses/Error.403' '404': $ref: '#/components/responses/Error.404' delete: description: >- This method deletes a mecAppSuptApiSubscription. This method is typically used in "Unsubscribing from service availability event notifications" procedure. operationId: ApplicationsSubscription_DELETE tags: - appSubscriptions responses: '204': description: No Content '403': $ref: '#/components/responses/Error.403' '404': $ref: '#/components/responses/Error.404' '/applications/{appInstanceId}/confirm_termination': parameters: - $ref: '#/components/parameters/Path.AppInstanceId' post: description: >- This method is used to confirm the application level termination of an application instance. operationId: ApplicationsConfirmTermination_POST tags: - appConfirmTermination responses: '204': description: No Content '401': $ref: '#/components/responses/Error.401' '403': $ref: '#/components/responses/Error.403' '404': $ref: '#/components/responses/Error.404' '409': $ref: '#/components/responses/Error.409' '429': $ref: '#/components/responses/Error.429' '/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 tags: - timing responses: '200': $ref: '#/components/responses/TimingCaps.200' '400': $ref: '#/components/responses/Error.400' '403': $ref: '#/components/responses/Error.403' '404': $ref: '#/components/responses/Error.404' '/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 tags: - timing responses: '200': $ref: '#/components/responses/TimingCurrentTime.200' '400': $ref: '#/components/responses/Error.400' '403': $ref: '#/components/responses/Error.403' '404': $ref: '#/components/responses/Error.404' components: schemas: Empty: description: Empty schema 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' AppTerminationNotification.MaxGracefulTimeout: description: >- Maximum timeout value in seconds for graceful termination or graceful stop of an application instance. type: integer 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 MEC 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/AppTerminationNotification.Links' 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 MEC application instance to receive notifications on the subscribed MEC 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 MEC 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' CurrentTime: description: >- This type represents the information provided by the MEC 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' LinkType: description: This type represents a type of link and may be referenced from data structures type: object properties: href: $ref: '#/components/schemas/Href' LinkType.ConfirmTermination: description: >- Link to the task resource where to confirm termination in case the application is ready to be terminated before expiry of the timeout. type: object properties: href: $ref: '#/components/schemas/Href' Href: description: URI referring to a resource type: string format: uri example: '/mecAppSuptApi/example' MecAppSuptApiSubscriptionLinkList.Links: description: Self-referring URI. type: object required: - self properties: self: $ref: '#/components/schemas/LinkType' subscriptions: description: The MEC application instance's subscriptions type: array items: $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList.Subscription' MecAppSuptApiSubscriptionLinkList.Subscription: 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. type: string MecAppSuptApiSubscriptionLinkList: description: >- This type represents a list of links related to currently existing subscriptions for a MEC application instance. This information is returned when sending a request to receive current subscriptions. type: object required: - _links properties: _links: $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList.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 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 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 MEC 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: type: array items: $ref: '#/components/schemas/TrafficFilter' 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 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 MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. in: path required: true schema: type: string Path.DnsRuleId: name: dnsRuleId description: Represents a DNS rule. in: path required: true schema: type: string Path.SubscriptionId: name: subscriptionId description: >- Represents a subscription to the notifications from the MEC platform. in: path required: true schema: type: string Path.TrafficRuleId: name: trafficRuleId description: Represents a traffic rule. in: path required: true schema: 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/MecAppSuptApiSubscriptionLinkList' links: getIndividualmecAppSuptApiSubscriptionLinkList: $ref: '#/components/links/GetIndividualmecAppSuptApiSubscriptionLinkList' delIndividualmecAppSuptApiSubscriptionLinkList: $ref: '#/components/links/DelIndividualmecAppSuptApiSubscriptionLinkList' ApplicationsSubscriptions.201: description: >- Entity body in the request contains a subscription to the MEC 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: $ref: '#/components/schemas/AppTerminationNotificationSubscription' links: getIndividualmecAppSuptApiSubscription: $ref: '#/components/links/GetIndividualmecAppSuptApiSubscription' delIndividualmecAppSuptApiSubscription: $ref: '#/components/links/DelIndividualmecAppSuptApiSubscription' ApplicationsSubscription.200: description: >- Upon success, a response body containing the requested subscription is returned. content: application/json: schema: $ref: '#/components/schemas/AppTerminationNotificationSubscription' 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' 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' Error.400: description: >- Bad Request. It is used to indicate that incorrect parameters were passed to the request. content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: $ref: '#/components/schemas/Empty' Error.401: description: >- Unauthorized. It is used when the client did not submit the appropriate credentials. content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: $ref: '#/components/schemas/Empty' Error.403: description: >- Forbidden. The operation is not allowed given the current status of the resource. content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' Error.404: description: >- Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: $ref: '#/components/schemas/Empty' Error.409: description: >- Conflict. The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is because the application instance resource is in NOT_INSTANTIATED state. content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: $ref: '#/components/schemas/Empty' Error.412: description: >- Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts. content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: $ref: '#/components/schemas/Empty' Error.429: description: >- Too Many Requests. It is used when a rate limiter has triggered. content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: 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: $ref: '#/components/schemas/AppTerminationNotificationSubscription' description: >- Entity body in the request contains a subscription to the MEC 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 AppTerminationNotification: content: application/json: schema: $ref: '#/components/schemas/AppTerminationNotification' required: true callbacks: AppTerminationNotification: '{$request.body#/callbackReference}': post: description: >- Represents the information that the MEP notifies the subscribed application instance about the corresponding application instance termination/stop operationId: AppTerminationNotification_POST tags: - callbacks requestBody: $ref: '#/components/requestBodies/AppTerminationNotification' responses: '200': description: Expected responses from callback consumer, if it accepts the callback links: 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' GetIndividualmecAppSuptApiSubscription: operationId: ApplicationsSubscription_GET description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionId}` parameters: description: regex = \/mec_app_support\/v1\/applications\/.*\/subscriptions\/.*\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute subscriptionId: 'TBC' DelIndividualmecAppSuptApiSubscription: operationId: ApplicationsSubscription_DELETE description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionId}` parameters: description: regex = \/mec_app_support\/v1\/applications\/.*\/subscriptions\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute subscriptionId: 'TBC' GetIndividualmecAppSuptApiSubscriptionLinkList: operationId: ApplicationsSubscription_GET description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionId}` parameters: description: regex = \/mec_app_support\/v1\/applications\/.*\/subscriptions\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute subscriptionId: 'TBC' DelIndividualmecAppSuptApiSubscriptionLinkList: operationId: ApplicationsSubscription_DELETE description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionId}` parameters: description: regex = \/mec_app_support\/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' - dnsRuleId: 'DnsRule2' domainName: 'www.example.com' ipAddressType: 'IP_V4' ipAddress: '146.241.7.4' ttl: 300 state: 'INACTIVE' 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'