Newer
Older
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
parameters: []
/onboarded_app_packages/{appDId}/package_content:
get:
tags:
summary: 'Fetch the onboarded application package content identified by appPkgId or appDId.'
description: Fetch the onboarded application package content identified by appPkgId or appDId.
parameters:
- name: appDId
in: path
description: Identifier of an application descriptor
required: true
style: simple
schema:
type: string
description: The payload body shall contain a copy of the file representing the AppD or a ZIP file that contains the file or multiple files representing the AppD.
headers: {}
content: {}
description: Partial content
headers: {}
content: {}
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'416':
description: Range Not Satisfiable .
headers: {}
content: {}
'406':
description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'429':
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
put:
tags:
- app-pkgm
summary: 'Fetch the onboarded application package content identified by appPkgId or appDId.'
description: Uploads the content of application package.
operationId: appDIdPUT
parameters:
- name: appDId
in: path
description: Identifier of an application descriptor
required: true
style: simple
schema:
type: string
requestBody:
description: ''
content:
application/zip: {}
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
required: false
responses:
'202':
description: The application package has been accepted for uploading, but the processing has not been completed.
headers: {}
content: {}
'400':
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'409':
description: 'Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
parameters: []
###############################################################################
# Notification endpoint AppPkgNotification #
###############################################################################
/user_defined_notification:
post:
summary: 'Registers a notification endpoint to notify application package operations'
description: Registers a notification endpoint to notify application package operations
operationId: app_pkg_notificationPOST
parameters: []
description: Notification endpoint to be created
$ref: '#/components/schemas/AppPkgNotification'
required: true
'204':
description: No Content
headers: {}
content: {}
description: 'Unauthorized : used when the client did not submit credentials.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Forbidden : operation is not allowed given the current status of the resource.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Too Many Requests : used when a rate limiter has triggered.'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
deprecated: false
parameters: []
title: AppD
required:
- appDId
- appDVersion
- appDescription
- appName
- appProvider
- appSoftVersion
- mecVersion
- swImageDescriptor
- virtualComputeDescriptor
type: object
description: Identifier of this MEC application descriptor. This attribute shall be globally unique. See note 1.
items:
$ref: '#/components/schemas/DNSRuleDescriptor'
description: Describes DNS rules the MEC application requires.
description: Identifies the version of the application descriptor.
description: Human readable description of the MEC application.
items:
$ref: '#/components/schemas/AppExternalCpd'
description: Describes external interface(s) exposed by this MEC application.
appFeatureOptional:
minItems: 0
type: array
items:
$ref: '#/components/schemas/FeatureDependency'
description: Describes features a MEC application may use if available.
appFeatureRequired:
minItems: 0
type: array
items:
$ref: '#/components/schemas/FeatureDependency'
description: Describes features a MEC application requires to run.
description: Human readable name for the MEC application.
appLatency:
$ref: '#/components/schemas/LatencyDescriptor'
appName:
type: string
description: Name to identify the MEC application.
description: Provider of the application and of the AppD.
items:
$ref: '#/components/schemas/ServiceDependency'
description: Describes services a MEC application may use if available.
appServiceProduced:
minItems: 0
type: array
items:
$ref: '#/components/schemas/ServiceDescriptor'
description: Describes services a MEC application is able to produce to the platform or other MEC applications. Only relevant for service-producing apps.
appServiceRequired:
minItems: 0
type: array
items:
$ref: '#/components/schemas/ServiceDependency'
description: Describes services a MEC application requires to run.
description: Identifies the version of software of the MEC application.
items:
$ref: '#/components/schemas/TrafficRuleDescriptor'
description: Describes traffic rules the MEC application requires.
items:
type: string
description: Identifies version(s) of MEC system compatible with the MEC application described in this version of the AppD.
type: string
description: Ref NFV
transportDependencies:
minItems: 0
type: array
items:
$ref: '#/components/schemas/TransportDependency'
description: Transports, if any, that this application requires to be provided by the platform. These transports will be used by the application to deliver services provided by this application. Only relevant for service-producing apps. See note 2.
type: string
description: Ref NFV
virtualStorageDescriptor:
minItems: 0
type: array
items:
type: string
description: Defines descriptors of virtual storage resources to be used by the MEC application.
AppExternalCpd:
title: AppExternalCpd
type: object
properties:
inherited_attributes:
type: object
description: All attributes inherited from Cpd.
virtualNetworkInterfaceRequirements:
minItems: 0
type: array
items:
type: string
description: Specifies requirements on a virtual network interface realizing the CPs instantiated from this CPD.
- id
- appDId
- appName
- appSoftwareVersion
- appDVersion
- checksum
- softwareImages
- onboardingState
- operationalState
- usageState
- _links
type: object
type: string
description: Identifier of the onboarded application package.
type: string
description: Identifier of this MEC application descriptor. This attribute shall be globally unique.
type: string
description: Provider of the application and of the AppD.
type: string
description: Name to identify the MEC application.
type: string
description: Software version of the application. This is updated when there is any change to the software in the onboarded application package.
type: string
description: Identifies the version of the application descriptor.
checksum:
$ref: '#/components/schemas/Checksum'
softwareImages:
type: object
description: Information of application software image in application package. Type is TBD
type: object
description: Additional information of application package artifacts that are not application software images. Type is TBD
onboardingState:
$ref: '#/components/schemas/OnboardingState'
operationalState:
$ref: '#/components/schemas/AppPkg.OperationalState'
usageState:
$ref: '#/components/schemas/UsageState'
userDefinedData:
type: object
description: "'This data type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key-value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259'"
_links:
$ref: '#/components/schemas/AppPkgInfo.links'
description: "'The data type AppPkgInfo represents the parameters for an application package resource'"
title: AppPkgInfoModifications
required:
- operationState
$ref: '#/components/schemas/OperationState'
description: "'The data type represents the operational state for an application package resource'"
description: 'Operational state of the onboarded application package: •ENABLED: the application package can be used for instantiation of new application instances. •DISABLED: the application package cannot be used for further application instantiation requests.'
examples:
- ENABLED
OnboardingState:
title: OnboardingState
- CREATED
- UPLOADING
- PROCESSING
- ONBOARDED
description: Onboarding state of application package
examples:
- CREATED
UsageState:
title: UsageState
- IN_USE
- NOT_IN_USE
type: string
description: Usage state of the onboarded instance of the application package
examples:
- IN_USE
- self
- appD
- appPkgContent
type: object
properties:
self:
$ref: '#/components/schemas/LinkType'
appD:
$ref: '#/components/schemas/LinkType'
appPkgContent:
$ref: '#/components/schemas/LinkType'
description: Links to resources related to this resource.
- id
- notificationType
- subscriptionId
- timeStamp
- appPkgId
- appDId
- operationalState
- _links
type: object
type: string
description: "''"
notificationType:
$ref: '#/components/schemas/AppPkg.NotificationType'
subscriptionId:
type: string
description: Identifier of the subscription related to this notification.
timeStamp:
$ref: '#/components/schemas/TimeStamp'
appPkgId:
type: string
description: Identifier of the onboarded application package.
description: Identifier of this MEC application descriptor. This attribute shall be globally unique.
operationalState:
$ref: '#/components/schemas/OperationalState'
_links:
$ref: '#/components/schemas/AppPkgNotification.links'
description: "'This data type represents an application package management notification for informing the subscribers about onboarding application package resources. The notification is triggered when a new application package is onboarded'"
- AppPackageOnBoarded
- AppPacakgeEnabled
- AppPacakgeDisabled
- AppPackageDeleted
type: string
description: Discriminator for the different notification types
examples:
- AppPackageOnBoarded
properties:
subscription:
$ref: '#/components/schemas/LinkType'
description: Links to resources related to this resource.
- id
- subscriptionType
- callbackUri
- _links
type: object
type: string
description: "''"
subscriptionType:
$ref: '#/components/schemas/AppPkg.SubscriptionType'
callbackUri:
type: string
description: The URI of the endpoint for the notification to be sent to.
_links:
$ref: '#/components/schemas/AppPkgSubscriptionInfo.links'
description: "'The data type represents a subscription to notification of application package management for the onboarding, or operational state change of application package'"
- AppPackageOnBoarding
- AppPacakgeOperationChange
- AppPackageDeletion
type: string
description: Subscribed notification type.
examples:
- AppPackageOnBoarding
title: AppPkgSubscriptionInfo.links
properties:
self:
$ref: '#/components/schemas/LinkType'
description: Links to resources related to this resource.
properties:
_links:
$ref: '#/components/schemas/AppPkgSubscriptionLinkList.links'
description: "'The data type represents a subscription link list of notification on application package management'"
title: AppPkgSubscriptionLinkList.links
properties:
self:
$ref: '#/components/schemas/LinkType'
subscriptions:
type: array
items:
$ref: '#/components/schemas/Subscriptions.AppPkgSubscription'
description: ''
description: Links to resources related to this resource.
title: Subscriptions.AppPkgSubscription
- href
- subsctiptionType
type: object
type: string
description: The URI referring to the subscription.
subsctiptionType:
$ref: '#/components/schemas/SubsctiptionType.AppPkg'
description: "'The data type represents the input parameters of \"subscription operation\" to notification of application package management for the onboarding, or operational state change of application package.'"
- callbackUri
- subsctiptionType
type: object
type: string
description: The URI of the endpoint for the notification to be sent to.
$ref: '#/components/schemas/SubsctiptionType.AppPkg'
type: string
description: ''
description: "'The data type represents the input parameters of \"subscription operation\" to notification of application package management for the onboarding, or operational state change of application package.'"
- AppPackageOnBoarding
- AppPacakgeOperationChange
- AppPackageDeletion
description: "'Subscribed notification type'"
examples:
- AppPackageOnBoarding
required:
- algorithm
- hash
type: object
properties:
algorithm:
type: string
description: Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004. For example, SHA-256, SHA-512.
hash:
type: string
description: "'String 1 The hexadecimal value of the checksum'"
title: CreateAppPkg
required:
- appPkgName
- appPkgPath
- appPkgVersion
- checksum
type: object
description: Name of the application package to be onboarded.
description: >-
Version of the application package to be onboarded.
The appPkgName with appPkgVersion can be used to uniquely identify the application package.
description: The provider's name of the application package to be onboarded.
checksum:
$ref: '#/components/schemas/Checksum'
userDefinedData:
type: object
description: "'This data type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key-value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259'"
DNSRuleDescriptor:
title: DNSRuleDescriptor
- dnsRuleId
- domainName
- ipAddress
- ipAddressType
type: object
properties:
dnsRuleId:
type: string
description: Identifies the DNS Rule
description: IP address given by the DNS rule
ipAddressType:
$ref: '#/components/schemas/IpAddressType'
ttl:
type: integer
description: Time-to-live value
contentEncoding: int32
- IP_V6
- IP_V4
type: string
description: Specifies the IP address type
examples:
- IP_V6
title: FeatureDependency
required:
- featureName
- version
type: object
description: The name of the feature, for example, UserApps, UEIdentity, etc.
description: The version of the feature.
InterfaceDescriptor:
title: InterfaceDescriptor
type: object
properties:
dstIPAddress:
type: string
description: If the interface type is IP, the destination address identifies the IP address of the destination. Only used for dstInterface.
description: If the interface type is MAC, the destination address identifies the MAC address of the destination. Only used for dstInterface.
interfaceType:
$ref: '#/components/schemas/InterfaceType'
srcMACAddress:
type: string
description: If the interface type is MAC, the source address identifies the MAC address of the interface.
tunnelInfo:
$ref: '#/components/schemas/TunnelInfo'
InterfaceType:
- TUNNEL
- MAC
- IP
type: string
description: Type of interface.
examples:
- TUNNEL
title: LatencyDescriptor
required:
- maxLatency
type: object
description: The value of the maximum latency in nano seconds tolerated by the MEC application. See note.
contentEncoding: int32
LinkType:
title: LinkType
type: object
properties:
href:
type: string
description: URI referring to a resource
title: ProblemDetails
type: object
description: A human-readable explanation specific to this occurrence of the problem
description: A URI reference that identifies the specific occurrence of the problem
description: The HTTP status code for this occurrence of the problem
contentEncoding: int32
description: A short, human-readable summary of the problem type
description: A URI reference according to IETF RFC 3986 that identifies the problem type
title: ServiceDependency
required:
- serName
- version
type: object
properties:
requestedPermissions:
minItems: 0
type: array
items:
type: string
description: >-
Requested permissions regarding the access of the application to the service. See clause 8.2 of ETSI GS MEC 009 [4].
The format of this attribute is left for the data model design stage.
type: object
description: See MEC011
description: The name of the service, for example, RNIS, LocationService, etc.
serTransportDependencies:
minItems: 0
type: array
items:
$ref: '#/components/schemas/TransportDependency'
description: Indicates transport and serialization format dependencies of consuming the service. Defaults to REST + JSON if absent. See note.
description: The version of the service.
ServiceDescriptor:
title: ServiceDescriptor
required:
- serName
- version
type: object
properties:
serName:
type: string
description: The name of the service, for example, RNIS, LocationService, etc.
type: object
description: See MEC011
type: string
description: The version of the service.
transportsSupported:
$ref: '#/components/schemas/TransportsSupported'
description: "'The ServiceDescriptor data type describes a MEC service produced by a service-providing MEC application.'"
type: object
properties:
transport:
$ref: '#/components/schemas/TransportDescriptor'
serializers:
minItems: 1
type: array
items:
type: string
description: "'Information about the serializers in this binding, as defined in the SerializerTypes type in ETSI GS MEC 011 '"
description: "'Indicates transports and serialization formats supported made available to the service-consuming application. Defaults to REST + JSON if absent.'"
title: TimeStamp
required:
- nanoSeconds
- seconds
type: object
description: The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.
contentEncoding: int32
description: The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.
contentEncoding: int32
title: TrafficFilter
type: object
description: Used to match all IPv4 packets that have the same DSCP.
contentEncoding: int32
dstAddress:
minItems: 0
type: array
items:
type: string
description: A IP address or a range of IP addresses.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.
dstPort:
minItems: 0
type: array
items:
type: string
description: A port or a range of ports.
dstTunnelPort:
minItems: 0
type: array
items:
type: string
description: Used for GTP tunnel based traffic rule.
protocol:
items:
type: string
description: Specify the protocol of the traffic filter.
description: Used to match all packets that have the same QCI.
contentEncoding: int32
srcAddress:
minItems: 0
type: array
items:
type: string
description: An IP address or a range of IP addresses.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.
srcPort:
minItems: 0
type: array
items:
type: string
description: A port or a range of ports.
srcTunnelAddress:
minItems: 0
type: array
items:
type: string
description: Used for GTP tunnel based traffic rule.
srcTunnelPort:
items:
type: string
description: Used for GTP tunnel based traffic rule.
description: Used to match all IPv6 packets that have the same TC.
contentEncoding: int32
tag:
minItems: 0
type: array
items:
type: string
description: Used for tag based traffic rule.
tgtTunnelAddress:
items:
type: string
description: Used for GTP tunnel based traffic rule.
title: TrafficRuleDescriptor
required:
- action
- filterType
- priority
- trafficFilter
- trafficRuleId
type: object
properties:
action:
$ref: '#/components/schemas/Action'
dstInterface:
maxItems: 2
$ref: '#/components/schemas/InterfaceDescriptor'
description: ''
filterType:
$ref: '#/components/schemas/FilterType'
priority:
type: integer
description: Priority of this traffic rule. If traffic rule conflicts, the one with higher priority take precedence.
contentEncoding: int32
items:
$ref: '#/components/schemas/TrafficFilter'
description: The filter used to identify specific flow/packets that need to be handled by the MEC host.
description: Identifies the traffic rule.
- DROP
- FORWARD_DECAPSULATED
- FORWARD_AS_IS
- PASSTHROUGH
- DUPLICATED_DECAPSULATED
- DUPLICATE_AS_IS
description: "'Identifies the action of the MEC host data plane, when a packet matches the trafficFilter.'"
examples:
- DROP
FilterType:
title: FilterType
- FLOW
- PACKET
type: string
description: 'Definition of filter type: per FLOW or PACKET'
examples:
- FLOW
title: TransportDependency
required:
- labels
- serializers
- transport
type: object
properties:
labels:
minItems: 1
type: array
items:
type: string
description: Set of labels that allow to define groups of transport bindings. The mechanism of the grouping is defined below this table.
serializers:
items:
type: string
description: Information about the serializers in this transport binding, as defined in the SerializerTypes type in ETSI GS MEC 011 [i.4]. Support for at least one of the entries is required in conjunction with the transport.
transport:
$ref: '#/components/schemas/TransportDescriptor'
TransportDescriptor:
title: TransportDescriptor
- protocol
- security
- type