7 Stage 3 definition for Intent Driven Management

28.3123GPPIntent driven management services for mobile networksManagement and orchestrationRelease 17TS

7.1 RESTful HTTP-based solution set

he RESTful HTTP-based solution set for generic provisioning management service is defined in clause 12.1.1 in 3GPP TS 28.532 [3]. Corresponding className is Intent.

7.2 OpenAPI specification

7.2.1 OpenAPI document "TS28532_ProvMnS.yaml"

OpenAPI definition of the provisioning MnS which includes the provisioning MnS operations and the provisioning MnS notifications see clause A.1.1 in 3GPP TS 28.532 [3].

7.2.2 OpenAPI document "TS28312_IntentNrm.yaml"

openapi: 3.0.1

info:

title: Intent NRM

version: 17.1.0

description: >-

OAS 3.0.1 definition of the Intent NRM

© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).

All rights reserved.

externalDocs:

description: 3GPP TS 28.312; Intent driven management services for mobile networks

url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.312/

paths: {}

components:

schemas:

#——-Definition of concrete IOCs ———-#

SubNetwork-Single:

allOf:

– $ref: ‘TS28623_GenericNrm.yaml#/components/schemas/Top’

– type: object

properties:

attributes:

$ref: ‘TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-Attr’

– $ref: ‘TS28623_GenericNrm.yaml#/components/schemas/SubNetwork-ncO’

– type: object

properties:

SubNetwork:

$ref: ‘#/components/schemas/SubNetwork-Multiple’

Intent:

$ref: ‘#/components/schemas/Intent-Multiple’

Intent-Single:

allOf:

– $ref: ‘TS28623_GenericNrm.yaml#/components/schemas/Top’

– type: object

properties:

userLabel:

type: string

intentExpectations:

type: array

items:

type: object

oneOf:

– $ref: "#/components/schemas/IntentExpectation"

– $ref: "#/components/schemas/RadioNetworkExpectation"

– $ref: "#/components/schemas/ServiceSupportExpectation"

intentContexts:

type: array

items:

$ref: "#/components/schemas/IntentContext"

intentFulfilmentInfo:

$ref: "#/components/schemas/FulfilmentInfo"

#——-Definition of concrete IOCs ———-#

#——-Definition of the IntentExpectation dataType ———-#

IntentExpectation:

description: >-

This data type is the "IntentExpectation" data type without specialisations

type: object

properties:

expectationId:

type: string

expectationVerb:

$ref: "#/components/schemas/ExpectationVerb"

expectationObjects:

type: array

items:

$ref: "#/components/schemas/ExpectationObject"

expectationTargets:

type: array

items:

$ref: "#/components/schemas/ExpectationTarget"

expectationContexts:

type: array

items:

$ref: "#/components/schemas/ExpectationContext"

expectationfulfilmentInfo:

$ref: "#/components/schemas/FulfilmentInfo"

RadioNetworkExpectation:

description: >-

This data type is the "IntentExpectation" data type with specialisations to represent MnS consumer’s expectations for radio network delivering and performance assurance

type: object

properties:

expectationId:

type: string

expectationVerb:

$ref: "#/components/schemas/ExpectationVerb"

expectationObjects:

type: array

items:

$ref: "#/components/schemas/RadioNetworkExpectationObject"

expectationTargets:

type: array

items:

type: object

oneOf:

– $ref: "#/components/schemas/WeakRSRPRatioTarget"

– $ref: "#/components/schemas/LowSINRRatioTarget"

– $ref: "#/components/schemas/AveULRANUEThptTarget"

– $ref: "#/components/schemas/AveDLRANUEThptTarget"

– $ref: "#/components/schemas/LowULRANUEThptRatioTarget"

– $ref: "#/components/schemas/LowDLRANUEThptRatioTarget"

– $ref: "#/components/schemas/ExpectationTarget"

expectationContexts:

type: array

items:

$ref: "#/components/schemas/ExpectationContext"

expectationfulfilmentInfo:

$ref: "#/components/schemas/FulfilmentInfo"

ServiceSupportExpectation:

description: >-

This data type is the "IntentExpectation" data type with specialisations to represent MnS consumer’s expectations for service deployment

type: object

properties:

expectationId:

type: string

expectationVerb:

$ref: "#/components/schemas/ExpectationVerb"

expectationObjects:

type: array

items:

$ref: "#/components/schemas/ServiceSupportExpectationObject"

expectationTargets:

type: array

