Table of Contents |
---|
References
Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Assumptions
Assumption | Notes | Sign-off | |||||
---|---|---|---|---|---|---|---|
1 | Scope:
| This does not affect (bulk/batch) Read |
| ||||
2 | Default Boolean in cases CM is not available | This will support both boolean and message
| 3 | Conflict Management Interface uses FDN | Conflict Management can supports ANY format the FDN shall supportAltenate ID can support (FDNs and/or URI-FDNs) |
|
...
Issues & Decisions
Issue | Notes | Decision | |
---|---|---|---|
1 | Uplift Ericsson source code (need permission) | CPS not allowed to lift // proprietary codes, we need to use pseudo code Gergely/team to support CPS with these codes | |
2 | Implement in REST or Service Layer ? | This is currently implemented as an in the Service layer in // | |
3 | Publish public Conflict Interface as part of NCMP (Concerns new generic interface)? | NCMP shall own and document. | |
4 | Could we make this more generic to suit non-conflict-management use i.e. tbac... | Agreed to make it more generic to suit ALL the use cases | |
5 | Private properties are used to get FDN at the moment. | Will // provide us with Alternatid? Opensource does not support private property Peter Turcsanyi to revert TBC | |
6 | NCMP to Support New 3GPP sync single FDN request | CPS-1992 - When delivered, this should also support conflict management & TBC -Kolawole and Gerard -CPS-1964 | |
7 | Legacy and ongoing bulk/batch interface (dataJobs CPS-1964) are not in scope | ||
8 | Name for more generic interface | Suggestion: External Validation | |
9 | External Validation Request format | POST operation, all parameters in body, URL ? | |
10 | Enable/service name discovery | config parameter with service name/address. Blank to disable ? | |
11 | case sensitvity of parameters (payloadType, decsision etc.) | e.g. accept 'allow', 'Allow', 'ALLOW' or only acept only oen well define case senistive variation and anything else is a error scenario?! |
Requirements
Functional: new generic 'External Validation' REST interface
This interface wil NOT be implemented by CPS team except a stub for testing purposes
Interface | Requirement | Additional Information | Signoff | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | NEW | Documentation | NCMP own and clearly document interface using OpenAPI and RTD | |||||||||
2 | NEW | Input Parameters:
| Payloadtype can only be 'CM_Write' for now Payloadtype can only be 'Allow' for now Exact Payload to be defined during study but should be well defined and cannot depend on Java interface (even if it is the same now) | |||||||||
3 | NEW | Output Parameters;
Design (& Publish ?) generic conflict handling interface. Ericsson interface exist just needs to be generalized The new interface shall have the following output/input Output Shall include;
Input Shall include;
This is a New Generic conflict handling interface the name of this interface -TBD
NOTE:
| This is a New Generic interface that can support 'confllict handling'. Bearer token Shall be part of the header | 2 | Intercept CM write requests to allow Conflict Handling Check
| 3 | Report HTTP Conflict upon failure
| 4 | Configurable cmhandle default? | 5 | Performance ? |
CPS Requirements
Functional: CPS Impacts
Interface | Requirement | Additional Information | Signoff | |
---|---|---|---|---|
1 | CPS-E-05 CPS; Output
Input
| Write operations are intercepted and validated using the new external service. | ||
2 | CPS-E-05Validation | When the External validition is negative NCMP REST Response should be '409 Conflict'. The HTTP status message should contain the message and decision id from the external validation service. | NCMP interface validation shall be done before the external validation (Conflict management) |
Error Handling
Scenario | Expected Behavior | Notes | |
---|---|---|---|
1 | External validation service does not respond (in time) | configurable default answerIf Cmhandle not available | |
2 | unrecognized response from External Validation |
Characteristics
Parameter | Expectation | Notes | Signoff | |
---|---|---|---|---|
1 | ||||
2 | ||||
3 |
...
Out of Scope
- Batch (bulk) interface methods and Execute a data operation for group of cm handle ids
- Data job interface
Solution Proposal
External Validation REST Interface
URI
TBC
Input Parameters
Name | Parent | Type | Example | Notes | |
---|---|---|---|---|---|
1 | Bearer | header? | String (encoded?) | required for tracking/ (future)authentication | |
2 | payloadType | body | String | CM_Write | 'CM_Write' currently, only support value |
3 | DecisionType | body | String | Allow | 'Allow' currently, only support value |
4 | payload | body | Object | ||
5 | targetFdn | payload | String | FDN to 'CM-Handle' ?! | |
6 | resourceIdentifer | payload | String | Remainder of FDN ? | |
7 | changeRequest | payload | String | the change value |
Output Parameters
Name | Parent | Type | Example | Notes | |
---|---|---|---|---|---|
1 | decisionId | body | String | UID | |
2 | decision | body | String | Deny | currently only 'Allow' and 'Deny' are supported (case sensitive ?!) |
3 | message | body | String |