Commit cb53adc1 authored by Muhammad Hamza's avatar Muhammad Hamza
Browse files

update definitions files

parent bf22cde3
Loading
Loading
Loading
Loading
+542 −544
Original line number Diff line number Diff line
@@ -64,10 +64,7 @@
    },
    "ServiceDependency": {
      "title": "ServiceDependency",
        "required": [
          "serName",
          "version"
        ],
      "required": ["serName", "version"],
      "type": "object",
      "properties": {
        "requestedPermissions": {
@@ -78,8 +75,7 @@
          "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"
          "$ref": "#/definitions/CategoryRef"
        },
        "serName": {
          "type": "string",
@@ -98,13 +94,33 @@
        }
      }
    },
    "CategoryRef": {
      "title": "CategoryRef",
      "required": ["href", "id", "name", "version"],
      "type": "object",
      "properties": {
        "href": {
          "type": "string",
          "description": "Reference of the catalogue."
        },
        "id": {
          "type": "string",
          "description": "Unique identifier of the category."
        },
        "name": {
          "type": "string",
          "description": "Name of the category."
        },
        "version": {
          "type": "string",
          "description": "Category version."
        }
      },
      "description": "This type represents the category reference."
    },
    "TransportDependency": {
      "title": "TransportDependency",
        "required": [
          "labels",
          "serializers",
          "transport"
        ],
      "required": ["labels", "serializers", "transport"],
      "type": "object",
      "properties": {
        "labels": {
@@ -128,13 +144,7 @@
    },
    "TransportDescriptor": {
      "title": "TransportDescriptor",
        "required": [
          "name",
          "protocol",
          "security",
          "type",
          "version"
        ],
      "required": ["name", "protocol", "security", "type", "version"],
      "type": "object",
      "properties": {
        "name": {
@@ -150,8 +160,7 @@
          "description": "The name of the protocol used. Shall be set to HTTP for a REST API."
        },
        "security": {
            "type": "object",
            "description": "See MEC011"
          "$ref": "#/definitions/SecurityInfo"
        },
        "type": {
          "type": "string"
@@ -166,14 +175,47 @@
        }
      }
    },
    "SecurityInfo": {
      "type": "object",
      "properties": {
        "oAuth2Info": {
          "$ref": "#/definitions/OAuth2Info"
        },
        "(extensions)": {
          "description": "'Extensions for alternative transport mechanisms. These extensions depend on the actual transport, and are out of scope of the present document. For instance, such extensions may be used to signal the necessary parameters for the client to use TLSbased authorization defined for alternative transports (see ETSI GS MEC 009 [5] for more information).'\n",
          "type": "array",
          "minItems": 0,
          "items": {
            "type": null
          }
        }
      }
    },
    "OAuth2Info": {
      "description": "Parameters related to use of OAuth 2.0. Shall be present in case OAuth 2.0 (see IETF RFC 6749 [13]) is supported to secure the provision of the service over the transport.\n",
      "type": "object",
      "properties": {
        "grantTypes": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string"
          },
          "description": "\"List of supported OAuth 2.0 grant types.\\nEach entry shall be one of the following permitted values:\\nOAUTH2_AUTHORIZATION_CODE (Authorization code grant type)\\nOAUTH2_IMPLICIT_GRANT\\n \\t(Implicit grant type)\\nOAUTH2_RESOURCE_OWNER\\n\\t(Resource owner password credentials grant type) \\nOAUTH2_CLIENT_CREDENTIALS\\n\\t(Client credentials grant type)\\nOnly the value \\\"OAUTH2_CLIENT_CREDENTIALS\\\" is supported in the present document. \"\n",
          "enum": ["SEE_DESCRIPTION"]
        },
        "tokenEndpoint": {
          "description": "The token endpoint. Shall be present unless the grant type is OAUTH2_IMPLICIT_GRANT.",
          "type": "string",
          "format": "uri"
        }
      },
      "required": ["grantTypes"]
    },
    "ServiceDescriptor": {
      "title": "ServiceDescriptor",
      "description": "'The ServiceDescriptor data type describes a MEC service produced by a service-providing MEC application.'",
        "required": [
          "serName",
          "version",
          "transport"
        ],
      "required": ["serName", "version", "transport"],
      "type": "object",
      "properties": {
        "serName": {
@@ -182,7 +224,7 @@
        },
        "serCategory": {
          "type": "object",
            "description": "See MEC011"
          "$ref": "#/definitions/CategoryRef"
        },
        "version": {
          "type": "string",
@@ -199,9 +241,7 @@
    "TransportsSupported": {
      "title": "TransportsSupported",
      "type": "object",
        "required": [
          "serializers"
        ],
      "required": ["serializers"],
      "properties": {
        "transport": {
          "$ref": "#/definitions/TransportDescriptor"
@@ -218,10 +258,7 @@
    },
    "FeatureDependency": {
      "title": "FeatureDependency",
        "required": [
          "featureName",
          "version"
        ],
      "required": ["featureName", "version"],
      "type": "object",
      "properties": {
        "featureName": {
@@ -254,14 +291,14 @@
          "items": {
            "$ref": "#/definitions/InterfaceDescriptor"
          },
            "description": ""
          "description": "Describes the destination interface information, . Some applications (e.g. inline/tap) _DECAPSULATED, FORWARD_ENCAPSULATED or PASSTHROUGH, one value shall be provided. If the action is onDUPLICATE_DECAPSULATED or DUPLICATE_ENCAPSULATED, two values shall be provided. See note 2."
        },
        "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.",
          "description": "Priority of this traffic rule within the range 0 to 255. If traffic rule conflicts, the one with higher priority take precedence. See note 1.",
          "contentEncoding": "int32"
        },
        "trafficFilter": {
@@ -276,23 +313,22 @@
          "type": "string",
          "description": "Identifies the traffic rule."
        }
        }
      },
      "description": "NOTE 1: Value indicates the priority in descending order, i.e. with 0 as the highest priority and 255 as the lowest priority.\nNOTE 2: Some applications (like inline/tap) require two interfaces. The first interface in the case of inline/tap is on the \n        client (e.g. UE) side and the second on the core network (e.g. EPC) side\n"
    },
    "Action": {
      "title": "Action",
      "enum": [
        "DROP",
        "FORWARD_DECAPSULATED",
          "FORWARD_AS_IS",
        "FORWARD, ENCAPSULATED",
        "PASSTHROUGH",
          "DUPLICATED_DECAPSULATED",
          "DUPLICATE_AS_IS"
        "DUPLICATE_DECAPSULATED",
        "DUPLICATE, .ENCAPSULATED"
      ],
      "type": "string",
      "description": "'Identifies the action of the MEC host data plane, when a packet matches the trafficFilter.'",
        "examples": [
          "DROP"
        ]
      "examples": ["DROP"]
    },
    "TrafficFilter": {
      "title": "TrafficFilter",
@@ -399,12 +435,7 @@
    },
    "DNSRuleDescriptor": {
      "title": "DNSRuleDescriptor",
        "required": [
          "dnsRuleId",
          "domainName",
          "ipAddress",
          "ipAddressType"
        ],
      "required": ["dnsRuleId", "domainName", "ipAddress", "ipAddressType"],
      "type": "object",
      "properties": {
        "dnsRuleId": {
@@ -431,21 +462,14 @@
    },
    "IpAddressType": {
      "title": "IpAddressType",
        "enum": [
          "IP_V6",
          "IP_V4"
        ],
      "enum": ["IP_V6", "IP_V4"],
      "type": "string",
      "description": "Specifies the IP address type",
        "examples": [
          "IP_V6"
        ]
      "examples": ["IP_V6"]
    },
    "LatencyDescriptor": {
      "title": "LatencyDescriptor",
        "required": [
          "maxLatency"
        ],
      "required": ["maxLatency"],
      "type": "object",
      "properties": {
        "maxLatency": {
@@ -457,9 +481,7 @@
    },
    "UserContextTransferCapability": {
      "title": "UserContextTransferCapability",
        "required": [
          "statefulApplication"
        ],
      "required": ["statefulApplication"],
      "type": "object",
      "properties": {
        "statefulApplication": {
@@ -472,9 +494,7 @@
    },
    "AppNetworkPolicy": {
      "title": "AppNetworkPolicy",
        "required": [
          "steeredNetwork"
        ],
      "required": ["steeredNetwork"],
      "type": "object",
      "properties": {
        "steeredNetwork": {
@@ -499,9 +519,7 @@
    },
    "InterfaceDescriptor": {
      "title": "InterfaceDescriptor",
        "required": [
          "interfaceType"
        ],
      "required": ["interfaceType"],
      "type": "object",
      "properties": {
        "dstIPAddress": {
@@ -526,24 +544,14 @@
    },
    "InterfaceType": {
      "title": "InterfaceType",
        "enum": [
          "TUNNEL",
          "MAC",
          "IP"
        ],
      "enum": ["TUNNEL", "MAC", "IP"],
      "type": "string",
      "description": "Type of interface.",
        "examples": [
          "TUNNEL"
        ]
      "examples": ["TUNNEL"]
    },
    "TunnelInfo": {
      "title": "TunnelInfo",
        "required": [
          "tunnelDstAddress",
          "tunnelSrcAddress",
          "tunnelType"
        ],
      "required": ["tunnelDstAddress", "tunnelSrcAddress", "tunnelType"],
      "type": "object",
      "properties": {
        "tunnelDstAddress": {
@@ -564,27 +572,17 @@
    },
    "TunnelType": {
      "title": "TunnelType",
        "enum": [
          "GTP-U",
          "GRE"
        ],
      "enum": ["GTP-U", "GRE"],
      "type": "string",
      "description": "Type of tunnel.",
        "examples": [
          "GTP-U"
        ]
      "examples": ["GTP-U"]
    },
    "FilterType": {
      "title": "FilterType",
        "enum": [
          "FLOW",
          "PACKET"
        ],
      "enum": ["FLOW", "PACKET"],
      "type": "string",
        "description": "Definition of filter type: per FLOW or PACKET",
        "examples": [
          "FLOW"
        ]
      "description": "If it is per FLOW, the filter matches upstream (e.g. UE->EPC) packets and the downstream (e.g. EPC->UE) packets are handled by the same context.",
      "examples": ["FLOW"]
    }
  }
}
 No newline at end of file
+69 −5
Original line number Diff line number Diff line
@@ -56,8 +56,7 @@
            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
          $ref: '#/definitions/CategoryRef'
        serName:
          type: string
          description: The name of the service, for example, RNIS, LocationService, etc.
@@ -70,6 +69,29 @@
          type: string
          description: The version of the service.
    
    CategoryRef:
      title: CategoryRef
      required:
      - href
      - id
      - name
      - version
      type: object
      properties:
        href:
          type: string
          description: Reference of the catalogue.
        id:
          type: string
          description: Unique identifier of the category.
        name:
          type: string
          description: Name of the category.
        version:
          type: string
          description: Category version.
      description: This type represents the category reference.

    TransportDependency:
      title: TransportDependency
      required:
@@ -111,8 +133,7 @@
          type: string
          description: The name of the protocol used. Shall be set to HTTP for a REST API.
        security:
          type: object
          description: See MEC011
          $ref: '#/definitions/SecurityInfo'
        type:
          type: string
        version:
@@ -122,6 +143,49 @@
          type: object
          description: Additional implementation specific details of the transport.

    SecurityInfo:
      type: object
      properties:
        oAuth2Info:
          $ref: '#/definitions/OAuth2Info'
        (extensions):
          description: >
            'Extensions for alternative transport mechanisms. These extensions depend on the actual
            transport, and are out of scope of the present document.
            For instance, such extensions may be used to signal the necessary parameters for the client
            to use TLSbased authorization defined for alternative transports (see ETSI GS MEC 009 [5]
            for more information).'
          type: array
          minItems: 0
          items:
            type:
    
    OAuth2Info:
      description: >
        Parameters related to use of OAuth 2.0. Shall be present in case OAuth 2.0
        (see IETF RFC 6749 [13]) is supported to secure the provision of the service over the transport.
      type: object
      properties:
        grantTypes:
          type: array
          minItems: 1
          items:
            type: string
          description: >
            "List of supported OAuth 2.0 grant types.\nEach entry shall be one of the following permitted
            values:\nOAUTH2_AUTHORIZATION_CODE (Authorization code grant type)\nOAUTH2_IMPLICIT_GRANT\n
            \t(Implicit grant type)\nOAUTH2_RESOURCE_OWNER\n\t(Resource owner password credentials grant type)
            \nOAUTH2_CLIENT_CREDENTIALS\n\t(Client credentials grant type)\nOnly the value \"OAUTH2_CLIENT_CREDENTIALS\"
            is supported in the present document. "
          enum:
          - SEE_DESCRIPTION
        tokenEndpoint:
          description: The token endpoint. Shall be present unless the grant type is OAUTH2_IMPLICIT_GRANT.
          type: string
          format: uri
      required:
      - grantTypes

    ServiceDescriptor:
      title: ServiceDescriptor
      description: "'The ServiceDescriptor data type describes a MEC service produced by a service-providing MEC application.'"
@@ -136,7 +200,7 @@
          description: The name of the service, for example, RNIS, LocationService, etc.
        serCategory:
          type: object
          description: See MEC011
          $ref: '#/definitions/CategoryRef'
        version:
          type: string
          description: The version of the service.