Network Functions Virtualisation (NFV) Release 3; Protocols and Data Models; RESTful protocols specification for the Policy Management Interface

DGS/NFV-SOL012ed341

General Information

Status
Not Published
Technical Committee
Current Stage
12 - Completion
Due Date
22-Nov-2020
Completion Date
26-Oct-2020
Ref Project
Standard
ETSI GS NFV-SOL 012 V3.4.1 (2020-10) - <empty>
English language
46 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


GROUP SPECIFICATION
Network Functions Virtualisation (NFV) Release 3;
Protocols and Data Models;
RESTful protocols specification for
the Policy Management Interface
Disclaimer
The present document has been produced and approved by the Network Functions Virtualisation (NFV) ETSI Industry
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.

2 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)

Reference
DGS/NFV-SOL012ed341
Keywords
API, NFV, policy management
ETSI
650 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 enregistrée à la
Sous-Préfecture de Grasse (06) N° 7803/88

Important notice
The present document can be downloaded from:
http://www.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 difference in contents between such versions and/or in print, the prevailing version of an ETSI
deliverable is the one made publicly available in PDF format at www.etsi.org/deliver.
Users of the present document should be aware that the document may be subject to revision or change 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/CommiteeSupportStaff.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 authorization of ETSI.
The copyright and the foregoing restriction extend to reproduction in all media.

© ETSI 2020.
All rights reserved.
DECT™, PLUGTESTS™, UMTS™ and the ETSI logo are trademarks of ETSI registered for the benefit of its Members.