items:

type: object

oneOf:

– $ref: "#/components/schemas/DLThptPerUETarget"

– $ref: "#/components/schemas/ULThptPerUETarget"

– $ref: "#/components/schemas/DLLatencyTarget"

– $ref: "#/components/schemas/ULLatencyTarget"

– $ref: "#/components/schemas/MaxNumberofUEsTarget"

– $ref: "#/components/schemas/ActivityFactorTarget"

– $ref: "#/components/schemas/UESpeedTarget"

– $ref: "#/components/schemas/ExpectationTarget"

expectationContexts:

type: array

items:

type: object

oneOf:

– $ref: "#/components/schemas/ServiceStartTimeContext"

– $ref: "#/components/schemas/ServiceEndTimeContext"

– $ref: "#/components/schemas/UEMobilityLevelContext"

– $ref: "#/components/schemas/ResourceSharingLevelContext"

– $ref: "#/components/schemas/ExpectationContext"

expectationfulfilmentInfo:

$ref: "#/components/schemas/FulfilmentInfo"

#——-Definition of the IntentExpectation dataType ———-#

#——-Definition of the ExpectationObject dataType ———-#

ExpectationObject:

description: >-

This data type is the "ExpectationObject" data type without specialisations

type: object

properties:

objectType:

type: string

enum:

– RAN_SubNetwork #value for Radio Network Expectation–#

– Service_Support #value for Service Support Expectation–#

– TBD #-This will be added based on defined scenario specfic intent expectation-#

objectInstance:

$ref: "TS28623_ComDefs.yaml#/components/schemas/Dn"

objectContexts:

type: array

items:

$ref: "#/components/schemas/ObjectContext"

RadioNetworkExpectationObject:

description: >-

This data type is the "ExpectationObject" data type with specialisations for RadioNetworkExpectation

type: object

properties:

objectType:

type: string

enum:

– RAN_SubNetwork #value for Radio Network Expectation–#

objectInstance:

$ref: "TS28623_ComDefs.yaml#/components/schemas/Dn"

objectContexts:

type: array

items:

type: object

oneOf:

– $ref: "#/components/schemas/CoverageAreaPolygonContext"

– $ref: "#/components/schemas/CoverageTACContext"

– $ref: "#/components/schemas/PLMNContext"

– $ref: "#/components/schemas/NRFqBandContext"

– $ref: "#/components/schemas/RATContext"

– $ref: "#/components/schemas/ObjectContext"

ServiceSupportExpectationObject:

description: >-

This data type is the "ExpectationObject" data type with specialisations for ServiceSupportExpectation

type: object

properties:

objectType:

type: string

enum:

– Service_Support #value for Radio Network Expectation–#

objectInstance:

$ref: "TS28623_ComDefs.yaml#/components/schemas/Dn"

objectContexts:

type: array

items:

type: object

oneOf:

– $ref: "#/components/schemas/EdgeIdenfiticationIdContext"

– $ref: "#/components/schemas/EdgeIdenfiticationLocContext"

– $ref: "#/components/schemas/CoverageAreaTAContext"

– $ref: "#/components/schemas/ObjectContext"

#——-Definition of the ExpectationObject dataType ———-#

#——-Definition of the generic dataType ————–#

Condition:

type: string

enum:

– IS_EQUAL_TO

– IS_LESS_THAN

– IS_GREATER_THAN

– IS_WITHIN_RANGE

– IS_OUTSIDE_RANGE

FulfilStatus:

type: string

enum:

– FULFILLED

– NOT_FULFILLED

NotFulfilledState:

type: string

enum:

– ACKNOWLEDGED

– COMPLIANT

– DEGRADED

– SUSPENDED

– TERMINATED

– FULFILMENTFAILED

FulfilmentInfo:

type: object

properties:

fulfilStatus:

$ref: "#/components/schemas/FulfilStatus"

notFullfilledState:

description: ->

An attribute which is used when FulfilmentInfo is implemented for IntentFulfilmentInfo

$ref: "#/components/schemas/NotFulfilledState"

notFulfilledReasons:

description: ->

An attribute which is used when FulfilmentInfo is implemented for IntentFulfilmentInfo

type: string

ExpectationVerb:

type: string

enum:

– DELIVER

– ENSURE

#——-Definition of the generic dataType ————–#

#——-Definition of the IntentContext dataType ————–#

IntentContext:

description: >-

This data type is the "IntentContext" data type without specialisations

type: object

properties:

contextAttribute:

type: string

contextCondition:

$ref: "#/components/schemas/Condition"

contextValueRange:

type: array

items:

type: number

#——-Definition of the IntentContext dataType ————–#

#——-Definition of the ExpectationTarget dataType———-#

ExpectationTarget:

description: >-

This data type is the "ExpectationTarget" data type without specialisations

type: object

properties:

targetName:

type: string

targetCondition:

$ref: "#/components/schemas/Condition"

targetValueRange:

type: number

targetContexts:

type: array

items:

$ref: "#/components/schemas/TargetContext"

TargetContext:

description: >-

This data type is the "TargetContext" data type without specialisations

type: object

properties:

contextAttribute:

type: string

contextCondition:

$ref: "#/components/schemas/Condition"

contextValueRange:

type: number

WeakRSRPRatioTarget:

description: >-

This data type is the "ExpectationTarget" data type with specialisations for WeakRSRPRatioTarget

type: object

properties:

targetName:

type: string

enum:

– WeakRSRPRatio

targetCondition:

type: string

enum:

– IS_LESS_THAN

targetValueRange:

type: integer

minimum: 0

maximum: 100

targetContexts:

$ref: "#/components/schemas/WeakRSRPContext"

targetFulfilmentInfo:

$ref: "#/components/schemas/FulfilmentInfo"

WeakRSRPContext:

description: >-

This data type is the "TargetContext" data type with specialisations for WeakRSRPContext

type: object

properties:

contextAttribute:

type: string

enum:

– WeakRSRPThreshold

contextCondition:

type: string

enum:

– IS_LESS_THAN

contextValueRange:

type: number

LowSINRRatioTarget:

description: >-

This data type is the "ExpectationTarget" data type with specialisations for LowSINRatioTarget

type: object

properties:

targetName:

type: string

enum:

– LowSINRRatio

targetCondition:

type: string

enum:

– IS_LESS_THAN

targetValueRange:

type: integer

minimum: 0

maximum: 100

targetContexts:

$ref: "#/components/schemas/LowSINRContext"

targetFulfilmentInfo:

$ref: "#/components/schemas/FulfilmentInfo"

LowSINRContext:

description: >-

This data type is the "TargetContext" data type with specialisations for LowSINRContext

type: object

properties:

contextAttribute:

type: string

enum:

– LowSINRThreshold

contextCondition:

type: string

enum:

– IS_LESS_THAN

contextValueRange:

type: integer

AveULRANUEThptTarget:

description: >-

This data type is the "ExpectationTarget" data type with specialisations for AveULRANUEThptTarget

type: object

properties:

targetName:

type: string

enum:

– AveULRANUEThpt

targetCondition:

type: string

enum:

– IS_GREATER_THAN

targetValueRange:

type: integer

targetFulfilmentInfo:

$ref: "#/components/schemas/FulfilmentInfo"

AveDLRANUEThptTarget:

description: >-

This data type is the "ExpectationTarget" data type with specialisations for AveDLRANUEThptTarget

type: object

properties:

targetName:

type: string

enum:

– AveDLRANUEThpt

targetCondition:

type: string

enum:

– IS_GREATER_THAN

targetValueRange:

type: integer

targetFulfilmentInfo:

$ref: "#/components/schemas/FulfilmentInfo"

LowULRANUEThptRatioTarget:

description: >-

This data type is the "ExpectationTarget" data type with specialisations for LowULRANUEThptRatioTarget

type: object

properties:

targetName:

type: string

enum:

– LowULRANUEThptRatio

targetCondition:

type: string

enum:

– IS_LESS_THAN

targetValueRange:

type: integer

minimum: 0

maximum: 100

targetContexts:

$ref: "#/components/schemas/LowULRANUEThptContext"

targetFulfilmentInfo:

$ref: "#/components/schemas/FulfilmentInfo"

LowULRANUEThptContext:

description: >-

This data type is the "TargetContext" data type with specialisations for LowULRANUEThptContext

type: object

properties:

contextAttribute:

type: string

enum:

– LowULRANUEThptThreshold

contextCondition:

type: string

enum:

– Is_less_than

contextValueRange:

type: number

LowDLRANUEThptRatioTarget:

description: >-

This data type is the "ExpectationTarget" data type with specialisations for LowDLRANUEThptRatioTarget

type: object

properties:

targetName:

type: string

enum:

– LowDLRANUEThptRatio

targetCondition:

type: string

enum:

– IS_LESS_THAN

targetValueRange:

type: integer

minimum: 0

maximum: 100

targetContexts:

$ref: "#/components/schemas/LowDLRANUEThptContext"

targetFulfilmentInfo:

$ref: "#/components/schemas/FulfilmentInfo"

LowDLRANUEThptContext:

description: >-

This data type is the "TargetContext" data type with specialisations for LowDLRANUEThptContext

type: object

properties:

contextAttribute:

type: string

enum:

– LowDLRANUEThptThreshold

contextCondition:

type: string

enum:

– IS_LESS_THAN

contextValueRange:

type: number

DLThptPerUETarget:

description: >-

This data type is the "ExpectationTarget" data type with specialisations for DLThptPerUETarget

type: object

properties:

targetName:

type: string

enum:

– DlThptPerUE

targetCondition:

type: string

enum:

– IS_GREATER_THAN

targetValueRange:

$ref: "TS28541_SliceNrm.yaml#/components/schemas/XLThpt"

ULThptPerUETarget:

description: >-

This data type is the "ExpectationTarget" data type with specialisations for ULThptPerUETarget

type: object

properties:

targetName:

type: string

enum:

– UlThptPerUE

targetCondition:

type: string

enum:

– IS_GREATER_THAN

targetValueRange:

$ref: "TS28541_SliceNrm.yaml#/components/schemas/XLThpt"

DLLatencyTarget:

description: >-

This data type is the "ExpectationTarget" data type with specialisations for DLLatencyTarget

type: object

properties:

targetName:

type: string

enum:

– DlLatency

targetCondition:

type: string

enum:

– IS_LESS_THAN

targetValueRange:

type: integer

ULLatencyTarget:

description: >-

This data type is the "ExpectationTarget" data type with specialisations for ULLatencyTarget

type: object

properties:

targetName:

type: string

enum:

– UlLatency

targetCondition:

type: string

enum:

– IS_LESS_THAN

targetValueRange:

type: integer

MaxNumberofUEsTarget:

description: >-

This data type is the "ExpectationTarget" data type with specialisations for MaxNumberofUEsTarget

type: object

properties:

targetAttribute:

type: string

enum:

– maxNumberofUEs

targetCondition:

type: string

enum:

– IS_LESS_THAN

targetValueRange:

type: integer

ActivityFactorTarget:

description: >-

This data type is the "ExpectationTarget" data type with specialisations for ActivityFactorTarget

type: object

properties:

targetAttribute:

type: string

enum:

– activityFactor

targetCondition:

type: string

enum:

– IS_EQUAL_TO

targetValueRange:

type: integer

UESpeedTarget:

description: >-

This data type is the "ExpectationTarget" data type with specialisations for UESpeedTarget

type: object

properties:

targetAttribute:

type: string

enum:

– uESpeed

targetCondition:

type: string

enum:

– IS_LESS_THAN

targetValueRange:

type: integer

#——-Definition of the concrete ExpectationTarget dataType———-#

#——-Definition of the concrete ObjectTarget dataType—————-#

ObjectContext:

description: >-

This data type is the "ObjectContext" data type without specialisations

type: object

properties:

contextAttribute:

type: string

contextCondition:

$ref: "#/components/schemas/Condition"

contextValueRange:

type: array

items:

type: number

CoverageAreaPolygonContext:

description: >-

This data type is the "ObjectContext" data type with specialisations for CoverageAreaPolygonContext

type: object

properties:

contextAttribute:

type: string

enum:

– CoverageAreaPolygon

contextCondition:

type: string

enum:

– IS_WITHIN_RANGE

contextValueRange:

type: array

items:

$ref: "#/components/schemas/CoverageArea"

CoverageArea:

type: string

CoverageTACContext:

description: >-

This data type is the "ObjectContext" data type with specialisations for CoverageTACContext

type: object

properties:

contextAttribute:

type: string

enum:

– CoverageAreaTac

contextCondition:

type: string

enum:

– IS_WITHIN_RANGE

contextValueRange:

type: array

items:

$ref: "TS28541_NrNrm.yaml#/components/schemas/NrTac"

PLMNContext:

description: >-

This data type is the "ObjectContext" data type with specialisations for PLMNContext

type: object

properties:

contextAttribute:

type: string

enum:

– PLMN

contextCondition:

type: string

enum:

– IS_WITHIN_RANGE

contextValueRange:

type: array

items:

$ref: "TS28541_NrNrm.yaml#/components/schemas/PlmnId"

