1、 ETSI GS NFV-SOL 005 V2.4.1 (2018-02) Network Functions Virtualisation (NFV) Release 2; Protocols and Data Models; RESTful protocols specification for the Os-Ma-nfvo Reference Point Disclaimer The present document has been produced and approved by the Network Functions Virtualisation (NFV) ETSI Indu
2、stry Specification Group (ISG) and represents the views of those members who participated in this ISG. It does not necessarily represent the views of the entire ETSI membership. GROUP SPECIFICATION ETSI ETSI GS NFV-SOL 005 V2.4.1 (2018-02)2 Reference DGS/NFV-SOL005 Keywords API, NFV, protocol ETSI 6
3、50 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 Siret N 348 623 562 00017 - NAF 742 C Association but non lucratif enregistre la Sous-Prfecture de Grasse (06) N 7803/88 Important notice The present document can be downloaded from: http:/ww
4、w.etsi.org/standards-search The present document may be made available in electronic versions and/or in print. The content of any electronic and/or print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any existing or perceived diffe
5、rence in contents between such versions and/or in print, the only prevailing document is the print of the Portable Document Format (PDF) version kept on a specific network drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or cha
6、nge of status. Information on the current status of this and other ETSI documents is available at https:/portal.etsi.org/TB/ETSIDeliverableStatus.aspx If you find errors in the present document, please send your comment to one of the following services: https:/portal.etsi.org/People/CommiteeSupportS
7、taff.aspx Copyright Notification No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm except as authorized by written permission of ETSI. The content of the PDF version shall not be modified without the written authorizatio
8、n of ETSI. The copyright and the foregoing restriction extend to reproduction in all media. ETSI 2018. All rights reserved. DECTTM, PLUGTESTSTM, UMTSTMand the ETSI logo are trademarks of ETSI registered for the benefit of its Members. 3GPPTM and LTE are trademarks of ETSI registered for the benefit
9、of its Members and of the 3GPP Organizational Partners. oneM2M logo is protected for the benefit of its Members. GSM and the GSM logo are trademarks registered and owned by the GSM Association. ETSI ETSI GS NFV-SOL 005 V2.4.1 (2018-02)3 Contents Intellectual Property Rights 17g3Foreword . 17g3Modal
10、verbs terminology 17g31 Scope 18g32 References 18g32.1 Normative references . 18g32.2 Informative references 20g33 Abbreviations . 20g34 General Aspects 21g34.1 Overview 21g34.2 URI structure and supported content formats . 22g34.3 Common procedures. 22g34.3.1 Introduction. 22g34.3.2 Attribute-based
11、 filtering 22g34.3.2.1 Overview and example (informative) 22g34.3.2.2 Specification 23g34.3.3 Attribute selectors . 24g34.3.3.1 Overview and example 24g34.3.3.2 Specification 25g34.3.3.2.1 GET request . 25g34.3.3.2.2 GET response 25g34.3.4 Usage of HTTP header fields 26g34.3.4.1 Introduction . 26g34
12、.3.4.2 Request header fields 26g34.3.4.3 Response header fields 26g34.3.5 Error reporting 27g34.3.5.1 Introduction . 27g34.3.5.2 General mechanism . 27g34.3.5.3 Type: ProblemDetails 27g34.3.5.4 Common error situations . 28g34.3.5.5 Overview of HTTP error status codes . 29g34.4 Common data types 30g3
13、4.4.1 Structured data types . 30g34.4.1.1 Introduction . 30g34.4.1.2 Type: Object 30g34.4.1.3 Type: Link . 30g34.4.1.4 Type: KeyValuePairs 30g34.4.1.5 Type: NsInstanceSubscriptionFilter 31g34.4.2 Simple data types 31g34.5 Authorization of API requests and notifications 32g34.5.1 Introduction. 32g34.
14、5.2 Flows (informative) 32g34.5.2.0 General 32g34.5.2.1 Authorization of API requests using OAuth 2.0 access tokens . 32g34.5.2.1a Authorization of API requests using TLS certificates . 34g34.5.2.2 Authorization of notifications using the HTTP Basic authentication scheme . 35g34.5.2.3 Authorization
15、of notifications using OAuth 2.0 access tokens 36g34.5.2.4 Authorization of notifications using TLS certificates . 38g34.5.3 Specification . 40g34.5.3.1 Introduction . 40g34.5.3.2 General mechanism . 40g34.5.3.3 Authorizing API requests 40g34.5.3.4 Authorizing the sending of notifications . 41g34.5.
16、3.5 Client roles 42g3ETSI ETSI GS NFV-SOL 005 V2.4.1 (2018-02)4 4.5.3.6 Negotiation of authorization method . 43g34.5.3.6.1 Authorization of API requests . 43g34.5.3.6.2 Authorization of notification requests . 45g35 NSD Management interface . 45g35.1 Description . 45g35.2 Resource structure and met
17、hods . 46g35.3 Sequence diagrams (informative) . 47g35.3.1 Flow of the creation of an individual NS descriptor resource . 47g35.3.2 Flow of the uploading of NSD content . 48g35.3.3 Flow of the fetching of NSD content 48g35.3.4 Flow of the update of an individual NS descriptor resource . 49g35.3.5 Fl
18、ow of the deletion of an individual NS descriptor resource . 50g35.3.6 Flow of the querying/reading of NS descriptor resources . 51g35.3.7 Flow of the creation of an individual PNF descriptor resource 52g35.3.8 Flow of the uploading of PNFD content . 53g35.3.9 Flow of the fetching of PNFD content 54
19、g35.3.10 Flow of the deletion of an individual PNF descriptor resource 54g35.3.11 Flow of the querying/reading of PNF descriptor resources 55g35.3.12 Flow of managing subscriptions . 56g35.3.13 Flow of sending notifications 58g35.4 Resources . 59g35.4.1 Introduction. 59g35.4.2 Resource: NS Descripto
20、rs . 59g35.4.2.1 Description 59g35.4.2.2 Resource definition . 59g35.4.2.3 Resource methods . 59g35.4.2.3.1 POST . 59g35.4.2.3.2 GET . 60g35.4.2.3.3 PUT . 61g35.4.2.3.4 PATCH 61g35.4.2.3.5 DELETE 61g35.4.3 Resource: Individual NS Descriptor . 61g35.4.3.1 Description 61g35.4.3.2 Resource definition .
21、 62g35.4.3.3 Resource methods . 62g35.4.3.3.1 POST . 62g35.4.3.3.2 GET . 62g35.4.3.3.3 PUT . 63g35.4.3.3.4 PATCH 63g35.4.3.3.5 DELETE 64g35.4.4 Resource: NSD Content 65g35.4.4.1 Description 65g35.4.4.2 Resource definition . 65g35.4.4.3 Resource methods . 66g35.4.4.3.1 POST . 66g35.4.4.3.2 GET . 66g3
22、5.4.4.3.3 PUT . 67g35.4.4.3.4 PATCH 69g35.4.4.3.5 DELETE 69g35.4.5 Resource: PNF Descriptors . 69g35.4.5.1 Description 69g35.4.5.2 Resource definition . 69g35.4.5.3 Resource methods . 69g35.4.5.3.1 POST . 69g35.4.5.3.2 GET . 70g35.4.5.3.3 PUT . 71g35.4.5.3.4 PATCH 71g35.4.5.3.5 DELETE 71g35.4.6 Reso
23、urce: Individual PNF Descriptor . 71g35.4.6.1 Description 71g35.4.6.2 Resource definition . 71g3ETSI ETSI GS NFV-SOL 005 V2.4.1 (2018-02)5 5.4.6.3 Resource methods . 72g35.4.6.3.1 POST . 72g35.4.6.3.2 GET . 72g35.4.6.3.3 PUT . 72g35.4.6.3.4 PATCH 72g35.4.6.3.5 DELETE 73g35.4.7 Resource: PNFD Content
24、 74g35.4.7.1 Description 74g35.4.7.2 Resource definition . 74g35.4.7.3 Resource methods . 74g35.4.7.3.1 POST . 74g35.4.7.3.2 GET . 74g35.4.7.3.3 PUT . 75g35.4.7.3.4 PATCH 76g35.4.7.3.5 DELETE 76g35.4.8 Resource: Subscriptions 76g35.4.8.1 Description 76g35.4.8.2 Resource definition . 76g35.4.8.3 Reso
25、urce methods . 76g35.4.8.3.1 POST . 76g35.4.8.3.2 GET . 77g35.4.8.3.3 PUT . 78g35.4.8.3.4 PATCH 78g35.4.8.3.5 DELETE 78g35.4.9 Resource: Individual subscription . 78g35.4.9.1 Description 78g35.4.9.2 Resource definition . 78g35.4.9.3 Resource methods . 79g35.4.9.3.1 POST . 79g35.4.9.3.2 GET . 79g35.4
26、.9.3.3 PUT . 79g35.4.9.3.4 PATCH 79g35.4.9.3.5 DELETE 80g35.4.10 Resource: Notification endpoint . 80g35.4.10.1 Description 80g35.4.10.2 Resource definition . 80g35.4.10.3 Resource methods . 80g35.4.10.3.1 POST . 80g35.4.10.3.2 GET . 81g35.4.10.3.3 PUT . 82g35.4.10.3.4 PATCH 82g35.4.10.3.5 DELETE 82
27、g35.5 Data model . 82g35.5.1 Introduction. 82g35.5.2 Resource and notification data types 82g35.5.2.1 Type: NsdInfoModifications . 82g35.5.2.2 Type: NsdInfo . 83g35.5.2.3 Type: CreateNsdInfoRequest 84g35.5.2.4 Type: PnfdInfoModifications 84g35.5.2.5 Type: PnfdInfo 84g35.5.2.6 Type: CreatePnfdInfoReq
28、uest . 85g35.5.2.7 Type: NsdmSubscriptionRequest 85g35.5.2.8 Type: NsdmSubscription . 86g35.5.2.9 Type: NsdOnboardingNotification 86g35.5.2.10 Type: NsdOnboardingFailureNotification 87g35.5.2.11 Type: NsdChangeNotification. 87g35.5.2.12 Type: NsdDeletionNotification . 88g35.5.2.13 Type: PnfdOnboardi
29、ngNotification . 88g35.5.2.14 Type: PnfdOnboardingFailureNotification . 88g35.5.2.15 Type: PnfdDeletionNotification 89g35.5.3 Referenced structured data types 89g35.5.3.1 Introduction . 89g3ETSI ETSI GS NFV-SOL 005 V2.4.1 (2018-02)6 5.5.3.2 Type: NsdmNotificationsFilter . 89g35.5.3.3 Type: NsdmLinks
30、 90g35.5.3.4 Type: PnfdmLinks. 91g35.5.4 Referenced simple data types and enumerations 91g35.5.4.1 Introduction . 91g35.5.4.2 Simple data types 91g35.5.4.3 Enumeration: NsdOperationalStateType . 91g35.5.4.4 Enumeration: NsdUsageStateType . 91g35.5.4.5 Enumeration: NsdOnboardingStateType 92g35.5.4.6
31、Enumeration: PnfdOnboardingStateType . 92g35.5.4.7 Enumeration: PnfdUsageStateType 92g36 NS Lifecycle Management interface 92g36.1 Description . 92g36.2 Resource structure and methods . 93g36.3 Sequence diagrams (informative) . 94g36.3.1 Flow of the creation of a NS instance resource. 94g36.3.2 Flow
32、 of the deletion of a NS instance resource. 95g36.3.3 Flow of NS lifecycle management operations triggered by task resources. 96g36.3.4 Flow of the get operations status operation 98g36.3.5 Flow of managing subscriptions . 99g36.3.6 Flow of sending notifications 101g36.3.7 Flow of retrying a NS life
33、cycle management operation . 102g36.3.8 Flow of rolling back a NS lifecycle management operation . 103g36.3.9 Flow of continuing a NS lifecycle management operation . 104g36.3.10 Flow of failing a NS lifecycle management operation 106g36.3.11 Flow of cancelling a NS lifecycle management operation 10
34、7g36.4 Resources . 108g36.4.1 Introduction. 108g36.4.2 Resource: NS Instances 108g36.4.2.1 Description 108g36.4.2.2 Resource definition . 108g36.4.2.3 Resource methods . 108g36.4.2.3.1 POST . 108g36.4.2.3.2 GET . 109g36.4.2.3.3 PUT . 110g36.4.2.3.4 PATCH 110g36.4.2.3.5 DELETE 110g36.4.3 Resource: In
35、dividual NS Instance . 110g36.4.3.1 Description 110g36.4.3.2 Resource definition . 110g36.4.3.3 Resource methods . 111g36.4.3.3.1 POST . 111g36.4.3.3.2 GET . 111g36.4.3.3.3 PUT . 111g36.4.3.3.4 PATCH 111g36.4.3.3.5 DELETE 111g36.4.4 Resource: Instantiate NS task . 112g36.4.4.1 Description 112g36.4.4
36、.2 Resource definition . 112g36.4.4.3 Resource methods . 113g36.4.4.3.1 POST . 113g36.4.4.3.2 GET . 113g36.4.4.3.3 PUT . 113g36.4.4.3.4 PATCH 114g36.4.4.3.5 DELETE 114g36.4.5 Resource: Scale NS task . 114g36.4.5.1 Description 114g36.4.5.2 Resource definition . 114g36.4.5.3 Resource methods . 114g36.
37、4.5.3.1 POST . 114g36.4.5.3.2 GET . 115g3ETSI ETSI GS NFV-SOL 005 V2.4.1 (2018-02)7 6.4.5.3.3 PUT . 115g36.4.5.3.4 PATCH 115g36.4.5.3.5 DELETE 115g36.4.6 Resource: Update NS task 115g36.4.6.1 Description 115g36.4.6.2 Resource definition . 116g36.4.6.3 Resource methods . 116g36.4.6.3.1 POST . 116g36.
38、4.6.3.2 GET . 117g36.4.6.3.3 PUT . 117g36.4.6.3.4 PATCH 117g36.4.6.3.5 DELETE 117g36.4.7 Resource: Heal NS task 117g36.4.7.1 Description 117g36.4.7.2 Resource definition . 117g36.4.7.3 Resource methods . 117g36.4.7.3.1 POST . 117g36.4.7.3.2 GET . 118g36.4.7.3.3 PUT . 118g36.4.7.3.4 PATCH 118g36.4.7.
39、3.5 DELETE 118g36.4.8 Resource: Terminate NS task 118g36.4.8.1 Description 118g36.4.8.2 Resource definition . 119g36.4.8.3 Resource methods . 119g36.4.8.3.1 POST . 119g36.4.8.3.2 GET . 120g36.4.8.3.3 PUT . 120g36.4.8.3.4 PATCH 120g36.4.8.3.5 DELETE 120g36.4.9 Resource: NS LCM occurrences . 120g36.4.
40、9.1 Description 120g36.4.9.2 Resource definition . 121g36.4.9.3 Resource methods . 121g36.4.9.3.1 POST . 121g36.4.9.3.2 GET . 121g36.4.9.3.3 PUT . 122g36.4.9.3.4 PATCH 122g36.4.9.3.5 DELETE 122g36.4.10 Resource: Individual NS LCM occurrence . 122g36.4.10.1 Description 122g36.4.10.2 Resource definiti
41、on . 122g36.4.10.3 Resource methods . 123g36.4.10.3.1 POST . 123g36.4.10.3.2 GET . 123g36.4.10.3.3 PUT . 123g36.4.10.3.4 PATCH 123g36.4.10.3.5 DELETE 124g36.4.11 Resource: Retry operation task . 124g36.4.11.1 Description 124g36.4.11.2 Resource definition . 124g36.4.11.3 Resource methods . 124g36.4.1
42、1.3.1 POST . 124g36.4.11.3.2 GET . 125g36.4.11.3.3 PUT . 125g36.4.11.3.4 PATCH 125g36.4.11.3.5 DELETE 126g36.4.12 Resource: Rollback operation task 126g36.4.12.1 Description 126g36.4.12.2 Resource definition . 126g36.4.12.3 Resource methods . 126g36.4.12.3.1 POST . 126g3ETSI ETSI GS NFV-SOL 005 V2.4
43、.1 (2018-02)8 6.4.12.3.2 GET . 127g36.4.12.3.3 PUT . 127g36.4.12.3.4 PATCH 127g36.4.12.3.5 DELETE 128g36.4.13 Resource: Continue operation task . 128g36.4.13.1 Description 128g36.4.13.2 Resource definition . 128g36.4.13.3 Resource methods . 128g36.4.13.3.1 POST . 128g36.4.13.3.2 GET . 129g36.4.13.3.
44、3 PUT . 129g36.4.13.3.4 PATCH 129g36.4.13.3.5 DELETE 129g36.4.14 Resource: Fail operation task 130g36.4.14.1 Description 130g36.4.14.2 Resource definition . 130g36.4.14.3 Resource methods . 130g36.4.14.3.1 POST . 130g36.4.14.3.2 GET . 131g36.4.14.3.3 PUT . 131g36.4.14.3.4 PATCH 131g36.4.14.3.5 DELET
45、E 132g36.4.15 Resource: Cancel operation task . 132g36.4.15.1 Description 132g36.4.15.2 Resource definition . 132g36.4.15.3 Resource methods . 132g36.4.15.3.1 POST . 132g36.4.15.3.2 GET . 133g36.4.15.3.3 PUT . 133g36.4.15.3.4 PATCH 133g36.4.15.3.5 DELETE 134g36.4.16 Resource: Subscriptions 134g36.4.
46、16.1 Description 134g36.4.16.2 Resource definition . 134g36.4.16.3 Resource methods . 134g36.4.16.3.1 POST . 134g36.4.16.3.2 GET . 135g36.4.16.3.3 PUT . 136g36.4.16.3.4 PATCH 136g36.4.16.3.5 DELETE 136g36.4.17 Resource: Individual subscription . 136g36.4.17.1 Description 136g36.4.17.2 Resource defin
47、ition . 136g36.4.17.3 Resource methods . 137g36.4.17.3.1 POST . 137g36.4.17.3.2 GET . 137g36.4.17.3.3 PUT . 137g36.4.17.3.4 PATCH 137g36.4.17.3.5 DELETE 137g36.4.18 Resource: Notification endpoint . 138g36.4.18.1 Description 138g36.4.18.2 Resource definition . 138g36.4.18.3 Resource methods . 138g36
48、.4.18.3.1 POST . 138g36.4.18.3.2 GET . 139g36.4.18.3.3 PUT . 139g36.4.18.3.4 PATCH 139g36.4.18.3.5 DELETE 140g36.5 Data model . 140g36.5.1 Introduction. 140g36.5.2 Resource and notification data types 140g36.5.2.1 Introduction . 140g3ETSI ETSI GS NFV-SOL 005 V2.4.1 (2018-02)9 6.5.2.2 Type: LccnSubsc
49、riptionRequest . 140g36.5.2.3 Type: NsLcmOpOcc . 140g36.5.2.4 Type: LccnSubscription 142g36.5.2.5 Type: NsLcmOperationOccurrenceNotification . 142g36.5.2.6 Type: NsIdentifierCreationNotification 143g36.5.2.7 Type: NsIdentifierDeletionNotification 144g36.5.2.8 Type: NsChangeNotification. 144g36.5.2.9 Type: CreateNsRequest . 145g36.5.2.10 Type: NsInstance . 145g36.5.2.11 Type: InstantiateNsRequest. 146g36.5.2.12 Type: UpdateNsRequest 147g36.5.2.13 Type: HealNsRequest 149g36.5.2.14 Type: ScaleNsRequest 149g36.5.2.15 Type: TerminateNsRequest . 149g36.5.2.16 Type: CancelMode 150g36.