3GPP™ and LTE™ are trademarks of ETSI registered for the benefit of its Members and
of the 3GPP Organizational Partners.
oneM2M™ logo is a trademark of ETSI registered for the benefit of its Members and
of the oneM2M Partners. ®
GSM and the GSM logo are trademarks registered and owned by the GSM Association.
ETSI
3 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)
Contents
Intellectual Property Rights . 6
Foreword . 6
Modal verbs terminology . 6
1 Scope . 7
2 References . 7
2.1 Normative references . 7
2.2 Informative references . 8
3 Definition of terms, symbols and abbreviations . 8
3.1 Terms . 8
3.2 Symbols . 8
3.3 Abbreviations . 8
4 General aspects . 8
4.1 Overview . 8
4.2 Common data types . 9
5 Policy Management interface . 9
5.1 Description . 9
5.2 API version . 9
5.3 Resource structure and method . 10
5.4 Sequence diagrams (informative) . 11
5.4.1 Flow of creating a policy . 11
5.4.2 Flow of transferring a policy. 12
5.4.3 Flow of querying/reading policies . 13
5.4.4 Flow of fetching the content of a policy . 14
5.4.5 Flow of modifying a policy . 14
5.4.6 Flow of deleting a policy . 15
5.4.7 Flow of managing subscriptions . 16
5.4.8 Flow of sending notifications. 17
5.5 Resources . 18
5.5.1 Introduction. 18
5.5.2 Resource: API versions . 18
5.5.3 Resource: Policies . 18
5.5.3.1 Description . 18
5.5.3.2 Resource definition . 18
5.5.3.3 Resource methods . 19
5.5.3.3.1 POST . 19
5.5.3.3.2 GET . 19
5.5.3.3.3 PUT . 21
5.5.3.3.4 PATCH . 21
5.5.3.3.5 DELETE . 21
5.5.4 Resource: Individual policy . 21
5.5.4.1 Description . 21
5.5.4.2 Resource definition . 21
5.5.4.3 Resource methods . 21
5.5.4.3.1 POST . 21
5.5.4.3.2 GET . 21
5.5.4.3.3 PUT . 22
5.5.4.3.4 PATCH . 22
5.5.4.3.5 DELETE . 23
5.5.5 Resource: Selected version of an individual policy . 24
5.5.5.1 Description . 24
5.5.5.2 Resource definition . 24
5.5.5.3 Resource methods . 24
5.5.5.3.1 POST . 24
5.5.5.3.2 GET . 25
ETSI
4 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)
5.5.5.3.3 PUT . 25
5.5.5.3.4 PATCH . 25
5.5.5.3.5 DELETE . 25
5.5.6 Resource: Particular version of an individual policy . 26
5.5.6.1 Description . 26
5.5.6.2 Resource definition . 26
5.5.6.3 Resource methods . 26
5.5.6.3.1 POST . 26
5.5.6.3.2 GET . 26
5.5.6.3.3 PUT . 27
5.5.6.3.4 PATCH . 28
5.5.6.3.5 DELETE . 28
5.5.7 Resource: Subscriptions . 28
5.5.7.1 Description . 28
5.5.7.2 Resource definition . 28
5.5.7.3 Resource methods . 29
5.5.7.3.1 POST . 29
5.5.7.3.2 GET . 30
5.5.7.3.3 PUT . 31
5.5.7.3.4 PATCH . 31
5.5.7.3.5 DELETE . 31
5.5.8 Resource: Individual subscription . 32
5.5.8.1 Description . 32
5.5.8.2 Resource definition . 32
5.5.8.3 Resource methods . 32
5.5.8.3.1 POST . 32
5.5.8.3.2 GET . 32
5.5.8.3.3 PUT . 33
5.5.8.3.4 PATCH . 33
5.5.8.3.5 DELETE . 33
5.5.9 Resource: Notification endpoint . 34
5.5.9.1 Description . 34
5.5.9.2 Resource definition . 34
5.5.9.3 Resource methods . 34
5.5.9.3.1 POST . 34
5.5.9.3.2 GET . 34
5.5.9.3.3 PUT . 35
5.5.9.3.4 PATCH . 35
5.5.9.3.5 DELETE . 35
5.6 Data model . 35
5.6.1 Introduction. 35
5.6.2 Resource and notification data types . 35
5.6.2.1 Introduction . 35
5.6.2.2 Type: CreatePolicyRequest . 35
5.6.2.3 Type: Policy . 37
5.6.2.4 Type: PolicyModifications . 37
5.6.2.5 Type: PolicySubscriptionRequest . 38
5.6.2.6 Type: PolicySubscription . 38
5.6.2.7 Type: PolicyChangeNotification . 39
5.6.2.8 Type: PolicyConflictNotification . 39
5.6.3 Referenced structured data types . 40
5.6.3.1 Introduction . 40
5.6.3.2 Type: PolicyNotificationsFilter . 40
5.6.4 Referenced simple data types and enumerations . 41
5.6.4.1 Introduction . 41
5.6.4.2 Simple data types . 41
5.6.4.3 Enumeration: ActivationStatus . 41
5.6.4.4 Enumeration: TransferStatus . 41
5.6.4.5 Enumeration: PolicyOperationType . 41
5.7 Policy management state model and error handling . 41
5.7.1 Introduction. 41
5.7.2 States and state transitions . 42
ETSI
5 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)
5.7.3 Handling of errors . 43
5.7.3.1 Failure during transfer of the policy content . 43
Annex A (informative): Mapping operations to protocol elements . 44
Annex B (informative): Change History . 45
History . 46

ETSI
6 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)
Intellectual Property Rights
Essential patents
IPRs essential or potentially essential to normative deliverables may have been declared to ETSI. The information
pertaining to these essential IPRs, if any, is publicly available for ETSI members and non-members, and can be found
in ETSI SR 000 314: "Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in
respect of ETSI standards", which is available from the ETSI Secretariat. Latest updates are available on the ETSI Web
server (https://ipr.etsi.org/).
Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee
can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web
server) which are, or may be, or may become, essential to the present document.
Trademarks
The present document may include trademarks and/or tradenames which are asserted and/or registered by their owners.
ETSI claims no ownership of these except for any which are indicated as being the property of ETSI, and conveys no
right to use or reproduce any trademark and/or tradename. Mention of those trademarks in the present document does
not constitute an endorsement by ETSI of products, services or organizations associated with those trademarks.
Foreword
This Group Specification (GS) has been produced by ETSI Industry Specification Group (ISG) Network Functions
Virtualisation (NFV).
Modal verbs terminology
In the present document "shall", "shall not", "should", "should not", "may", "need not", "will", "will not", "can" and
"cannot" are to be interpreted as described in clause 3.2 of the ETSI Drafting Rules (Verbal forms for the expression of
provisions).
"must" and "must not" are NOT allowed in ETSI deliverables except when used in direct citation.

