Skip to content

Policy Templates life-cycle management API #65

@davidjwbbc

Description

@davidjwbbc

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

No one assigned

    Labels

    enhancementNew feature or requestfeatureA new high-level feature

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions