Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Policy Templates life-cycle management API #65

Open
davidjwbbc opened this issue Apr 12, 2023 · 0 comments
Open

Policy Templates life-cycle management API #65

davidjwbbc opened this issue Apr 12, 2023 · 0 comments
Labels
enhancement New feature or request feature A new high-level feature

Comments

@davidjwbbc
Copy link
Contributor

davidjwbbc commented Apr 12, 2023

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
@davidjwbbc davidjwbbc added enhancement New feature or request feature A new high-level feature labels Apr 12, 2023
@rjb1000 rjb1000 changed the title Maf: Policy Templates API Policy Templates life-cycle management API Nov 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request feature A new high-level feature
Development

No branches or pull requests

1 participant