ETSI
7 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)
1 Scope
The present document specifies a RESTful protocol and data model fulfilling the requirements specified in the
following Group Specifications for the policy management interfaces used over the NFV-MANO reference points:
• ETSI GS NFV-IFA 005 [1]
• ETSI GS NFV-IFA 006 [2]
• ETSI GS NFV-IFA 007 [3]
• ETSI GS NFV-IFA 008 [4]
• ETSI GS NFV-IFA 013 [5]
• ETSI GS NFV-IFA 030 [6]
A data model for policy content is out of scope of the present document.
2 References
2.1 Normative references
References are either specific (identified by date of publication and/or edition number or version number) or
non-specific. For specific references, only the cited version applies. For non-specific references, the latest version of the
referenced document (including any amendments) applies.
Referenced documents which are not found to be publicly available in the expected location might be found at
https://docbox.etsi.org/Reference.
NOTE: While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot guarantee
their long term validity.
The following referenced documents are necessary for the application of the present document.
[1] ETSI GS NFV-IFA 005: "Network Functions Virtualisation (NFV) Release 3; Management and
Orchestration; Or-Vi reference point - Interface and Information Model Specification".
[2] ETSI GS NFV-IFA 006: "Network Functions Virtualisation (NFV) Release 3; Management and
Orchestration; Vi-Vnfm reference point - Interface and Information Model Specification".
[3] ETSI GS NFV-IFA 007: "Network Functions Virtualisation (NFV) Release 3; Management and
Orchestration; Or-Vnfm reference point - Interface and Information Model Specification".
[4] ETSI GS NFV-IFA 008: "Network Functions Virtualisation (NFV) Release 3; Management and
Orchestration; Ve-Vnfm reference point - Interface and Information Model Specification".
[5] ETSI GS NFV-IFA 013: "Network Functions Virtualisation (NFV) Release 3; Management and
Orchestration; Os-Ma-Nfvo reference point - Interface and Information Model Specification".
[6] ETSI GS NFV-IFA 030: "Network Functions Virtualisation (NFV) Release 3; Management and
Orchestration; Multiple Administrative Domain Aspect Interfaces Specification".
[7] ETSI GS NFV-SOL 013: "Network Functions Virtualisation (NFV) Release 3; Protocols and Data
Models; Specification of common aspects for RESTful NFV MANO APIs".
ETSI
8 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)
2.2 Informative references
References are either specific (identified by date of publication and/or edition number or version number) or
non-specific. For specific references, only the cited version applies. For non-specific references, the latest version of the
referenced document (including any amendments) applies.
NOTE: While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot guarantee
their long term validity.
The following referenced documents are not necessary for the application of the present document but they assist the
user with regard to a particular subject area.
[i.1] ETSI GR NFV 003: "Network Functions Virtualisation (NFV); Terminology for Main Concepts in
NFV".
[i.2] ETSI GR NFV-IFA 023: "Network Functions Virtualisation (NFV); Management and
Orchestration; Report on Policy Management in MANO; Release 3".
3 Definition of terms, symbols and abbreviations
3.1 Terms
For the purposes of the present document, the terms given in ETSI GR NFV 003 [i.1] apply.
3.2 Symbols
Void.
3.3 Abbreviations
For the purposes of the present document, the abbreviations given in ETSI GR NFV 003 [i.1] and the following apply:
PF Policy Function
REST Representational State Transfer
URI Uniform Resource Identifier
4 General aspects
4.1 Overview
The present document defines the protocol and data model for the policy management interface used over the following
reference points, in the form of RESTful Application Programming Interfaces (APIs) specifications:
• Os-Ma-nfvo reference point (interface produced by the NFVO towards the OSS/BSS)
• Or-Vnfm reference point (interface produced by the VNFM towards the NFVO)
• Ve-Vnfm-em reference point (interface produced by the VNFM towards the EM)
• Or-Vi reference point (interface produced by the VIM towards the NFVO)
• Vi-Vnfm reference point (interface produced by the VIM towards the VNFM)
• Or-Or reference point (interface produced by NFVO-N towards NFVO-C)
ETSI
9 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)
The design of the protocol and data model for the policy management interface is based on the information model and
requirements defined in ETSI GS NFV-IFA 005 [1], ETSI GS NFV-IFA 006 [2], ETSI GS NFV-IFA 007 [3], ETSI
GS NFV-IFA 008 [4], ETSI GS NFV-IFA 013 [5] and ETSI GS NFV-IFA 030 [6].
In clause 4, general aspects are specified that apply to the policy management interface over different reference points.
In addition, the provisions in clauses 4, 5, 6, 8 and 9 of ETSI GS NFV-SOL 013 [7] define common aspects of RESTful
NFV-MANO APIs, and shall apply for all APIs defined in the present document.
In clause 5, the protocol and data model for the policy management interface is specified. The resource structure with
associated HTTP methods is defined and applicable flows are provided. Further, the resources and the data model are
specified in detail.
4.2 Common data types
The structured data types and simple data types defined in clause 7 of ETSI GS NFV-SOL 013 [7] shall apply in the
present document.
5 Policy Management interface
5.1 Description
This interface allows the API consumer to invoke policy management operations towards the API producer, to
subscribe to notifications regarding policy changes and any detected policy conflicts, and to retrieve API version
information.
The operations provided through this interface are:
• Transfer Policy
• Delete Policy
• Query Policy
• Activate Policy
• Deactivate Policy
• Associate Policy
• Disassociate Policy
• Subscribe
• Query Subscription Information
• Terminate Subscription
• Notify
NOTE: The association feature (i.e. the associate policy and disassociate policy operations) applies when the
Policy Function (PF) that enforces the policy is NFVO, NFVO-N or VNFM.
5.2 API version
For the policy management interface as specified in the present document, the MAJOR version field shall be 1, the
MINOR version field shall be 0 and the PATCH version field shall be 0 (see clause 9.1 of ETSI GS NFV-SOL 013 [7]
for a definition of the version fields). Consequently, the {apiMajorVersion} URI variable shall be set to "v1".
ETSI
10 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)
5.3 Resource structure and method
All resource URIs of the API shall use the base URI specification defined in clause 4.1 of ETSI GS NFV-SOL 013 [7].
The string "nfvpolicy" shall be used to represent {apiName}. All resource URIs in the clauses below are defined
relative to the above base URI.
Figure 5.3-1 shows the overall resource URI structure defined for the policy management interface.

