For every single of operation on the entities use the following templates and provide sample REST requests and responses. Remember that the following Uniform Contract rules must be used : Operation on Entities | Uniform API Operation | Description | Query Entities | GET Resource | GET must be used to retrieve a representation of a resource. | Create Entity | POST Resource | POST must be used to create a new resource | Partial Update of an Entity | PATCH Resource | PATCH must be used to partially update a resource | Complete Update of an Entity | PUT Resource | PUT must be used to completely update a resource identified by its resource URI | Remove an Entity | DELETE Resource | DELETE must be used to remove a resource | Execute an Action on an Entity | POST on TASK Resource | POST must be used to execute Task Resources | Other Request Methods | POST on TASK Resource | GET and POST must not be used to tunnel other request methods. |
Filtering and attribute selection rules are described in the TMF REST Design Guidelines. Notifications are also described in a subsequent section.
GET API / SLAVIOLATION / {ID}This Uniform Contract operation is used to retrieve the representation of a managed entity or a task. Note that collections can be retrieved via GET /api/SLAVIOLATION with no {ID} REQUEST | GET /api/SLAVIOLATION/{ID}/{attributeSelector}?{filtering expression} Accept: application/json | RESPONSE | 200 Content-Type: application/json
{ JSON Resource Representation } |
Example see TMF REST Design Guidelines.
PUT API/ SLAVIOLATION /{ID}This Uniform Contract operation is used to completely update the representation of a managed entity or a task. REQUEST | PUT API/SLAVIOLATION /{ID} Content-type: application/json
{ JSON Resource Representation with every attributes } | RESPONSE | 201 Content-Type: application/json
{ JSON Resource Representation with every attributes } |
Example see TMF REST Design Guidelines. PATCH API/ SLAVIOLATION /{ID}This Uniform Contract operation is used to partially update the representation of a managed entity or a task. Specify which attributes are patchable using the following table (to capture RO attributes) Attribute name | Patchable | Rule | id | N | | SLA | Y | | description | Y | | href | Y | | RelatedParty | Y | | Violation | Y | | rule | Y | | unit | Y | | referenceValue | Y | | operator | Y | | actualValue | Y | | tolerance | Y | | violationAverage | Y | | Comment | Y | | consequence | Y | | attachments | Y | |
Further document any rules that must be implemented when patching attributes.
Rule name | Rule/Pre Condition/Side Effects/Post Conditons | | | | |
REQUEST | PATCH API/ SLAVIOLATION /{ID} Content-type: application/json
{ JSON Resource Representation with every attributes } | RESPONSE | 201 Content-Type: application/json
{ JSON Resource Representation with every attributes } |
Example see TMF REST Design Guidelines.
POST API/ SLAVIOLATION /{ID}This Uniform Contract operation is used to create a managed entity or a task. ID Management : Specify the ID Management Rule POST without specifying the ID must result in the system generating the ID for the <Entity>. In a specific case, the ID can also be included in the POST (optional) Attributes required when an entity is created (and their default values if not): Attribute name | Mandatory | Default | Rule | id | N | | | SLA | N | | | description | N | | | href | N | | | RelatedParty | N | | | Violation | N | | | rule | N | | | unit | N | | | referenceValue | N | | | operator | N | | | actualValue | N | | | tolerance | N | | | violationAverage | N | | | Comment | N | | | consequence | N | | | attachments | N | | |
Further specify any rules on the creation of the entity
REQUEST | POST API/SLAVIOLATION Content-type: application/json
{ JSON Resource Representation with every mandatory attributes } | RESPONSE | 201 Content-Type: application/json
{ JSON Resource Representation with every provided and default attributes } |
Example see TMF REST Design Guidelines.
DELETE API/ SLAVIOLATION /{ID}This Uniform Contract operation is used to delete a managed entity or a task. REQUEST | DELETE API/ SLAVIOLATION /{ID} | RESPONSE | 200 |
Example see TMF REST Design Guidelines.
|