NRFqBandContext:

description: >-

This data type is the "ObjectContext" data type with specialisations for NRFqBandContext

type: object

properties:

contextAttribute:

type: string

enum:

– NRFqBand

contextCondition:

type: string

enum:

– IS_WITHIN_RANGE

contextValueRange:

type: array

items:

type: string

RATContext:

description: >-

This data type is the "ObjectContext" data type with specialisations for RATContext

type: object

properties:

contextAttribute:

type: string

enum:

– RAT

contextCondition:

type: string

enum:

– IS_WITHIN_RANGE

contextValueRange:

type: array

items:

type: string

enum:

– UTRAN

– EUTRAN

– NR

EdgeIdenfiticationIdContext:

description: >-

This data type is the "ObjectContext" data type with specialisations for EdgeIdenfiticationIdContext

type: object

properties:

contextAttribute:

type: string

enum:

– edgeIdentificationId

contextCondition:

type: string

enum:

– IS_EQUAL_TO

contextValueRange:

type: array

items:

type: string

EdgeIdenfiticationLocContext:

description: >-

This data type is the "ObjectContext" data type with specialisations for EdgeIdenfiticationLocContext

type: object

properties:

contextAttribute:

type: string

enum:

– edgeIdentificationTarget

contextCondition:

type: string

enum:

– IS_EQUAL_TO

contextValueRange:

type: array

items:

type: string

CoverageAreaTAContext:

description: >-

This data type is the "ObjectContext" data type with specialisations for CoverageAreaTAContext

type: object

properties:

contextAttribute:

type: string

enum:

– coverageAreaTA

contextCondition:

type: string

enum:

– IS_WITHIN_RANGE

contextValueRange:

type: array

items:

$ref: "#/components/schemas/CoverageAreaTAList"

CoverageAreaTAList:

type: integer

#——-Definition of the concrete ObjectTarget dataType—————-#

#——-Definition of the concrete ExpectionContext dataType—————-#

ExpectationContext:

description: >-

This data type is the "ExpectationContext" data type without specialisations

type: object

properties:

contextAttribute:

type: string

contextCondition:

$ref: "#/components/schemas/Condition"

contextValueRange:

type: array

items:

type: number

ServiceStartTimeContext:

description: >-

This data type is the "ExpectationContext" data type with specialisations for ServiceStartTimeContext

type: object

properties:

contextAttribute:

type: string

enum:

– ServiceStartTime

contextCondition:

type: string

enum:

– IS_EQUAL_TO

contextValueRange:

type: string

ServiceEndTimeContext:

description: >-

This data type is the "ExpectationContext" data type with specialisations for ServiceEndTimeContext

type: object

properties:

contextAttribute:

type: string

enum:

– ServiceEndTime

contextCondition:

type: string

enum:

– IS_EQUAL_TO

contextValueRange:

type: string

UEMobilityLevelContext:

description: >-

This data type is the "ExpectationContext" data type with specialisations for UEMobilityLevelContext

type: object

properties:

contextAttribute:

type: string

enum:

– UEMobilityLevel

contextCondition:

type: string

enum:

– IS_WITHIN_RANGE

contextValueRange:

type: array

items:

$ref: "TS28541_SliceNrm.yaml#/components/schemas/MobilityLevel"

ResourceSharingLevelContext:

description: >-

This data type is the "ExpectationContext" data type with specialisations for ResourceSharingLevelContext

type: object

properties:

contextAttribute:

type: string

enum:

– ResourceSharingLevel

contextCondition:

type: string

enum:

– IS_WITHIN_RANGE

contextValueRange:

type: array

items:

$ref: "TS28541_SliceNrm.yaml#/components/schemas/SharingLevel"

#——-Definition of the concrete ExpectionContext dataType—————-#

#——Definition of JSON arrays for name-contained IOCs —————#

SubNetwork-Multiple:

type: array

items:

$ref: ‘#/components/schemas/SubNetwork-Single’

Intent-Multiple:

type: array

items:

$ref: ‘#/components/schemas/Intent-Single’

#——Definition of JSON arrays for name-contained IOCs —————#

#—– Definitions in TS 28.312 for TS 28.532 ————————–#

resources-intentNrm:

oneOf:

– $ref: ‘#/components/schemas/SubNetwork-Single’

– $ref: ‘#/components/schemas/Intent-Single’

#—– Definitions in TS 28.312 for TS 28.532 ————————–#