Figure 5.3-1: Resource URI structure of the policy management interface
Table 5.3-1 lists the individual resources defined, and the applicable HTTP methods.
The API producer shall support responding to requests for all HTTP methods on the resources in table 5.3-1 that are
marked as "M" (mandatory) in the "Cat" column. The API producer shall also support the "API versions" resource as
specified in clause 9.3.2 of ETSI GS NFV-SOL 013 [7].
ETSI
11 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)
Table 5.3-1: Resources and methods overview of the policy management interface
Resource name Resource URI HTTP Method Cat Meaning
Policies /policies POST M Create a new
individual policy
resource.
GET M Query multiple
policies.
Individual policy /policies/{policyId} GET M Read an individual
policy.
PATCH M Activate/deactivate,
or modify the
associations, or
change the selected
version of an
individual policy.
DELETE M Delete an individual
policy.
Selected version of /policies/{policyId}/selected_version GET M Read the selected
an individual policy version of an
individual policy.
Particular version /policies/{policyId}/versions/{version} GET M Read a particular
of an individual version of an
policy individual policy.
PUT M Transfer the content
of a particular
version of an
individual policy.
DELETE M Delete a particular
version of an
individual policy.
Subscriptions /subscriptions POST M Subscribe to
notifications of
policy changes or
conflicts.
GET M Query multiple
subscriptions.
Individual /subscriptions/{subscriptionId} GET M Read an individual
subscription subscription
resource.
DELETE M Terminate a
subscription.
Notification (client-provided) POST See note Notify about policy
endpoint changes or conflicts.
See note.
GET See note Test the notification
endpoint. See note.
NOTE: The API producer shall support invoking the HTTP methods defined for the "Notification endpoint" resource
exposed by the API consumer. If the API consumer supports invoking the POST method on the
"Subscriptions" resource towards the API producer, it shall also support responding to the HTTP requests
defined for the "Notification endpoint" resource.

