-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Description
Policy Templates are defined on a Provisioning Session in the 5GMS Application Function by the Application Provider using the Policy Templates Provisioning API on the interface at reference point M1.
When a Policy Template is first defined, or when it is subsequently updated, it is placed into a Pending state. The Policy Template cannot be used until it has entered the Ready state. The transition from the Pending state requires "System operator verification" (TS 26.512 clause 4.3.7.1) to move the Policy Template into either the Ready or the Invalid state.
In order to do this within the 5GMS Application Function, we will need a management interface for Policy Templates.
Design
To assist in the administration tasks of finding, viewing and approving or rejecting Policy Templates we need some new management API operations.
listPolicyTemplates
URL Path: {apiRoot}/5gmag-rt-management/policy-templates
HTTP Method: GET
URL query parameters:
| Parameter | Meaning |
|---|---|
| provisioning_session_ids | Comma separated list of Provisioning Session Ids. Only Policy Template Ids for matching provisioning sessions will be returned. If not provided then all provisioning session will match. |
| policy_template_ids | Comma separated list of Policy Template Ids. Only Policy Templates with a matching Id will be returned. If not provided then all Policy Templates will match. |
| states | Comma separated list of Policy Template states. Only Policy Templates in one of the listed states will match. If not provided then all states match. |
| include_template | Boolean true or false indicating whether the response should include the full Policy Template with each matching entry. If not provided, defaults to false. |
All query parameters are optional.
Request Body: No body on GET requests
Operation
This operation will list all Policy Templates that match the filter criteria of the query parameters.
Result
Will be a 200 status code response with the body containing a JSON array of objects with the following fields:
| Field name | M/C/O | Type | Meaning |
|---|---|---|---|
| provisioning_session_id | M | string | The Provisioning Session Identifier for the matched Policy Template |
| policy_template_id | M | string | The Policy Template Identifier within the Provisioning Session for the matched Policy Template |
| policy_template | C | string | The Policy Template JSON object if include_template was true in the request |
updatePolicyTemplateState
URL Path: {apiRoot}/5gmag-rt-management/policy-templates
HTTP Method: PUT
URL query parameters: None
Request Body:
A JSON array of objects with the following fields:
| Field name | M/C/O | Type | Meaning |
|---|---|---|---|
| provisioning_session_id | M | string | The Provisioning Session Id of a policy Template to update |
| policy_template_id | M | string | The Policy Template Id of a Policy Template to update |
| state | M | "ready", "invalid", "suspended" or "pending" | New to apply to the state of the Policy Template |
| reason | O | string | A human readable reason for the new state that can be reported later |
Operation
Modify the state for each Policy Template listed, storing the reason with the Policy Template if given. If any of the state changes are to or from the Ready state, then remove the ServiceAccessInformation cache(s) for the provisioning session (see #63). If the Policy Template cannot be found then the entry is ignored and reported as not found in the response body.
Result
This will be a 204 response with an empty body if there were no problems or a 200 response with content type "text/plain" and a human readable list of errors in the body.
Relevant Specifications
TS 26.512 (v17.4.0)
- Clause 4.3.7.1
Metadata
Metadata
Assignees
Labels
Type
Projects
Status