Commit 4eb20ca8 authored by Walter Featherstone's avatar Walter Featherstone
Browse files

Merge branch 'stf606-final' into 'master'

MEC010-2 v2.2.1 - OAS v3.1

See merge request !9
parents 0da766fc b85dcc26
Pipeline #11073 failed with stage
in 0 seconds
......@@ -3,7 +3,7 @@
"info": {
"title": "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management",
"description": "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management described using OpenAPI.",
"version": "2.1.1",
"version": "2.2.1",
"license": {
"name": "BSD-3-Clause",
"url": "https://forge.etsi.org/legal-matters"
......@@ -15,8 +15,8 @@
}
},
"externalDocs": {
"description": "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.1.1",
"url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.01.01_60/gs_MEC01002v020101p.pdf"
"description": "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.2.1",
"url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.02.01_60/gs_MEC01002v020201p.pdf"
},
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"servers": [
......@@ -259,7 +259,6 @@
"description": "Identifier of the external CP instance to which this set of configuration parameters is requested to be applied. \n\nShall be present if this instance has already been created."
},
"cpProtocolData": {
"minItems": 0,
"type": "array",
"items": {
"$ref": "#/components/schemas/CpProtocolData"
......@@ -281,7 +280,6 @@
"type": "object",
"properties": {
"cpConfig": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/AppExtCpConfig"
......@@ -350,7 +348,6 @@
"type": "object",
"properties": {
"extCps": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/AppExtCpData"
......@@ -358,7 +355,6 @@
"description": "External CPs of the application instance to be connected to this external VL."
},
"extLinkPorts": {
"minItems": 0,
"type": "array",
"items": {
"$ref": "#/components/schemas/ExtLinkPortData"
......@@ -390,22 +386,23 @@
"type": "object",
"properties": {
"id": {
"type": "string"
"type": "string",
"description": "Identifier of the Grant."
},
"appInstanceId": {
"type": "string",
"description": "Identifier of application instance."
"description": "Identifier of the application instance which this Grant is related to."
},
"appLcmOpOccId": {
"type": "string",
"description": "Identifier of application lifecycle management operation occurrence."
"description": "The identifier of the application lifecycle management operation occurrence associated to the Grant."
},
"vimConnections": {
"type": "array",
"description": "Provides information regarding VIM connections that are approved to be used by the MEPM to allocate resources, and provides parameters of these VIM connections.",
"items": {
"$ref": "#/components/schemas/VimConnectionInfo"
},
"description": ""
}
},
"zones": {
"type": "array",
......@@ -763,7 +760,7 @@
},
"resourceTemplateId": {
"type": "string",
"description": "Reference to a resource template, i.e. VirtualLinkDesc, VirtualComputeDesc, AppExtCpd, VirtualStorageDesc in the AppD."
"description": "Reference to a resource template, i.e. VirtualComputeDescriptor, AppExtCpd, VirtualStorageDescriptor in the AppD."
},
"resource": {
"$ref": "#/components/schemas/Resource"
......@@ -874,7 +871,6 @@
"type": "object",
"properties": {
"zoneId": {
"minItems": 1,
"type": "array",
"items": {
"type": "string"
......@@ -893,10 +889,11 @@
"properties": {
"id": {
"type": "string",
"description": "The identifier of this ZoneInfo instance, for the purpose of referencing it from other structures in the \"Grant\" structure."
"description": "Identifier of the connection to the VIM that manages the resource zone. The applicable \"VimConnectionInfo\" structure, which is referenced by vimConnectionId, can be obtained from the \" vimConnectionInfo\" attribute of the \"AppInstanceInfo\" structure."
},
"vimConnectionId": {
"type": "string"
"type": "string",
"description": null
},
"zoneId": {
"type": "string",
......
......@@ -2,7 +2,7 @@ openapi: 3.1.0
info:
title: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management'
description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management described using OpenAPI.'
version: '2.1.1'
version: '2.2.1'
license:
name: BSD-3-Clause
url: https://forge.etsi.org/legal-matters
......@@ -11,8 +11,8 @@ info:
url: https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api
email: cti_support@etsi.org
externalDocs:
description: "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.1.1"
url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.01.01_60/gs_MEC01002v020101p.pdf'
description: "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.2.1"
url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.02.01_60/gs_MEC01002v020201p.pdf'
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
servers:
- url: https://localhost/granting/v1
......@@ -173,7 +173,6 @@ components:
type: string
description: "Identifier of the external CP instance to which this set of configuration parameters is requested to be applied. \n\nShall be present if this instance has already been created."
cpProtocolData:
minItems: 0
type: array
items:
$ref: '#/components/schemas/CpProtocolData'
......@@ -189,7 +188,6 @@ components:
type: object
properties:
cpConfig:
minItems: 1
type: array
items:
$ref: '#/components/schemas/AppExtCpConfig'
......@@ -239,13 +237,11 @@ components:
type: object
properties:
extCps:
minItems: 1
type: array
items:
$ref: '#/components/schemas/AppExtCpData'
description: External CPs of the application instance to be connected to this external VL.
extLinkPorts:
minItems: 0
type: array
items:
$ref: '#/components/schemas/ExtLinkPortData'
......@@ -270,17 +266,18 @@ components:
properties:
id:
type: string
description: Identifier of the Grant.
appInstanceId:
type: string
description: Identifier of application instance.
description: Identifier of the application instance which this Grant is related to.
appLcmOpOccId:
type: string
description: Identifier of application lifecycle management operation occurrence.
description: The identifier of the application lifecycle management operation occurrence associated to the Grant.
vimConnections:
type: array
description: Provides information regarding VIM connections that are approved to be used by the MEPM to allocate resources, and provides parameters of these VIM connections.
items:
$ref: '#/components/schemas/VimConnectionInfo'
description: ''
zones:
type: array
items:
......@@ -540,7 +537,7 @@ components:
description: Reference to the related VDU in the AppD applicable to this resource.
resourceTemplateId:
type: string
description: Reference to a resource template, i.e. VirtualLinkDesc, VirtualComputeDesc, AppExtCpd, VirtualStorageDesc in the AppD.
description: Reference to a resource template, i.e. VirtualComputeDescriptor, AppExtCpd, VirtualStorageDescriptor in the AppD.
resource:
$ref: '#/components/schemas/Resource'
description: "'This type provides information of an existing or proposed resource used by the application. Refer to clause 9.5.3.2 of ETSI GS NFV-SOL 003 '"
......@@ -620,7 +617,6 @@ components:
type: object
properties:
zoneId:
minItems: 1
type: array
items:
type: string
......@@ -634,9 +630,10 @@ components:
properties:
id:
type: string
description: The identifier of this ZoneInfo instance, for the purpose of referencing it from other structures in the "Grant" structure.
description: Identifier of the connection to the VIM that manages the resource zone. The applicable "VimConnectionInfo" structure, which is referenced by vimConnectionId, can be obtained from the " vimConnectionInfo" attribute of the "AppInstanceInfo" structure.
vimConnectionId:
type: string
description:
zoneId:
type: string
description: The identifier of the resource zone, as managed by the resource management layer (typically, the VIM).
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
{
"definitions": {
"ConfigPlatformForAppRequest": {
"type": "object",
"properties": {
"appServiceRequired": {
"type": "array",
"items": {
"$ref": "#/definitions/ServiceDependency"
}
},
"appServiceOptional": {
"type": "array",
"items": {
"$ref": "#/definitions/ServiceDependency"
}
},
"appServiceProduced": {
"type": "array",
"items": {
"$ref": "#/definitions/ServiceDescriptor"
}
},
"appFeatureRequired": {
"type": "array",
"items": {
"$ref": "#/definitions/FeatureDependency"
}
},
"appFeatureOptional": {
"type": "array",
"items": {
"$ref": "#/definitions/FeatureDependency"
}
},
"transportDependencies": {
"type": "array",
"items": {
"$ref": "#/definitions/TransportDependency"
}
},
"appTrafficRule": {
"type": "array",
"items": {
"$ref": "#/definitions/TrafficRuleDescriptor"
}
},
"appDNSRule": {
"type": "array",
"items": {
"$ref": "#/definitions/DNSRuleDescriptor"
}
},
"appLatency": {
"$ref": "#/definitions/LatencyDescriptor"
},
"userContextTransferCapability": {
"$ref": "#/definitions/UserContextTransferCapability"
},
"appNetworkPolicy": {
"$ref": "#/definitions/AppNetworkPolicy"
}
}
},
"ServiceDependency": {
"title": "ServiceDependency",
"required": [
"serName",
"version"
],
"type": "object",
"properties": {
"requestedPermissions": {
"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. The format of this attribute is left for the data model design stage."
},
"serCategory": {
"type": "object",
"description": "See MEC011"
},
"serName": {
"type": "string",
"description": "The name of the service, for example, RNIS, LocationService, etc."
},
"serTransportDependencies": {
"type": "array",
"items": {
"$ref": "#/definitions/TransportDependency"
},
"description": "Indicates transport and serialization format dependencies of consuming the service. Defaults to REST + JSON if absent. See note."
},
"version": {
"type": "string",
"description": "The version of the service."
}
}
},
"TransportDependency": {
"title": "TransportDependency",
"required": [
"labels",
"serializers",
"transport"
],
"type": "object",
"properties": {
"labels": {
"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": {
"type": "array",
"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": "#/definitions/TransportDescriptor"
}
}
},
"TransportDescriptor": {
"title": "TransportDescriptor",
"required": [
"name",
"protocol",
"security",
"type",
"version"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of this transport."
},
"description": {
"type": "string",
"description": "Human-readable description of this transport."
},
"protocol": {
"type": "string",
"description": "The name of the protocol used. Shall be set to HTTP for a REST API."
},
"security": {
"type": "object",
"description": "See MEC011"
},
"type": {
"type": "string"
},
"version": {
"type": "string",
"description": "The version of the protocol used."
},
"implSpecificInfo": {
"type": "object",
"description": "Additional implementation specific details of the transport."
}
}
},
"ServiceDescriptor": {
"title": "ServiceDescriptor",
"description": "'The ServiceDescriptor data type describes a MEC service produced by a service-providing MEC application.'",
"required": [
"serName",
"version",
"transport"
],
"type": "object",
"properties": {
"serName": {
"type": "string",
"description": "The name of the service, for example, RNIS, LocationService, etc."
},
"serCategory": {
"type": "object",
"description": "See MEC011"
},
"version": {
"type": "string",
"description": "The version of the service."
},
"transportsSupported": {
"type": "array",
"items": {
"$ref": "#/definitions/TransportsSupported"
}
}
}
},
"TransportsSupported": {
"title": "TransportsSupported",
"type": "object",
"required": [
"serializers"
],
"properties": {
"transport": {
"$ref": "#/definitions/TransportDescriptor"
},
"serializers": {
"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.'"
},
"FeatureDependency": {
"title": "FeatureDependency",
"required": [
"featureName",
"version"
],
"type": "object",
"properties": {
"featureName": {
"type": "string",
"description": "The name of the feature, for example, UserApps, UEIdentity, etc."
},
"version": {
"type": "string",
"description": "The version of the feature."
}
}
},
"TrafficRuleDescriptor": {
"title": "TrafficRuleDescriptor",
"required": [
"action",
"filterType",
"priority",
"trafficFilter",
"trafficRuleId"
],
"type": "object",
"properties": {
"action": {
"$ref": "#/definitions/Action"
},
"dstInterface": {
"maxItems": 2,
"type": "array",
"items": {
"$ref": "#/definitions/InterfaceDescriptor"
},
"description": ""
},
"filterType": {
"$ref": "#/definitions/FilterType"
},
"priority": {
"type": "integer",
"description": "Priority of this traffic rule within the range 0 to 255. If traffic rule conflicts, the one with higher priority take precedence. Value indicates the priority in descending order, i.e. with 0 as the highest priority and 255 as the lowest priority.",
"contentEncoding": "int32"
},
"trafficFilter": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/definitions/TrafficFilter"
},
"description": "The filter used to identify specific flow/packets that need to be handled by the MEC host."
},
"trafficRuleId": {
"type": "string",
"description": "Identifies the traffic rule."
}
}
},
"Action": {
"title": "Action",
"enum": [
"DROP",
"FORWARD_DECAPSULATED",
"FORWARD_AS_IS",
"PASSTHROUGH",
"DUPLICATED_DECAPSULATED",
"DUPLICATE_AS_IS"
],
"type": "string",
"description": "'Identifies the action of the MEC host data plane, when a packet matches the trafficFilter.'",
"examples": [
"DROP"
]
},
"TrafficFilter": {
"title": "TrafficFilter",
"type": "object",
"properties": {
"dSCP": {
"type": "integer",
"description": "Used to match all IPv4 packets that have the same DSCP.",
"contentEncoding": "int32"
},
"dstAddress": {
"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": {
"type": "array",
"items": {
"type": "string"
},
"description": "A port or a range of ports."
},
"dstTunnelPort": {
"type": "array",
"items": {
"type": "string"
},
"description": "Used for GTP tunnel based traffic rule."
},
"protocol": {
"type": "array",
"items": {
"type": "string"
},
"description": "Specify the protocol of the traffic filter."
},
"qCI": {
"type": "integer",
"description": "Used to match all packets that have the same QCI.",
"contentEncoding": "int32"
},
"srcAddress": {
"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": {
"type": "array",
"items": {
"type": "string"
},
"description": "A port or a range of ports."
},
"srcTunnelAddress": {
"type": "array",
"items": {
"type": "string"
},
"description": "Used for GTP tunnel based traffic rule."
},
"srcTunnelPort": {
"type": "array",
"items": {
"type": "string"
},
"description": "Used for GTP tunnel based traffic rule."
},
"tC": {
"type": "integer",
"description": "Used to match all IPv6 packets that have the same TC.",
"contentEncoding": "int32"
},
"tag": {
"type": "array",
"items": {
"type": "string"
},
"description": "Used for tag based traffic rule."
},
"tgtTunnelAddress": {
"type": "array",
"items": {
"type": "string"
},
"description": "Used for GTP tunnel based traffic rule."
},
"uri": {
"type": "array",
"items": {
"type": "string"
}
},
"packetLabel": {
"type": "array",
"items": {
"type": "string"
}
}
}