5.4 Sequence diagrams (informative)
5.4.1 Flow of creating a policy
This clause describes a sequence for creating an individual policy resource.
ETSI
12 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)

Figure 5.4.1-1: Flow of policy creation
Policy creation, as illustrated in figure 5.4.1-1, consists of the following steps.
Precondition: none.
1) The API consumer sends a POST request to the "Policies" resource, including one data structure of type
"CreatePolicyRequest" in the payload body.
2) The API producer creates an individual policy resource in CREATED/DEACTIVATED state.
3) The API producer returns a "201 Created" response to the API consumer, and includes in the payload body a
representation of the policy, and provides the URI of the newly-created individual policy resource in the
"Location" HTTP header.
4) The API producer sends a policy change notification (see clause 5.4.8) to the API consumer to indicate the
creation of the individual policy resource.
Postcondition: Upon successful completion, the individual policy resource has been created.
Error handling: In case of failure, appropriate error information is provided in the response.
5.4.2 Flow of transferring a policy
This clause describes a sequence for transferring a policy.

Figure 5.4.2-1: Flow of policy transfer
ETSI
13 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)
Policy transfer, as illustrated in figure 5.4.2-1, consists of the following steps.
Precondition: The individual policy resource has been created.
1) The API consumer sends a PUT request to the "particular version of an individual policy" resource addressed
by the appropriate policy identifier and version identifier in its resource URI, and includes a copy of the policy
content in the payload body. The version identifier in the URI is assigned by the API consumer, and cannot be
overlapped with any existing version identifiers of the same policy on the API producer.
2) The API producer creates the "particular version of an individual policy" resource.
3) If the API consumer is transferring the first version of the policy, the API producer creates the "selected
version of an individual policy" resource, sets the first version as the default selected version and changes the
transferState of the policy to TRANSFERRED.
4) The API producer returns a "201 Created" response to the API consumer.
5) The API producer sends a policy change notification (see clause 5.4.8) to the API consumer to indicate the
transfer of the policy content.
Postcondition: Upon successful completion, the content of a particular version of the policy has been transferred, and
the state of the policy is not changed.
Error handling: In case of failure, appropriate error information is provided in the response.
5.4.3 Flow of querying/reading policies
This clause describes a sequence for querying/reading policies.

Figure 5.4.3-1: Flow of policy query/read
Policy query/read, as illustrated in figure 5.4.3-1, consists of the following steps.
Precondition: One or more individual policy resources are created.
1) If the API consumer intends to query multiple policies, it sends a GET request to the "policies" resource.
2) The API producer returns a "200 OK" response to the API consumer, and includes zero or more data structures
of type "Policy" in the payload body.
3) If the API consumer intends to read information about an individual policy, it sends a GET request to the
"individual policy" resource, addressed by the appropriate policy identifier in its resource URI.
4) The API producer returns a "200 OK" response to the API consumer, and includes one data structure of type
"Policy" in the payload body.
Error handling: In case of failure, appropriate error information is provided in the response.
ETSI
14 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)
5.4.4 Flow of fetching the content of a policy
This clause describes a sequence for fetching the content of a policy.

Figure 5.4.4-1: Flow of fetching policy content
Fetching policy content, as illustrated in figure 5.4.4-1, consists of the following steps.
Precondition: The individual policy resource is created and at least one version of the policy has been transferred.
1) If the API consumer intends to fetch the content of the selected version of the policy, it sends a GET request to
the "selected version of an individual policy" resource, addressed by the appropriate policy identifier in its
resource URI.
2) The API producer returns a "200 OK" response to the API consumer, and includes a copy of the policy content
in the payload body.
3) If the API consumer intends to fetch the content of a particular version of the policy, it sends a GET request to
the "particular version of an individual policy" resource, addressed by the appropriate policy identifier and
version identifier in its resource URI.
4) The API producer returns a "200 OK" response to the API consumer, and includes a copy of the policy content
in the payload body.
Error handling: In case of failure, appropriate error information is provided in the response.
5.4.5 Flow of modifying a policy
This clause describes a sequence for modifying a policy, which includes activating/deactivating a policy, or modifying
the associations of a policy, or changing the selected version of a policy.

Figure 5.4.5-1: Flow of policy modification
ETSI
15 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)
Policy modification, as illustrated in figure 5.4.5-1, consists of the following steps.
Precondition: The individual policy resource is created and at least one version of the policy has been transferred.
1) If the API consumer intends to modify a policy, it sends a PATCH request to the "individual policy" resource,
addressed by the appropriate policy identifier in its resource URI, and includes one data structure of type
"PolicyModifications" in the payload body.
2) The API producer returns a "200 OK" response to the API consumer, and includes in the payload body a data
structure of type "PolicyModifications" to represent the applied policy modifications.
3) The API producer sends a policy change notification (see clause 5.4.8) to the API consumer to indicate the
modification of the policy.
Postcondition: Upon successful completion, the policy has been modified accordingly.
Error handling: In case of failure, appropriate error information is provided in the response.
5.4.6 Flow of deleting a policy
This clause describes a sequence for deleting a policy.

Figure 5.4.6-1: Flow of policy deletion
Policy deletion, as illustrated in figure 5.4.6-1, consists of the following steps.
Precondition: The individual policy resource to be deleted is in DEACTIVATED state, or the particular version of the
policy to be deleted is not the selected version of the individual policy.
1) If the API consumer intends to delete an individual policy, it sends a DELETE request to the "individual
policy" resource, addressed by the appropriate policy identifier in its URI.
2) The API producer deletes the individual policy resource.
3) The API producer returns a "204 No Content" response with an empty payload body to the API consumer.
4) If the API consumer intends to delete a particular version of a policy, it sends a DELETE request to the "a
particular version of an individual policy" resource, addressed by the appropriate policy identifier and version
identifier in its URI.
ETSI
16 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)
5) The API producer delete the requested "a particular version of an individual policy" resource.
6) The API producer returns a "204 No Content" response with an empty payload body to the API consumer.
7) The API producer sends a policy change notification (see clause 5.4.8) to the API consumer to indicate the
deletion of the individual policy or the deletion of the particular version of the policy.
Postcondition: Upon successful completion, the individual policy or a particular version of the policy has been deleted.
Error handling: In case of failure, appropriate error information is provided in the response.
5.4.7 Flow of managing subscriptions
This clause describes a sequence for creating, querying/reading and terminating subscriptions to notifications related to
policy management.
Figure 5.4.7-1: Flow of managing subscriptions
A) Procedure of subscription creation
The procedure of creating subscriptions consists of the following steps as illustrated in figure 5.4.7-1.
Precondition: The notification endpoint URI is enabled.
10) The API consumer sends a POST request to the "subscriptions" resource including in the payload body a data
structure of type "PolicySubscriptionRequest". This data structure contains filtering criteria and a client side
URI to which the API producer will subsequently send notifications about events that match the filter.
11) To test the notification endpoint that was registered by the API consumer as part of the subscription, the API
producer sends a GET request to the notification endpoint URI.
ETSI
17 ETSI GS NFV-SOL 012 V3.4.1 (2020-10)
12) The API consumer returns a "204 No Content" response to indicate success.
13) The API producer creates a new subscription for notifications related to policy management, and a resource
that represents this subscription.
14) The API producer returns a "201 Created" response containing a data structure of type "PolicySubscription",
representing the subscription resource created by the API producer, and provides the URI of the newly-created
resource in the "Location" HTTP header.
Postcondition: The subscription to notifications related to policy management is available to the API consumer.
Error handling: The API producer rejects a subscription if the subscription information is not valid: endpoint cannot
be reached, subscription information is malformed, etc.
B) Procedure of subscription query/read
The procedure of querying/reading subscriptions consists of the following steps, as illustrated in figure 5.4.7-1.
Precondition: Subscriptions have been created.
20) Optionally, for example when trying to recover from an error situation, the API consumer can query
information about its subscriptions by sending a GET request to the "subscriptions" resource.
21) In case of step 20), the API producer returns a "200 OK" response that contains the list of representations of all
existing subscriptions that were created by the API consumer.
22) Optionally, for example when trying to recover from an error situation, the API consumer can read
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...