Assumptions
# | Assumption | Notes |
---|---|---|
1 | Message driven interfaces are already covered and do not require modification |
Issues & Decisions
Issue | Notes | Decision | |
---|---|---|---|
1 | CmNotificationSubscription kafka interface | Requires determination on coverage | |
2 | To split or not to split | Exact resource path required or partial match is accepted Exact match example: Incoming: "CmHandle='a/b/c/d', Resource=''" Outgoing: "CmHandleID='Ch-1', Resource='a/b/c/d'" Partial match example: Incoming: "CmHandle='a/b', Resource=''" Outgoing: "CmHandleID='Ch-1', Resource='a/b/c/d'" Append match example: Incoming: "CmHandle='a/b', Resource=''e/f" Outgoing: "CmHandleID='Ch-1', Resource='a/b/c/d/e/f'" | |
3 | Throw exception for non-exact match | Throw CmHandleNotFound when incoming FDN does not contain perfect resource match |
Interfaces
Interface | Affected | Requirement | Additional Information | Sign-off | |
---|---|---|---|---|---|
1 | CPS-E-05 | YES | URI | ||
2 | CPS-E-08.e | YES | URI | ||
3 | CPS-E-09.e | YES* | New Requirement for Montreal | *Should be included as part of requirements/planning for interface implementation | |
4 | CPS-E-10 | YES* | Not yet implemented | *Should be included as part of requirements/planning for interface implementation | |
5 | CPS-E-11 | YES* | Not yet implemented | *Should be included as part of requirements/planning for interface implementation | |
6 | CPS-NCMP-I-01 | ||||
7 | DMI-I-01 | NO | No Changes - Alternate ID will be converted to Cmhandle ID when this interface is reached | ||
8 | Application Management Interfaces | NO | Does not communicate or interact with cmHandles |
Endpoints
CPS-E-05
URI | Rest Method | Description | Notes | Decision | |
---|---|---|---|---|---|
1 | /v1/ch/{cm-handle}/data/ds/{datastore-name} | DELETE | Delete resource data from pass-through running for a given cm handle | Alternate ID in URI | |
2 | /v1/ch/{cm-handle}/data/ds/{datastore-name} | GET | Get resource data for given cm handle | Alternate ID in URI | |
3 | /v1/ch/{cm-handle}/data/ds/{datastore-name} | PATCH | Patch resource data from pass-through running for the given cm handle | Alternate ID in URI | |
4 | /v1/ch/{cm-handle}/data/ds/{datastore-name} | POST | create resource data from pass-through running for given cm handle | Alternate ID in URI | |
5 | /v1/ch/{cm-handle}/data/ds/{datastore-name} | PUT | Update resource data from pass-through running for the given cm handle | Alternate ID in URI | |
6 | /v1/data | POST | Execute a data operation for group of cm handle ids | Alternate ID as part of target IDs | |
7 | /v1/ch/{cm-handle}/data/ds/{datastore-name}/query | GET | Query resource data for a given cm handle | Alternate ID in URI | |
8 | /v1/ch/{cm-handle}/modules | GET | fetch all module references (name and revision) for a given cm handle | Alternate ID in URI | |
9 | /v1/ch/{cm-handle}/modules/definitions | GET | Get module definitions (module name, revision, yang resource) with options to filter on module name and revision | Alternate ID in URI | |
10 | /v1/ch/searches | POST | Execute cm handle query search and return a list of cm handle details. | Not applicable in post, Alternate ID would be contained in return | |
11 | /v1/ch/{cm-handle} | GET | Retrieve CM handle details and properties by cm handle id | Alternate ID in URI | |
12 | /v1/ch/{cm-handle}/properties | GET | Get CM handle properties by cm handle id | Alternate ID in URI | |
13 | /v1/ch/id-searches | POST | Execute cm handle query search and return a list of cm handle ids. | Not applicable in post or return | |
14 | /v1/ch/{cm-handle}/data-sync | PUT | Set the data sync enabled flag to true or false for a specified Cm-Handle. This will in turn set the data sync state to UNSYNCHRONIZED and NONE_REQUESTED respectfully. | Alternate ID in URI |
CPS-E-08.e
URI | Rest Method | Description | Notes | Decision | |
---|---|---|---|---|---|
1 | /ncmp/v1/ch/{cm-handle}/state | GET | Get CM handle state by cm handle id | Alternate ID in URI |
CPS-E-09.e - New Requirement for Montreal
URI | Rest Method | Description | Notes | Decision | |
---|---|---|---|---|---|
1 |
CPS-E-10 - Not Yet Implemented
URI | Rest Method | Description | Notes | Decision | |
---|---|---|---|---|---|
1 |
CPS-E-11 - Not Yet Implemented
URI | Rest Method | Description | Notes | Decision | |
---|---|---|---|---|---|
1 |
CPS-NCMP-I-01
URI | Rest Method | Description | Notes | Decision | |
---|---|---|---|---|---|
1 | /ncmpInventory/v1/ch | POST | Register a DMI Plugin with any new, updated or removed CM Handles | ||
2 | /ncmpInventory/v1/ch/cmHandles | GET | Get all cm handle IDs for a registered DMI plugin | ||
3 | /ncmpInventory/v1/ch/searches | POST | Query and get CMHandleIds for additional properties, public properties and registered DMI plugin (DMI plugin, DMI data plugin, DMI model plugin). |
DMI-I-01
URI | Rest Method | Description | Notes | Decision | |
---|---|---|---|---|---|
1 | /dmi/v1/ch/{cmHandle}/modules | POST | Get all modules for given cm handle | Internal - not applicable | |
2 | /dmi/v1/ch/{cmHandle}/moduleResources | POST | Retrieve module resources for one or more modules | Internal - not applicable | |
3 | /dmi/v1/inventory/cmHandles | POST | register given list of cm handles (internal use only) | Internal - not applicable | |
4 | /dmi/v1/ch/{cmHandle}/data/ds/{datastore-name} | POST | Get resource data from passthrough operational or running for a cm handle | Internal - not applicable | |
5 | /dmi/v1/data | POST | Execute a data operation for group of cm handle ids by supplied operation details | Internal - not applicable |
Application Management Interfaces
URI | Rest Method | Description | Notes | Decision | |
---|---|---|---|---|---|
1 | /manage/health/db | GET | provides information on database type and connectivity state | ||
2 | /manage/health/diskSpace | GET | provides information on current disk space usage and threshold configured | ||
3 | /manage/health/ping | GET | ability to be pinged (always UP) | ||
4 | /manage/health/readiness | GET | indicates the application completed the initialization stage and ready to accept the requests | ||
5 | /manage/health/liveness | GET | indicates the application is up and running, no need to restart the container | ||
6 | /manage/loggers | GET | provides information about all the loggers configured | ||
7 | /manage/loggers/{logger-id} | GET | retrieves log level settings for requested logger identifier | ||
8 | /manage/loggers/{logger-id} | POST | updates or resets the log level settings for requested logger identifier |
Proposed User Stories
- Update Cmhandle schema to include Alternate ID
- Changes must test for create and update case
- Parse request to extract Alternate ID
- Compare Alternate ID data to CmHandle data and extract match from database
- Pass CmHandle onto existing methods to perform desired requests